Suppressions and debt accumulate faster than they are drained โ the track ratchets the hook-suppression count to shrink-only, then audits and drains it.
CLOSED as stale; a merged PR resolves to MERGED, so a # noqa citing one passes forever. Measured on main: six cited trackers, two of them merged PRs, reported by --audit-trackers as “none closed” โ invisible debt, and citing a merged PR is strictly better for passing the gate than citing an open issue. Fix shapes: treat MERGED as stale (the minimum), or reject PR references at write time. Fixing it will likely turn the nightly red on the two existing citations โ resolve or re-point those two in the same change.PersonDataRepository, PersonResolutionRepository) while production calls only the PersonIdentityRepository twin, so eight real-DB tests guard code paths production has routed around. Split out of the V1-XFAIL drain batch (#2986, merged), which deleted three sibling methods on the same basis but left these eight because deleting eight methods from two live classes is a bigger change than a list drain and deserves its own review.Ratchet before drain, then close the tracker's blind spot before trusting its counts, then drain what production has routed around. Applied top to bottom; each rung only breaks ties left by the one above it.
What this deliberately ignores: the backlog size (603 is a moving denominator โ the ratchet moves first), issue age or filing order, how many suppressions one change removes, the apparent smallness of a deletion (the eight methods are, per their own issue, “a bigger change than a list drain”), and priority labels alone (the two p2s are ordered by the ratchet rule, not by label).
track-order.json records no decided rulings for this track. The rulings in force are the two the page already cites: ratchet FIRST โ baseline today's count shrink-only, then audit and drain (owner ruling 2026-08-02, stated in the suppression ratchet, #2976); and paused for WIRE-TRUTH, resume at the ratchet (the index row).
The ratchet's measured instance. A # noqa justification (“deferred to post-Landing-11 read-API migration”) was false for 2.5 months โ Landing 11 closed 2026-05-16 โ and nothing noticed. The per-file .ai/materializer-write-allowlist.txt that once counted suppressions was drained 145 โ 0 and deleted 2026-07-12 (the allowlist retirement, PR #2411). Over that window per-line noqa went 211 โ 425, then 425 โ 516.
Blind-spot provenance. The merged-reference hole was found by the round-3 adversarial lens on the no-op suppression drain (PR #3302, merged โ retired 22 no-op suppressions). The two merged PRs cited as trackers are the WhatsApp reply/mention context PR #1695 and the live Exchange staged-drain PR #1834.
Superseded-methods provenance. The 8-method issue split out of the V1-XFAIL drain batch (#2986, merged โ drained test_person_repositories_e2e.py 66 โ 51), which deleted three sibling methods on the same zero-caller basis.