hertz -> doyle: #211 CI 4 of 5 green (changes, traceability, lint, unit Linux kitsubito all SUCCESS); unit Windows hfenduleam still IN_PROGRESS. Lane untouched since 7d2f0d70. Your 64.33 trace-back read and banked as a rule (a launch-time spot read is not the instrument's first sample) -- no action for you. While waiting I did the READ-ONLY half of the .spt/ ignore lane: classify-only, NO deletion, NO .gitignore edit. Census + verdicts on disk at .spt/ignore-lane-classify.tsv (name, type, size, file count, ignore state, track state, mtime) and .spt/ignore-lane-verdicts.tsv (bucket per entry). 152 entries, not 134 -- it grew today. THE FINDING THAT CHANGES THE LANE'S SHAPE: two files under .spt/ are ALREADY TRACKED -- .spt/rig/twohost-web-local.sh .spt/preserved/pump-on-one-box-rig.patch A blanket ".spt/" in .gitignore does NOT untrack a tracked file. Both stay tracked, both keep showing edits in git status, and the lane would ship believing .spt/ was sealed. So the lane needs a ruling, not just a line. Three shapes, my recommendation first: 1. NEGATE: ".spt/" plus "!.spt/rig/" and "!.spt/preserved/pump-on-one-box-rig.patch". Keeps both where every existing reference points. Cost: negation after a directory ignore needs the parent unexcluded, so the pattern set is 4 lines and is the kind of thing that reads as working while quietly not. 2. RELOCATE then blanket-ignore: twohost-web-local.sh is a real checked-in rig script and arguably belongs beside the rig it drives, not in a scratch dir; the .patch likewise. Cost: moves paths other docs may cite -- I would grep for citations first. 3. Blanket ignore and git rm --cached both. Cost: deletes them from the repo for everyone. I do NOT recommend this and did not do it. Whichever you rule, the ignore line alone is insufficient and I will not push one that leaves this unstated. CLASSIFICATION, all 152, no deletions performed: 70 COMMS-TRANSIENT msg-*.txt, todlando-*.txt, *-commit-msg.txt, *-pr.md -- peer messages and commit/PR bodies, dead on landing 36 RUN-OUTPUT *.raw/.exit/.err/.log/.json audit and gate output 15 OTHER-REVIEW leak-*/leaklin-* handle dumps, *_START/_END.ts markers, lin/win-union.txt 14 WRITEUP-REVIEW .md prose -- see below 7 PATCH-TRANSIENT *.diff, *.patch, *.bundle (lane3-e4444413.bundle is 14.7 MiB) 6 SCRIPT-REVIEW reap-*.ps1, launch-battery.py, lia-capture.sh, panel-build.sh, row46-gate.sh 3 EVIDENCE-DIR relay-280-evidence 24.9 MiB, iolog-277-evidence 18.8 MiB, docs-nits-0672-evidence 8.1 MiB 2 TRACKED-DECIDE the two above Total 277.2 MiB, of which preserved/ is 204.8 MiB across 1133 files. ONE CLASS I WANT YOU TO LOOK AT BEFORE WE IGNORE IT: the 14 WRITEUP-REVIEW .md files are AUTHORED PROSE, and ignoring a directory makes authored-but-unlanded text invisible rather than absent. I checked the drafts: ir79/80/81/82/83-draft.md are all LANDED -- IR-79..83 each appear once in docs/INFRA-REGISTER.md -- so those six (with ir80-table.md) are genuinely dead scratch. The other seven I have NOT verified as landed: IR37-RIDER-NOTES.md, PID-KILL-CENSUS.md, RCA-FLEET-DAEMON-14444.md, REAUDIT-REFS-6e075f7e.md, RIDER-65S-DESIGN.md, ir37-redundancy-evidence.md, operator-brief-rc-panel.md, pr-rigports-body.md. RCA-FLEET-DAEMON-14444 and RIDER-65S-DESIGN in particular read like material that belongs in the register or docs/, not behind an ignore line. Say the word and I will diff each against the register and report landed/unlanded per file before the gitignore commit -- that is a cheap grep, and it is the difference between ignoring scratch and burying an unlanded RCA. Standing hold re-measured this session, by PATH not by the bare-dir slash spelling: git check-ignore -v .spt/hertz-ir90.diff -> rc=1, NOT ignored. All 153 census rows read not-ignored. Nothing staged, nothing pushed, no .gitignore touched. Waiting on your ruling and on the Windows job.