self-serve-moves-3
Human
Plan 3 of self-serve region moves (holding page, alias rule, probe mode), stacked on plan 2's tip b4f4cfb8 on self-serve-moves-2; built task by task with per-task review and an Astra whole-branch review; inert behind CARLOSSELFSERVE_MOVES and the lifetimes cutover.
Commits
100
Files changed
332
+68095 −2121
Discussions
2
2 open
Tasks
9/10
done
Discussions 2 open
Tasks 9/10 done
- Plan 3 ledger: .superpowers/sdd/2026-10-22-self-serve-moves-3-holding-page/progress.md (umbrella) Done
- Task 1: alias provenance, the writer's holding entries, the view's snapshots, census overlay Done
- Task 2: candidates, the ranking, the page, the local edge Done
- Task 3: the ranking's witnesses (differential + property tests) Done
- Task 5: freshness (holding entries expire from the fetch clock) Done
Activity
- claude agent, operated by paul@keymail.dev replied to Plan 4 (cleanup) rev 4: five decisions for Paul before it is built
- claude agent, operated by paul@keymail.dev replied to Plan 3 (holding page, alias rule, probe mode) is built and Astra-READY: rulings owed
- claude agent, operated by paul@keymail.dev replied to Plan 4 (cleanup) rev 4: five decisions for Paul before it is built
- claude agent, operated by paul@keymail.dev pushed 84917d06e plan 4 rev 12: the e2e wake fixture carries the real mirror and a fake instance; a path-aware trust seam with a portable declaration; the first-arming witnesses assert the waiting rule
- claude agent, operated by paul@keymail.dev pushed ba9d25e1b plan 4 rev 11: every lock body our code writes carries a per-attempt random write_id so no conditional lock write can ever find a recurring ETag; the agent arms only once root's gate exists; the e2e fixtures get their own task
- claude agent, operated by paul@keymail.dev replied to Plan 4 (cleanup) rev 4: five decisions for Paul before it is built
- claude agent, operated by paul@keymail.dev pushed 8805b9cd7 plan 4 rev 10: the unmark never reconstructs an earlier lock body (a cleanups counter in the lifted tombstone; the unmark always writes); the ungate verb is gone and the arming markers are permanent
- claude agent, operated by paul@keymail.dev replied to Plan 4 (cleanup) rev 4: five decisions for Paul before it is built
- claude agent, operated by paul@keymail.dev pushed 2662840eb plan 4 rev 9: cleanup requires a non-root agent; the arming identity is a persisted nonce; no console rollback across the plan 4 boundary (the drain stays as an operator tool; the clean-shutdown handler and the settlement wait are gone); an unarmed box never writes the reservation table
- claude agent, operated by paul@keymail.dev replied to Plan 4 (cleanup) rev 4: five decisions for Paul before it is built
- claude agent, operated by paul@keymail.dev replied to Plan 4 (cleanup) rev 4: five decisions for Paul before it is built
- claude agent, operated by paul@keymail.dev pushed 1d2847667 plan 4 rev 8: first arming waits for every pre-arming root pass to end; recovery reloads the allocation under its locks; table writes with one attempt, resent until answered, and a 20-minute settlement wait before a drain completes; a finite retry for cleaning contention; the console gets a clean shutdown
- claude agent, operated by paul@keymail.dev pushed f28dee2b2 plan 4 rev 7: the cleaning mark never expires while a delete is in flight; an armed adopt pass publishes nothing without the root pass lock; a drain barrier shared with every admitter; acquisitions only against epoch-bearing bodies; the inventoried latest version must be current
- claude agent, operated by paul@keymail.dev replied to Plan 4 (cleanup) rev 4: five decisions for Paul before it is built
- claude agent, operated by paul@keymail.dev pushed 476e0f235 plan 4 rev 6: deletes by version id from a full-version inventory; root's step inside the adopt pass under a root-only pass lock; rollback as a drain procedure; log lookup by id; placement registers before acquiring
- claude agent, operated by paul@keymail.dev replied to Plan 4 (cleanup) rev 4: five decisions for Paul before it is built
- claude agent, operated by paul@keymail.dev replied to Plan 4 (cleanup) rev 4: five decisions for Paul before it is built
- claude agent, operated by paul@keymail.dev pushed 0840937f6 plan 4 rev 5: conditional deletes on the inventoried ETag with a quiet period and a repair pass; active.json never deleted and never repeats a body; no rename-aside, no root removal on the writable layout; lifecycle-wide supersession; untracked lifetimes get no cleanup; fifteen right-sized tasks incl. the CLI log
- claude agent, operated by paul@keymail.dev opened Plan 4 (cleanup) rev 4: five decisions for Paul before it is built
- claude agent, operated by paul@keymail.dev pushed 4e8b62e5b plan 4 rev 4: cleanup excludes admitted work by marking the lifted tombstone; root authority through a host-level callback and root-owned acknowledgements; hostname keys, placement intent, durable release and publication obligations
- claude agent, operated by paul@keymail.dev opened Plan 3 (holding page, alias rule, probe mode) is built and Astra-READY: rulings owed
- task updated: Plan 3 ledger: .superpowers/sdd/2026-10-22-self-serve-moves-3-holding-page/progress.md (umbrella)
- task updated: Paul: census PROPOSED-self-serve-moves-3 + copy rows (the holding page sentences)
- task updated: Astra whole-branch review of plan 3: READY after three rounds (F1 DNS-only hold refresh, F2 one snapshot everywhere, F3, the watch generation mismatch)
- claude agent, operated by paul@keymail.dev pushed 0c33ee545 census: Task 2 review 2 round re-pins (rev3=PROPOSED-self-serve-moves-3)
- claude agent, operated by paul@keymail.dev pushed b2c76eff4 edge: one registry listing per watch tick builds both the table and the holds; every table-and-holds reader reads the paired snapshot (Task 2 review 2 round)
- task updated: Task 4: the decoder inventory and its discovery check
- claude agent, operated by paul@keymail.dev pushed 5f8a63f60 edges: Task 4 fix round 1: a three-way steering read, the home map's field use mapped to its candidate test, untagged and case-folded hosts fields flagged
- claude agent, operated by paul@keymail.dev pushed 96e01f856 census: Task 2 final fix round re-pins (rev3=PROPOSED-self-serve-moves-3)
- claude agent, operated by paul@keymail.dev pushed a0f6cf559 edge: the watch re-bases local holds on an alias's DNS stamp, Reload publishes its table and holds as one snapshot, ExactHome refuses a literal catch-all (Task 2 final fix round)