design-console-release-defences
Defences after the 2026-10-06 console outage (v0.24.2's console artifact was the carlos CLI). Built: D1, where a box checks a named unit comes up after adoption, rolls back the console's process group, refuses the build until promote --retry, and alerts plus shows it in status --live. D2, where ship and adoption refuse a different Go program without --program-change, with a per-route program history for rollback. D3, an opt-in dev-proof requirement: dev mints a signed proof after 15 min healthy, flagship adopts only proven bytes or builds in its own healthy history, the policy file is /etc/carlos/proof-policy.json with closed-on-error semantics, break glass by removing it. Each plan passed per-task reviews and an Astra final review and re-review. D4 scripts are carloku-infrastructure#6 and platform-infrastructure#40. Held for Paul: copy review (README notes, docs/site/cli.md carlos proof, operator wording), squash merge, release, rollout. Rulings and open items: discussion 252.
Discussions 1 open
Tasks 7/10 done
- Spec rev 1 written and pushed Done
- Astra review round 1 Done
- Answer Astra findings (rev 2) Done
- Paul reviews the spec Done
- Implementation plans (4 of 4) Done
Activity
- claude agent, operated by paul@keymail.dev pushed f66b2f11b Merge remote-tracking branch 'origin/main' into design-console-release-defences
- claude agent, operated by paul@keymail.dev pushed c6dfb4a74 release: merge fixes — D1 refusals survive authority loss; one authority selection per sibling
- claude agent, operated by paul@keymail.dev pushed 0d8bad7da Merge origin/main into design-console-release-defences
- task updated: Paul reviews the spec
- task updated: Build plans 1-3 (D1, D2, D3) with per-task + Astra final reviews
- task updated: Plan 4: roll-console PRs (carloku-infrastructure#6, platform-infrastructure#40)
- task updated: Implementation plans (4 of 4)
- claude agent, operated by paul@keymail.dev added task Build plans 1-3 (D1, D2, D3) with per-task + Astra final reviews
- claude agent, operated by paul@keymail.dev added task Plan 4: roll-console PRs (carloku-infrastructure#6, platform-infrastructure#40)
- claude agent, operated by paul@keymail.dev added task Paul: copy review (README notes, cli.md proof section, operator wording)
- claude agent, operated by paul@keymail.dev added task Paul: squash merge + platform release
- claude agent, operated by paul@keymail.dev added task Rollout per plan 4 Task 5 (Paul confirms each production step)
- claude agent, operated by paul@keymail.dev replied to Console release defences: rulings and open items from the overnight build
- claude agent, operated by paul@keymail.dev opened Console release defences: rulings and open items from the overnight build
- claude agent, operated by paul@keymail.dev pushed e7eba1382 main: restore the economics usage line's alignment
- claude agent, operated by paul@keymail.dev pushed ba4bf1cf0 release: test that bind asks the healthy history about the staged bytes, not the manifest
- claude agent, operated by paul@keymail.dev pushed 96e05e4ec docs: carlos proof in the CLI page (H6, needs Paul's copy review)
- claude agent, operated by paul@keymail.dev pushed 303cc1391 host: the mint asker re-hashes a staged file that changed, and caches proofs per proof object (H5)
- claude agent, operated by paul@keymail.dev pushed 58dd5ba19 host: the root pass records healthy live builds before release.Pass, mints after (H4)
- claude agent, operated by paul@keymail.dev pushed e97a50688 release: a not-proven refusal stands only while the box still requires a proof (H3)
- claude agent, operated by paul@keymail.dev pushed 7e032fede release: a dangling proof policy symlink is an error, not D3 off (H2)
- claude agent, operated by paul@keymail.dev pushed 1358ba34d release: a proof policy with any data after the object is an error (H1)
- claude agent, operated by paul@keymail.dev pushed 7b2cad1b6 carlos proof: keygen on the proving box, get and put to carry a proof
- claude agent, operated by paul@keymail.dev pushed 1b6339e39 status: show a host waiting for a dev proof in status --live
- claude agent, operated by paul@keymail.dev pushed 51f641a73 host: an unstaged route waiting for its proof keeps the 30 s miss cadence
- claude agent, operated by paul@keymail.dev pushed 13400c917 host: the agent shares one proof gate, keeps a waiting route in the fast loop, and asks root to mint
- claude agent, operated by paul@keymail.dev pushed d70e93c96 host: the root pass mints dev proofs and records healthy builds (console defences D3)
- claude agent, operated by paul@keymail.dev pushed a45afef89 host: establish a unit's running build from its bytes, and record settled builds as healthy
- claude agent, operated by paul@keymail.dev pushed 8c0d72013 release: adoptHost requires a dev proof for listed apps, checked before staging and on the staged bytes
- claude agent, operated by paul@keymail.dev pushed 15779f7e0 release: the healthy history a requiring box adopts from without a proof