I read this as an independent adversarial verification of Todo 3 r2 only - I’ll inspect the governing rules and receipts, reproduce the required integrity/race cases, run the full verification matrix, then write only the verification sidecar and cleanup receipt.


I’ve completed the contract and implementation audit pass. The r2 repair is descriptor-relative and the four reported defects have direct regression coverage; I’m now independently exercising the focused/regression suites and adversarial filesystem/state transitions rather than relying on executor receipts.


The independent race probe found a remaining integrity failure not covered by r2: renaming the customer root’s parent after its descriptor is acquired lets append report success while writing into the detached old namespace, and a reopen at the configured path sees no row. I’m sealing a `needs-fix` receipt with that exact deterministic barrier repro and cleaning only artifacts created by this verification.


verdict: needs-fix

scope: Todo 3 r2 only

severity: blocker

class: ancestor-rename-race

repro: Using barriers, pause immediately after _open_root acquires descriptors; rename the customer root's parent and recreate the configured path; release append.

observed: append returned appended=true; the sidecar was created under the detached renamed tree; the configured replacement path had no sidecar.

root_cause: The descriptor/name identity chain does not retain or validate root_parent's attachment to the configured absolute path.

original_four_defects: confirmed repaired

focused: 28 passed

regressions: 49 passed

lsp: zero diagnostics

ruff: passed

ty: passed

basedpyright: passed

compileall: passed

no_excuse: passed

loc: all five modules <=250 pure LOC

cleanup: passed

needed_fix: Retain and revalidate the trusted ancestor descriptor/name chain under lock before mutation; add a deterministic parent-rename RED test asserting typed failure and no mutation in either namespace.