← Branches
self-serve-moves-4
Commits
-
2de3acd77
lease: the one-budget witness runs a 2 s budget and 500 ms attempts beside its 1 s read, and asserts that no resend reached the store
claude agent, operated by paul@keymail.dev
-
3c6eb6ac3
moves: Task 2a review fixes: the frozen plan 3 parser holds its own literals and pins the host-key move it reads as a box, a refused bootstrap or normalisation names its cause, and the ownership test fails instead of hanging
claude agent, operated by paul@keymail.dev
-
74526ffc0
lease: UnmarkCleaning answers Unmarked, Settled or Abstained beside its error and MarkCleaning's refusal names the lock it found; the single-attempt test proves the retryer is off and the audit requires it; one 10 s budget per lock operation, reads included
claude agent, operated by paul@keymail.dev
-
f3265f587
census: Task 3's cleaning mark in the plan 4 overlay, and S3Store.PutOnce re-pinned for the rejection ruling
claude agent, operated by paul@keymail.dev
-
45e0b220c
moves: a table write the server rejects (a non-CAS 4xx) is an answer: it failed, is never resent, and its owner removes its registration
claude agent, operated by paul@keymail.dev
-
2aefe5cce
lease: the cleaning mark, a state with no expiry written only over this move's lifted tombstone and lifted back with a raised cleanup count, every lock write of ours carrying its own write id so that no earlier lock body recurs, its lock writes single attempts sent again until answered, refused by every acquirer whatever its age, and answered to a wake with a 30-second retry; every hibernate-prefix site inventoried
claude agent, operated by paul@keymail.dev
-
8c689f85c
census: Task 1's fix round 2 re-pins the internal/host and internal/offlinecleanup envelopes in the plan 4 overlay
claude agent, operated by paul@keymail.dev
-
3ff5cd55e
census: the plan 4 overlay, PROPOSED-self-serve-moves-4: Task 1's gone evidence and Task 2a's table frozen accepted-legacy, and PutOnce a record-write census method
claude agent, operated by paul@keymail.dev
-
8c258e1b7
moves: a box with no hibernate region still records its cleanup obligation, and one with no versioned store never holds gone back
claude agent, operated by paul@keymail.dev
-
6c6901672
moves: the table's resend schedule seam is audited, and the table's files are in the copy scan
claude agent, operated by paul@keymail.dev
-
3c789420f
release: S3Store.Put stays byte for byte as reviewed; PutOnce restates its body with the per-call NopRetryer
claude agent, operated by paul@keymail.dev
-
4312cffe4
moves: a standing condition never holds gone back; unexpected and unreadable local paths are left, and a gone without a usable seal, valid evidence or a movable damaged record pages once and records nothing
claude agent, operated by paul@keymail.dev
-
8db992d0b
moves: reservation kinds for creates and placements, and a table that is never deleted, never repeats a body, is normalised before any acquisition and is written one HTTP attempt at a time, resent until answered with each registration removed only by its owner, and is read without a write where a box only looks
claude agent, operated by paul@keymail.dev
-
e05ca0574
moves: the sealing source box records retired.json at gone for a tracked lifetime, with every real version id in a recorded deletion order and the key's latest named, a normalised prefix and a deterministic cleanup id
claude agent, operated by paul@keymail.dev
-
0a98db1ef
offlinecleanup: the cleanup's wire types, validators, root-only layout checks and seam audit; leasetest keeps null ids and suspension
claude agent, operated by paul@keymail.dev
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
0c33ee545
census: Task 2 review 2 round re-pins (rev3=PROPOSED-self-serve-moves-3)
claude agent, operated by paul@keymail.dev
-
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)
claude agent, operated by paul@keymail.dev
-
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
-
96e01f856
census: Task 2 final fix round re-pins (rev3=PROPOSED-self-serve-moves-3)
claude agent, operated by paul@keymail.dev
-
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)
claude agent, operated by paul@keymail.dev
-
d04ba6b49
self-serve moves: the target's landing hold lists the custom domain, one hold validity test for rank and the e2e seam (Task 7 review round 1)
claude agent, operated by paul@keymail.dev
-
408279cef
self-serve moves: the holding page end to end on a third edge and a custom domain
claude agent, operated by paul@keymail.dev
-
27b630b6b
edge: one notServedHere constant for both refusals, a comment on probes served from the catch-all, and the 103 asserted clean (Task 6 review round 1)
claude agent, operated by paul@keymail.dev
-
9ae9fdaab
console, census and copy: the health probe asks in probe mode and requires the target's box id; plan 3 Task 6 re-pins
claude agent, operated by paul@keymail.dev
-
8582e1c3b
edge: probe mode refuses to forward and stamps the serving box on the final response through the real writer stack
claude agent, operated by paul@keymail.dev
-
e9c26e2dd
edges: every edges-file read site is inventoried, discovered by type, and ignores offline_moves for served-ness
claude agent, operated by paul@keymail.dev
-
1f992d20f
edge: wake witnesses for a losing platform hold beside a ready platform route and a winning hold leaving its file (Task 5 review round 1)
claude agent, operated by paul@keymail.dev
-
fe9c8fc5b
census: plan 3 Task 5's live-hold wake re-pins the internal/edge envelope; no unit moves and the seal is unchanged
claude agent, operated by paul@keymail.dev
-
1a2ebeed3
edge: Task 3 fix round 1: a real (b) check, the model's sizes asserted, alias rows marked platform in the differential, the stamped alias aimed at another target
claude agent, operated by paul@keymail.dev
-
5adafb565
edge: holding entries expire five minutes after their fetch, with today's fallback including wildcards
claude agent, operated by paul@keymail.dev
-
29097d9e0
edge: the wildcard manager wakes when a remote platform hold expires or revives; the wake compares the live holds at each poll's time
claude agent, operated by paul@keymail.dev
-
7772738b8
census: plan 3 Task 3's rank tiebreak re-pins the internal/edge envelope; no unit moves and the seal is unchanged
claude agent, operated by paul@keymail.dev
-
b7dce7bec
edge: the ranking pinned by witnesses, a differential test against the fold and a small-model property test
claude agent, operated by paul@keymail.dev
-
e239b8a3b
edge: one file's holds of different targets for one alias are ranked by target, so the page never depends on collection order
claude agent, operated by paul@keymail.dev
-
8b1437be9
edge: the import gate judges the decision's table; witnesses for the login re-resolution, the fallback's owner and a door outside the fallback (Task 2 fix round 1)
claude agent, operated by paul@keymail.dev
-
d88aaf316
census and copy: plan 3 Task 2's edge and wiring units re-pinned; the holding page's sentences recorded pending Paul
claude agent, operated by paul@keymail.dev
-
d37469eae
host: the local edge subscribes to the armed offline view's holds and takes the box id
claude agent, operated by paul@keymail.dev
-
8fcd14cbd
edge: holds suppress their target's stale publications and the fold decides the rest; one decision and one table per request; local holds in their own snapshot
claude agent, operated by paul@keymail.dev
-
5d7647012
host: a moves pass's failed listing fails only the offline view's holds; the edges file loop loads the view's snapshot once (Task 1 fix round 1)
claude agent, operated by paul@keymail.dev
-
17658338a
edges: explicit alias provenance in the registry and the reconciler; the lifetimes writer publishes held rows as holding entries; the offline view publishes immutable revisioned snapshots
claude agent, operated by paul@keymail.dev
-
5992af097
gate DIAGNOSTIC (remove with #359): sigwho.py is the step's own top process
claude agent, operated by paul@keymail.dev
-
8d4740d00
gate DIAGNOSTIC (remove with #359): sigwho.py names the sender of the SIGTERM
claude agent, operated by paul@keymail.dev
-
b4f4cfb8d
gate: one split package's shards at a time
claude agent, operated by paul@keymail.dev
-
3cae33816
provision: census for the final review's fix round 4
claude agent, operated by paul@keymail.dev
-
d91ad106b
tests: every console test joins its server's detached work (fix round 4, item 2b)
claude agent, operated by paul@keymail.dev
-
1355a2d84
offline return: a panic in the detached index cleanup is contained (fix round 4, item 2a)
claude agent, operated by paul@keymail.dev
-
7a782725c
gate: the probes are reverted; a passing job prints only its package lines
claude agent, operated by paul@keymail.dev
-
34a958a6a
gate PROBE 6 (revert me): root@2 whole shard beside rest
claude agent, operated by paul@keymail.dev
-
205bf0a22
gate PROBE bisect 8 (revert me): root@2 runs 1 of 2 tests
claude agent, operated by paul@keymail.dev
-
b94d87eaa
gate PROBE bisect 7 (revert me): root@2 runs 3 of 5 tests
claude agent, operated by paul@keymail.dev
-
f1b05a28e
provision: census for the final review's fix round 3
claude agent, operated by paul@keymail.dev
-
9ee2cf307
self-serve pass: the journal read is abandoned at its deadline (fix round 3, item 5)
claude agent, operated by paul@keymail.dev
-
294093304
gate PROBE bisect 6 (revert me): root@2 runs 6 of 11 tests
claude agent, operated by paul@keymail.dev
-
d70e2ad25
offline return: the hourly index sweep never waits and lists one bounded page (fix round 3, item 3)
claude agent, operated by paul@keymail.dev
-
a7a3e1317
gate PROBE bisect 5 (revert me): root@2 runs 12 of 23 tests
claude agent, operated by paul@keymail.dev
-
9afe9e977
gate PROBE bisect 4 (revert me): root@2 runs 23 of 46 tests
claude agent, operated by paul@keymail.dev
-
8086be0a3
offline return: the door's index cleanup runs after the bump and the answer (fix round 3, item 2)
claude agent, operated by paul@keymail.dev
-
59a7154cc
gate PROBE bisect 3 (revert me): root@2 runs 47 of 93 tests
claude agent, operated by paul@keymail.dev
-
aaec106b3
gate PROBE bisect 2 (revert me): root@2 runs 94 of 187 tests
claude agent, operated by paul@keymail.dev
-
da4b57a3f
gate PROBE bisect 1 (revert me): root@2 runs 187 of 374 tests
claude agent, operated by paul@keymail.dev
-
d9811bc72
provision: census for the final review's fix round 2
claude agent, operated by paul@keymail.dev
-
e6e4bb7b4
self-serve job: participant pinning and report reads are judged at the pass's clock (fix round 2, item 7)
claude agent, operated by paul@keymail.dev
-
bbaccf928
console start: paging is armed from the start scan's evidence before the bootstrap page (fix round 2, item 6)
claude agent, operated by paul@keymail.dev
-
36ca1bfc4
self-serve pass: the evidence read's deadline covers the journal (fix round 2, item 5)
claude agent, operated by paul@keymail.dev
-
c038dcef7
self-serve job: every attempt of one request writes the same bytes (fix round 2, item 4)
claude agent, operated by paul@keymail.dev
-
0d3763da7
offline return: the hourly store sweep also clears the return index (fix round 2, item 3)
claude agent, operated by paul@keymail.dev
-
1fc116c96
gate PROBE 5 (revert me): run only root@2 beside rest
claude agent, operated by paul@keymail.dev
-
8cf8be398
gate PROBE 4 (revert me): run only root@1 beside rest
claude agent, operated by paul@keymail.dev
-
3d72f99cb
offline return: the door's index cleanup is bounded (fix round 2, item 2)
claude agent, operated by paul@keymail.dev
-
a37de0c47
gate PROBE 3 (revert me): run only root@0 beside rest
claude agent, operated by paul@keymail.dev
-
d0227a681
gate PROBE 2 (revert me): skip the root package's tests as well
claude agent, operated by paul@keymail.dev
-
b4b58a769
offline return: the sweep deletes only the index entry it judged (fix round 2, item 1)
claude agent, operated by paul@keymail.dev
-
eb2904d03
gate PROBE (revert me): skip internal/console entirely to see whether the runner's TERM follows the console tests
claude agent, operated by paul@keymail.dev
-
52b940eef
provision: census for the F6 host half
claude agent, operated by paul@keymail.dev
-
a2abea21a
host: only the selected target answers a return, and the box never deletes the index (final review F6, host half)
claude agent, operated by paul@keymail.dev
-
fcef25ae5
provision: census for the final review's fix round (console half, and the host implementer's re-pins)
claude agent, operated by paul@keymail.dev
-
f7d3fe3c9
docs: the stamp comment and the rollout's switch and recovery-mode consequences (final review F17, bullets 1 and 3)
claude agent, operated by paul@keymail.dev
-
f1e096353
self-serve timings: a copy whose seal was not read has unknown bytes, no sample (final review F16)
claude agent, operated by paul@keymail.dev
-
748dec8b4
offline return: the request names its target and the console owns the index (final review F6, console half)
claude agent, operated by paul@keymail.dev
-
f799f5d0b
offline return: a return request the console cannot read judges nothing (final review F5, console half)
claude agent, operated by paul@keymail.dev
-
893edb7b6
offline return: gofmt the F3 witness
claude agent, operated by paul@keymail.dev
-
bb900ba2c
offline return: the disk rule sizes the data the return brings (final review F3)
claude agent, operated by paul@keymail.dev
-
47567b372
offline return: the door needs the record's proof the forward completed (final review F4)
claude agent, operated by paul@keymail.dev
-
6a2fe8b88
offline abort: before the seal a pinned move waits for its pinned sources (final review F2)
claude agent, operated by paul@keymail.dev
-
76bb21586
self-serve job: a queue request persists its staging coordinates and replays them (final review F10)
claude agent, operated by paul@keymail.dev
-
0f46b2175
self-serve job: a landed write stays owed its serial bump on the row (final review F9)
claude agent, operated by paul@keymail.dev
-
e971dae9e
self-serve job: a superseded round's abandonment sets the replacement's fresh deadline (final review F8)
claude agent, operated by paul@keymail.dev
-
5591ccb25
self-serve pages: an attempt with no sink armed is not a page sent (final review F13)
claude agent, operated by paul@keymail.dev
-
ec91cf9c9
self-serve pass: the start scan and the evidence read are bounded (final review F12)
claude agent, operated by paul@keymail.dev
-
34148e26d
self-serve job: the open record's PUT runs under the lease (final review F11)
claude agent, operated by paul@keymail.dev
-
3e5d6a830
offline reports: the 60-s-ahead filter applies to self-serve moves only (final review F15)
claude agent, operated by paul@keymail.dev