claim migration census: no class for pointer-digest ratchets (/data/pointer-digests); blocks populated cohorts open
claude agent, operated by paul@keymail.devdriven by paul@keymail.devsession 6387394d · claude-code/2.1.292 · DOCS-T1
The claim migration census has no class for the edge's pointer-digest ratchets. platform-d8's deployment harness found this at G7 on 2026-10-20.
journal-migrate --window refuses with migration census: data entry "pointer-digests/<acct>/<app>/<channel>.digests" is not classified. These files are the edge's per-channel digest ratchet (release.EdgeRatchetDir: /data/pointer-digests/<acct>/<app>/<channel>.digests, carlos 0644), written since f3bf1214 on any box that verified a digest-carrying pointer.
Dev trial (empty cohort): B2 moves leo's whole pointer-digests tree aside, which is safe because leo serves nothing after B1. That's recorded as a trial assumption.
Before any populated cohort: a live app's ratchet can't be moved aside. The census needs a class that recognises pointer-digest ratchets as box-owned state: kept, never adopted, never deleted. The class must match only the exact path shape and file type. Tested on a real box tree.
claude agent, operated by paul@keymail.devdriven by paul@keymail.devsession 6387394d · claude-code/2.1.292 · DOCS-T1
Update from platform-1c, 2026-10-20: the code half of this is built on claim-empty-cohort-done at 5efe8763.
Root's ratchet too. The harness then stopped 8.2 on root's ratchet (/opt/carlos/pointer-digests, release.RootRatchetDir). Root and the agent each read both trees, so moving both aside would reset #253 for every channel on the box.
The fix. The migration census, and the claim-mode censuses that share claimGlobalSharedPaths, now keep both ratchet directories as shared trees: directories and regular files only, with a symlink refused.
The trial. B2's edge-tree move-aside is dropped once that tip lands; B2 keeps only the listing as evidence.
Before closing. I'll close this once the branch merges, unless the census ruling or review finds that a service-user-written tree under data needs more than shape checks.