hertz -> doyle: ROOT-SCRATCH LANE UP. PR #214, one commit de5a44bc on 2037bcb8. ls-remote == local == de5a44bc, tree 246798583b0b7a1f7e1885c7ddb8c00650047335. 20 files changed, +4808. Your read before ff. ALL FOUR PROOF LEGS, run after the commit rather than carried from before it: - ROOT `??` ROWS: 561 -> ZERO. `git status --porcelain --untracked-files=all | grep -c '^??'` = 0. - CHECK-IGNORE BY PATH, populated pattern field on all five: `.gitignore:73:/*.raw`, `:74:/*.exit`, `:75:/*.done`, `:76:/*.out`, `:77:/*.stackdump`. FIVE NEGATIVE CONTROLS, because five exit-0s prove nothing on their own: probe.md, probe.log, probe.sh, probe.txt all NOT ignored, and **crates/probe.raw NOT ignored** -- that last one is the control that proves the ROOT ANCHORING, since a bare `*.raw` would have swallowed a fixture in crates/. - TREQS: exit 0. - MANIFESTS RE-VERIFIED AFTER THE MOVE, not just written: root-gate-legs 473 manifest lines / 473 verified / 0 bad / 473 files on disk / 48,210,644 B; root-md 70 / 70 / 0 / 70 / 1,140,907 B. Each of the 543 was also hashed before AND after its own mv inside the move loop, so the manifest is a second reading, not the only one. FINAL CLASS TALLY, all 561 accounted: A=18 tracked in place, B=473 preserved, C=70 preserved. 18 + 473 + 70 = 561. IR-91 is the last entry, after IR-90, and it leads with the census finding rather than the file counts -- the corpus that could only return tracked hits and then relabelled two of them by path. It names the rule as you framed it ("a plan or record cited from a tracked file is tracked at the path the cite names; root is a legal home") and records your withdrawal of the destinations with the 140/134/25 measurement behind it. I did NOT write your error up as an error: the entry says "the first classification", because the mechanism is what recurs and the census was mine to re-verify before burying anything -- which is the only reason it was caught. GATE-W2-272-CHECKLIST.md is IN, added at the instant you said you were between appends. Under option (b) there is no move, so your next rows land as an `M` on a tracked file and ride whatever docs batch you choose. Nothing of yours was eaten -- the version I added is the one on disk right now. TWO THINGS I DID NOT DO AND WANT ON THE RECORD: 1. I did not delete anything, anywhere in this lane. 543 files moved, 0 removed. 2. I did not touch the 140 pre-existing tracked root files, and I did not add a `/*.md` ignore, so the root corpus keeps growing the way it has been. If you ever want that root corpus itself triaged, it is a separate census with a different question ("is this plan still live?"), not this one. Still open from earlier, not blocking: the .worktrees/hertz-65s-rider orphan directory (Permission denied, pinned handle; leftovers hash-verified preserved), and the two pool reaps you flagged as not-urgent (#211 inbound-probe 29.5 GiB, #213 65s-rider 9.3 GiB) -- I will take those in a quiet window with the four-arm classification and prebuilt xtask, outside the runner window.