M5 · Launch (T50–T52)
Exit gate: a full cycle rehearsed on a mainnet fork with no blocking incident, every alert fired once on purpose, and the launch checklist signed.
T50 · Alerts and observability#
Goal Every alert of the spec fires to the team Telegram, plus a simple ops dashboard.
Depends on T04, T22, T31, T32
Read first securite-et-observabilite.md (Observabilité et alertes)
Build apps/workers/src/jobs/alerts.check.ts, apps/admin/app/ops/page.tsx, Sentry wiring in api/workers/web
Steps
- Implement each alert of the table: tracking lag > 5 min (live token), hot wallet out of bounds, failed buyback tx, agent budget 80% / 100%, step late > 1h, Surplus balance < 7 days, validation pending > 2h.
- De-duplicate (same alert key at most once per 30 min).
- Ops page: operations in progress, steps, spend vs caps, wallet balances, last alerts.
Done when
- Each alert has a test that triggers it from fixture state
- Manual drill on staging: each alert received once in the team Telegram (screenshots in PR)
T51 · Full-cycle rehearsal on a mainnet fork#
Goal One script that runs a whole cycle end to end on a fork, with accelerated time.
Depends on all previous tickets
Read first plan-de-developpement.md (M5), use-cases.md, all parcours-*.md
Build scripts/rehearsal.ts, infra/fork/ (anvil fork config), docs/rehearsal-report.md template
Steps
- Start anvil forked from mainnet at a recent block; deploy BuybackBurner; fund test wallets.
- Submit 5 real dead tokens (addresses provided by the team), run analysis, publish a cycle, cast votes from test emails, close, run the operation with time acceleration (LLM calls real or recorded, flag
REHEARSAL_LLM=real|recorded), execute all slices, run the verdict. - Produce a report: timings per step, LLM cost, slices, ledger vs balances diff (must be 0), alerts fired.
Done when
-
pnpm rehearsalcompletes end to end - Report shows ledger diff = 0 wei and no blocking error
- Every use case UC-01 to UC-21 is ticked in the report as covered or explicitly not applicable
T52 · Launch checklist#
Goal Production ready, reviewed and switched on.
Depends on T51
Read first token-vivra-et-tresorerie.md (Paramètres de lancement), questions-ouvertes.md, plan-de-developpement.md
Steps
- Open Pons questions answered and reflected in code (claim signature, multi-token fee recipient, weekly CTO cadence).
- Production env: secrets in the manager, hot wallets funded within bounds, BuybackBurner deployed and verified on mainnet with production caps,
CHAIN_ENV=mainnet. - Domains, DNS, email sender (SPF/DKIM), X accounts connected, Telegram bot added to the team chat.
validation_required = true; emergency stop tested on production (pause a fake operation).- Launch sequence: $VIVRA launch on Pons with
creatorTaxBps=300andcreatorFeeRecipient=Collecte; publish the 5 dossiers; open the vote.
Done when
- Checklist file
docs/launch-checklist.mdwith every item ticked, owner and date - First production cycle published