live/sync_webhook.py diffs copybot.paper.json's wallets against the
push-mode webhook's address list (Notify API) and patches add/remove;
wired into deploy_bot.sh. Needs alchemy_notify_token in the gitignored
config.json (dashboard -> Webhooks -> Auth token); skips politely
without it — the 5-min backstop poll covers the gap at poll-speed lag.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The copybot service's custom start command was 'bash start.sh' — a relic
of the scratchpad folder it was first deployed from; builds from the repo
root have no root start.sh, so image rebuilds crashed and Railway kept
serving the years-old image (which is also why start.sh changes never
took effect via redeploy). railway.json now pins the start command;
nixpacks.toml's default no longer points at the retired webhook_receiver.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Setting ALCHEMY_SIGNING_KEY on the worker switches start.sh to webhook
mode: instant copies on POST /alchemy (signature-verified), a 60s
housekeeping heartbeat (settle, feed, summary), and a full backstop poll
every 5 min so a dropped push costs minutes, not a silent miss. Webhook
mode now baselines at boot and publishes an initial feed like poll mode.
No signing key -> classic 60s poll, unchanged.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Kruto2027 'Chidekh vs. Janvier O/U 22.5', sold 2026-07-05 11:48 — ten
hours before the sold-leg ledger existed. Reconstructed from the feed's
git history (realized/cash deltas between commits 34476dc and 2ef0e19,
the only open position in that window): net proceeds $53.15, whole-bet
pnl +$11.84.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Operating cheat-sheet (add/remove live wallets, backtest, promote, logs,
deploys, digest, real-money); 8am schedule; follow set points at
copybot.paper.json as source of truth; diagram gains trust.py + rolling
replay; sizing docs reflect the their-bet ceiling (cap/reserve retired);
auto p80 floors; gotcha 9 (endDate rewrites + invalidate deletion);
research numbers updated to the trusted-row era.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>