Phase 6 — mainnet, deployed 25 September 2026 · item 6.32
Address books can no longer go unrecorded, and both staking pools are watched
B: address books.
- The gap.
deployments/.gitignoreignored every*.json, so that a test-written fake book can't be committed. The side effect: a new mainnet book stayed invisible togit statusuntil someone rememberedgit add -f. - Found while doing it. Three history books (
4663.1,.2,.3), each the only record of retired mainnet contracts, had never been committed, althoughhistory/README.mddescribed them. They are committed now. - The rule now. Mainnet books (
4663.json,4663.*.json,history/4663.*.json) are never ignored. No test writes one: the only suite that switches to chain 4663 calls the commit guard and never runs the script. Test books stay ignored;git check-ignoreconfirms46630.jsonand31337.jsonare ignored and4663.jsonis not. - The health check covers every side book. Every
4663.<x>.jsonthe France host runs (insurance, CERT staking, and any future K2 book) is compared, address by address, with the copy on GitHub. A book the host has but GitHub doesn't (a 404) is reported as "deployed but never committed".
C: staking alerts, read from the chain every 5 minutes, token addresses included:
- CERT staking insolvent: the pool holds less CERT than is staked.
- Reward stream underfunded: the pool holds less USDG than it still has to stream plus what it carries.
- A cap 90% full: CERT staking (10,000,000 CERT) or insurance (10,000 USDG). Raising either means a new pool.
- Not alerted: a stream that has simply ended. Rewards are funded by hand until K2, so "nothing streaming" is normal. (The insurance pool's
totalAssets()is its own balance, so a solvency check there would be meaningless; the pending-draw alert from 6.29 stays.)
Proven three ways on the France host.
- Live: clean.
- A side book with a changed address, and one missing from GitHub: both reported.
- Faked chain answers (staked above what is held, a stream above the balance, caps nearly full): all four alerts fired.
Evidence



On GitHub
973a7242026-09-27feat(ops): mainnet address books can't go unrecorded (not ignored, three missing history books committed, every side book drift-checked); staking solvency and cap alerts
The change itself

UseCert delivery record. Unlisted: this page is reachable only by its link. Generated from demo/ROADMAP.md at 74853682f715.