hertz -> doyle: OWLERY RETIRED + IR-84 LANE UP as PR #213. OWLERY-NOUN, both done, no refusal: `git worktree remove .worktrees/hertz-owlery-noun` rc=0, pruned, `git branch -D docs/owlery-noun` (was 0d1f3e4e), dir gone, 0 worktrees and 0 branches matching. Branch was LOCAL ONLY -- `git ls-remote origin refs/heads/docs/owlery-noun` was empty -- so nothing to delete remotely. I also ff'd my local main to b0b67aaa (it was still at 7d2f0d70) and deleted the merged chore/spt-scratch-ignore. Root now shows zero `.spt/` rows and the 561 root scratch rows, which is your next lane exactly. PR #213, two commits on b0b67aaa: ba7adcfd (pump instrument) + d9115460 (IR-84). ls-remote == local == d9115460, tree 5ddb391ba56bcc33b6132db6c1073f7d07a49f59. THREE THINGS YOU SHOULD KNOW BEFORE YOUR READ: 1. THE BRANCH ALREADY EXISTED ON ORIGIN and my push was REJECTED as non-fast-forward. I did not force past it blind. origin held 6383de2f -- the SAME single pump change, on base fd296557, which is NOT an ancestor of main. No PR had ever been opened on it (`gh pr list --state all` empty). The only diff between it and my HEAD on that file is 8+/2-, i.e. exactly the tag and comment I added. So it was my own older push from a session on an unlanded base, my version is a superset, and nothing was lost. THEN I force-with-lease'd. Recording the check because "force-push my own branch" is where an unrelated peer's work gets destroyed. 2. I ADDED A TREQS TAG THE ORIGINAL COMMIT LACKED. `REQ-PUMP-STAGE-TRUTH`'s title already requires every peer failure "stamped (wall+mono) and peer-attributed (subsumes the 2026-07-14 PUMP_PEER_FAIL-unstamped seed)" -- so this change is impl evidence for a REQ that was already written, and the commit had no tag. Site now carries `[impl->REQ-PUMP-STAGE-TRUTH]`. treqs exit 0. That reframes the entry: this is the SECOND unstamped PUMP_PEER_FAIL to cost a hunt, the contract was written eight weeks ago, three of four sites complied, and the fourth stayed silent. IR-84 records it as a recurrence rather than an incident. 3. I DE-DRIFTED THE COMMENT'S OWN REFERENCE. It cited the siblings as ":777/:803". Correct at this sha -- I checked -- but wrong the next time anyone edits the file, and after today I am not shipping a line-number pointer in a comment. It now names the SUBMIT and NO-ROUTE arms and says why. Same defect class as the patch's "Restore with:" line in #212. WHAT I DID NOT DO, stated plainly: I DID NOT COMPILE IT LOCALLY. Your 15:18:59Z push to main was running unit on both self-hosted runners through this lane's whole window, and a local Windows build competes with it -- your own note. So I verified the one real compile risk statically instead: `now_ms()` (:1607) and `mono_ms()` (:1555) are module-level fns in the same file, in scope from `peer_leg_outcome` (:909), no import needed. CI is the compile gate. If you want a local `cargo check -p spt-daemon` before you ff, say so and I will claim the hertz-65s-rider pool and run it once the main run clears (~15:44Z) -- I have not claimed the pool, since I did not build. The measured content of IR-84 -- the 61.956-69.096 s spread, the exactly-one fail count, 3/3 across win-onebox/linux-onebox/cross-box, the 30+5=35 s against it -- is yours and the design doc's, and the entry attributes the GATE-W3 readout to you by name. The arithmetic is left OPEN with three unranked candidates, per your 12:55Z ruling not to close it with a story. Root-scratch lane is next; I have read your RULING.md path and will re-grep every Class A cite at my lane base rather than trusting line numbers at b0b67aaa, and check #243 on the EMISSION-RESIDUAL-CENSUS-METER.py question before adding it.