settings-4-root-applies
Root applies instance update settings (settings spec rev 11, §4; settings plan 4). This is the only settings plan that changes what a box installs. A route with no settings still adopts exactly as today.
What it does:
release.Targetdecides each instance's build in §4.3's order: failure records, pin, resolved "Update now", held (manual or major), then today's adoption. Root's adoption pass stages that build with §4.1's evidence: the signed head, a digest-bound promotion record, or this box's own verified staged copy. Anything else is refused.- Root alone resolves "Update now" into /opt/carlos/consumed/<host> before staging. It does this inside a fence that a move's cut also takes.
- The agent writes build-state.json beside every lease's lock.json before any process runs a build against the data, with CARLOS_SWAP on or off. That covers wakes (flat, nested, claimed), seeds, workers, sidecars, swaps, planned boots and fallbacks, recycles and moves probes. Each wake records one staged identity and runs that file. A failed write refuses the spawn and is never a build failure.
- Held wakes never run a stale link: root and the wake share one pure decision. Moves carry the build state and the request record (sealed). Retention protects pins and the build-state builds boxes report, and prunes nothing on incomplete information. Boxes report
update_settingsprotocol 1, which lifts plan 3's console refusal.
Review and status: each task was reviewed. The invariant simulation passes 3000 seeds and kills every non-equivalent mutant (M1-M12). Astra via codex rejected rounds 1 and 2 and accepted round 3 (docs/superpowers/plans/CODEX-FINDINGS-SETTINGS-IMPL-4.md). Paul approved the 10 settings.box. strings unchanged (2026-10-07-instance-settings-4-copy.json). The branch is merged with origin/main through 39986908, and CI is green at 590b8aed.
Roll:
- Update every box before turning any setting on; the console enforces this.
- Turn retention off before rolling any box back below this release.
- Phase 1 moves need every box on this release first, because the seal gains a state field.
- Before switching on claims, replica keys (O8) or overlap containment, see the parked obligations R-CONSUMED-CENSUS, R-O8-KEYGATE(-2) and R-PARK-UMASK.
Commits
46
Discussions
0
0 open
Tasks
0/0
done
Discussions
- No discussions on this branch yet.
Tasks
- No tasks yet.
Activity
- claude agent, operated by paul@keymail.dev pushed 590b8aed9 Merge origin/main into settings-4-root-applies
- claude agent, operated by paul@keymail.dev pushed baa714979 settings-4: hooks for paths main added (zdd-flag-readiness)
- claude agent, operated by paul@keymail.dev pushed e97e19545 Merge origin/main into settings-4-root-applies
- claude agent, operated by paul@keymail.dev pushed 9d7cdee25 settings-4: apply Paul's approved copy for the settings.box strings
- claude agent, operated by paul@keymail.dev pushed 33fc55f79 Merge origin/main into settings-4-root-applies
- claude agent, operated by paul@keymail.dev pushed 17347a73c Merge origin/main into settings-4-root-applies
- claude agent, operated by paul@keymail.dev pushed 7bacb9cf1 settings-4: classify this branch's sites for the record-write census and the moves copy scan
- claude agent, operated by paul@keymail.dev pushed e69c90b13 Merge origin/main into settings-4-root-applies
- claude agent, operated by paul@keymail.dev pushed ad89e04c6 settings-4: Astra round 3 findings (ACCEPT; one nonblocking P2), unedited
- claude agent, operated by paul@keymail.dev pushed 7630dd73b settings-4: the scripted disagreement gates M9 again
- claude agent, operated by paul@keymail.dev pushed a9d15b440 settings-4: simulation models the carry fence (Astra round 2)
- claude agent, operated by paul@keymail.dev pushed b56409e7f settings-4: Astra round 2 fixes: the planner's recovery records; root's publication is fenced against a cut
- claude agent, operated by paul@keymail.dev pushed bf596e11e settings-4: Astra round 2 findings (REJECT: 6/7 closed, 2 new P1), unedited
- claude agent, operated by paul@keymail.dev pushed b9057caf4 settings-4: simulation covers the wake check and graceful-move request carry
- claude agent, operated by paul@keymail.dev pushed 34406a1b7 settings-4: Astra round 1 fixes
- claude agent, operated by paul@keymail.dev pushed b61595a49 settings-4: Astra round 1 findings (REJECT, 6 P1, 1 P2), unedited
- claude agent, operated by paul@keymail.dev pushed 087e3380d settings-4: hooks for exec and park paths main added
- claude agent, operated by paul@keymail.dev pushed bb0486c2b Merge origin/main into settings-4-root-applies
- claude agent, operated by paul@keymail.dev pushed d02b043ae settings-4 task 12a: the final-wave fixes queued by the task reviews
- claude agent, operated by paul@keymail.dev pushed 69c72fe85 settings-4 task 11: fix round 1: the mirror matches production; the resolution order is gated
- claude agent, operated by paul@keymail.dev pushed 72d237244 settings-4 task 11: request lifecycle simulation; 3000 seeds clean, M1-M7 and M8' each caught
- claude agent, operated by paul@keymail.dev pushed 5b8abb22d settings-4 task 11a: a request's resolution in the build state outranks a box's own file
- claude agent, operated by paul@keymail.dev pushed d1bd8d089 settings-4 task 10: boxes report that they enforce update settings, and why each instance runs what it does
- claude agent, operated by paul@keymail.dev pushed 27939ab1b settings-4 task 9: fix round 1: unit rows never stop the sweep; sole mode and fleet reports; rotate the refresh
- claude agent, operated by paul@keymail.dev pushed 3a2b75f2b settings-4 task 9: boxes report build-state builds; retention protects them and pins, and fails closed
- claude agent, operated by paul@keymail.dev pushed f7c9259cb settings-4 task 8b: a holder location's build state is live state, never parked or misclassified
- claude agent, operated by paul@keymail.dev pushed db9f9ea2f settings-4 task 8: fix round 1: the build state is sealed; abort and return clean up
- claude agent, operated by paul@keymail.dev pushed a1bb791e3 settings-4 task 8: moves carry the build state; a landed move's staging is read as the instance's state
- claude agent, operated by paul@keymail.dev pushed 9293c114a settings-4 task 7: fix round 1: a retained copy nudges root; failed and unread holds never run the link
- claude agent, operated by paul@keymail.dev pushed ab13192bb settings-4 task 7: a held instance's wake never runs a stale build