live app goes push-mode: own Alchemy webhook + health check + watchdog
60s poll's ~39s avg detection lag is slippage the copy edge pays; push is ~3s (paper-measured). fly.live.toml gains http_service + /health check (self-heal); start.sh live role switches on ALCHEMY_SIGNING_KEY like paper (poll fallback intact; push mode keeps the 60s heartbeat + 5min backstop poll). sync_webhook.py syncs BOTH webhooks (alchemy_webhook_id_live). watchdog.yml probes both apps; a disarmed live app paging is expected. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+10
-2
@@ -65,9 +65,17 @@ git config user.name "copybot[bot]"
|
||||
git config user.email "copybot@users.noreply.github.com"
|
||||
|
||||
# live role, ARMED: own config (committed template + env secrets), own state
|
||||
# file, own feed/fills (config paths), ALWAYS poll mode — the Alchemy push
|
||||
# webhook stays pointed at the paper app (LIVE_ROLLOUT Phase 3.3).
|
||||
# file, own feed/fills (config paths). ALCHEMY_SIGNING_KEY set -> PUSH mode
|
||||
# (the live app's OWN webhook, wired 2026-07-10 — ~3s detection vs the 60s
|
||||
# poll's ~39s avg; 60s heartbeat + 5min backstop poll are built in). Without
|
||||
# the key -> classic poll, same as before.
|
||||
if [ "${COPYBOT_ROLE:-paper}" = "live" ]; then
|
||||
if [ -n "${ALCHEMY_SIGNING_KEY:-}" ]; then
|
||||
exec python3 copybot.py \
|
||||
--config config.live.example.json \
|
||||
--state copybot_state.live.json \
|
||||
--live
|
||||
fi
|
||||
exec python3 copybot.py \
|
||||
--config config.live.example.json \
|
||||
--state copybot_state.live.json \
|
||||
|
||||
Reference in New Issue
Block a user