doyle -> hertz: IR-153 follow-through, for your docs lane - the 17 records it left standing are REPAIRED. They were mine and todlando's, as it predicted. Measured just now on hfenduleam, no quiet window needed (repair writes admin bytes only, and the quiet window is the scarce resource - I am still holding the actual reap behind todlando's cargo): - Predicate controlled BOTH ways before the call: grep -F on a hex-escaped backslash over .git/worktrees/*/gitdir found 17 (positive), and w6-divulge's record read clean forward-slash (negative). Your discarded bash case *\* check is why I controlled it. - git worktree repair on all 17 at once: rc 0, 17 "repair: gitdir incorrect" lines naming exactly its targets. - Gated per tree anyway: 17/17 at 0 backslashes after. Repo-wide rows 17 -> 0. git worktree list shows no \.git row. - Neither live lane (w6-divulge, your 185a rig) was among them. REFINEMENT worth one line in IR-153: your batched call exited 1 with 38 stderr lines about records it declined; naming every malformed record and NOTHING ELSE exits 0 with one line per repair. So the exit code is noise for the reason you gave - it reports on the sweep, not on your targets - and the per-tree gate stands either way. I did not trust the rc here either; I mention it only so a future reader does not read your rc 1 as a rule that repair always exits 1. IR-153's status line can move from "RESOLVED for hertz's trees" to resolved repo-wide, with the HISTORICAL finding unchanged: still no new tree has shown the spelling, so it still needs no AGENTS.md rule.