00d — Audit crosswalk: finding id → the rule it produced¶
Self-contained on purpose. The 463-finding audit corpus is git-ignored working data. This file is what survives it: every finding id resolves to the invariant it produced, so an id met in an old commit message stays meaningful after the corpus is gone. Snapshot of 2026-08-18; it is not generated, because its inputs are not in the repo.
How to use it¶
You have a finding id — A2-JOB-1, DQ-PAY-2 — from a commit message, a comment, or a
note. Find it below to get its anchor, then python scripts/doc_anchor.py --show <TOKEN>
for the rule, its declaration site and every citing site. That replaces the stored
file:line, which has rotted — every line number in the corpus now points at unrelated
code, which is why finding sites had to be resolved from titles.
Why a family and not a finding¶
Findings were grouped into repair families (RF-*) during the 2026-07 synthesis. The
family carries the shared rule; the finding is one way it failed. So the crosswalk is
finding → family → anchor, and a family maps to exactly one invariant.
That association previously existed only in prose and in one person's head. Recovering it
cost a pass, and one pairing was wrong when derived mechanically: RF-07 votes
INYA5T84 from a single finding that also touched adapter config, when the family is the
phase-watchdog exclusion — [[INZKT2QF]]. Every row below was checked against the family's
own shared_invariant text, not derived.
Anchored families¶
| family | anchor | findings |
|---|---|---|
RF-01 |
IN5BRA39 |
5 |
RF-02 |
INC63FDF |
8 |
RF-03 |
IN2QDNB3 |
10 |
RF-04 |
IN4CW5Y9 |
10 |
RF-05 |
INGZFYXX |
9 |
RF-06 |
IN5TNKMD |
11 |
RF-07 |
INZKT2QF |
9 |
RF-08 |
INJBNQ2Q |
8 |
RF-10 |
INPQ6ZE7 |
8 |
RF-11 |
INQ619A6 |
16 |
RF-12 |
IN6VSBJ1 |
6 |
RF-13 |
INFJXSM4 |
9 |
RF-14 |
INT62M7A |
25 |
RF-15 |
INKV8ZQD |
11 |
RF-16 |
INT79PB7 |
20 |
RF-17 |
IN1FX8EH |
21 |
RF-18 |
IN40W49E |
33 |
RF-19 |
IN11T0FS |
15 |
RF-20 |
INJ7VXE7 |
8 |
RF-22 |
IN5ATBW9 |
7 |
RF-23 |
IN76GE4W |
10 |
RF-24 |
INCFMPP1 |
6 |
RF-25 |
INMKEHPQ |
21 |
RF-26 |
INSJM6KC |
8 |
RF-27 |
INNPA4ZV |
3 |
RF-28 |
INJSETB0 |
16 |
RF-29 |
INJW5J2A |
10 |
RF-30 |
IN96V4SA |
7 |
RF-31 |
INNJ6SGC |
9 |
RF-32 |
INYA5T84 |
11 |
RF-33 |
INTCWVFM |
12 |
Finding ids by family
**`RF-01` → `IN5BRA39`** — `A2-LIFE-1`, `A3-SNAP-3`, `A5-STR-5`, `A5-SVC-2`, `HW-FINAL-1` **`RF-02` → `INC63FDF`** — `A2-REC-4`, `A3-CRUD-1`, `A3-ROOMS-1`, `A3-ROOMS-2`, `A4-SETUP-1`, `A5-FACADE-1`, `A5-FACADE-2`, `A5-FACADE-3` **`RF-03` → `IN2QDNB3`** — `A1-INIT-2`, `A2-ACC-1`, `A2-CB-2`, `A3-IMAGE--2`, `A3-IMAGE--3`, `A3-IO-2`, `A3-IO-3`, `A4-SRC-2`, `A4-STATE-8`, `A5-SVC-6` **`RF-04` → `IN4CW5Y9`** — `A2-CB-1`, `A2-CB-5`, `DR-SENS-2`, `DR-SETUP-1`, `EP-2`, `INF-5`, `SN-1`, `SN-3`, `SN-4`, `SN-7` **`RF-05` → `INGZFYXX`** — `A2-JOB-7`, `A4-PP-RP-3`, `A4-PP-RP-7`, `A4-SETUP-5`, `A5-RUNPROF-2`, `A5-RUNPROF-3`, `A5-SVC-3`, `A6-DIAG-9`, `DQ-ACT-6` **`RF-06` → `IN5TNKMD`** — `A1-WD-1`, `A2-CAN-1`, `A2-CAN-3`, `A2-CAN-4`, `A2-CAN-5`, `A2-CAN-6`, `A2-JOB-2`, `A4-AJ-3`, `A6-GUARD-2`, `A6-GUARD-4`, `DQ-ACT-2` **`RF-07` → `INZKT2QF`** — `A1-WD-2`, `A1-WD-4`, `A1-WD-5`, `A2-CAN-4`, `A5-STR-1`, `A5-STR-2`, `A5-STR-3`, `A5-STR-4`, `DQ-ACT-3` **`RF-08` → `INJBNQ2Q`** — `A4-SRC-1`, `A4-SRC-2`, `A4-SRC-3`, `A4-SRC-4`, `A4-SRC-5`, `DQ-ACT-1`, `DQ-ACT-5`, `DQ-DE-1` **`RF-10` → `INPQ6ZE7`** — `A1-LC-2`, `A1-LC-4`, `A2-GEO-1`, `A5-POSE-1`, `A5-POSE-2`, `A5-POSE-3`, `A5-POSE-4`, `A5-POSE-5` **`RF-11` → `INQ619A6`** — `A1-WD-3`, `A2-CAN-2`, `A3-IO-1`, `A3-REC-1`, `A3-REC-2`, `A3-REC-3`, `A3-REC-4`, `A4-AJ-2`, `A4-STATE-1`, `A4-STATE-2`, `A4-STATE-6`, `DQ-PH-1`, `DQ-PH-2`, `DQ-PH-3`, `DQ-PH-6`, `INF-8` **`RF-12` → `IN6VSBJ1`** — `A3-COMMON-4`, `A3-COMMON-6`, `A5-METRICS-1`, `A5-STR-1`, `A6-VAC-1`, `DR-SENS-1` **`RF-13` → `INFJXSM4`** — `A3-COMMON-1`, `A3-COMMON-3`, `A3-SNAP-1`, `A4-POSE-3`, `A6-GUARD-1`, `A6-PRE-1`, `DR-MNT-1`, `INF-4`, `SN-2` **`RF-14` → `INT62M7A`** — `A1-CRUD-7`, `A2-JOB-1`, `A2-JOB-3`, `A2-POLYGO-2`, `A2-POLYGO-8`, `A3-IMAGE--7`, `A3-IMAGE--8`, `A3-ROOMS-10`, `A3-ROOMS-11`, `A3-ROOMS-5`, `A3-ROOMS-7`, `A4-CUSTOM-2`, `A4-SETUP-12`, `A4-SETUP-4`, `A4-SETUP-8`, `A5-RUNPROF-1`, `A5-RUNPROF-5`, `A5-RUNPROF-6`, `A5-SVC-4`, `A6-DIAG-1`, `A6-DIAG-2`, `A6-DIAG-6`, `A6-DIAG-7`, `A6-VAC-2`, `EP-1` **`RF-15` → `INKV8ZQD`** — `A1-SERVIC-1`, `A1-SERVIC-5`, `A2-DRAFT-4`, `A2-JOB-8`, `A3-IMAGE--5`, `A4-CUSTOM-1`, `A5-FURNIS-1`, `A5-RUNPROF-8`, `A6-DIAG-5`, `A6-DIAG-6`, `A6-ZONE-C-6` **`RF-16` → `INT79PB7`** — `A1-INIT-1`, `A1-REG-2`, `A1-REG-3`, `A1-UP-1`, `A1-UP-2`, `A1-UP-3`, `A1-WIRE-5`, `A2-DOWN-1`, `A2-DOWN-2`, `A2-DOWN-3`, `A2-LIFE-2`, `A4-RELOAD-1`, `A4-RELOAD-2`, `A4-RELOAD-3`, `A4-RELOAD-4`, `A4-SRC-5`, `A5-SVC-7`, `A6-GUARD-6`, `A6-VAC-4`, `DR-DBG-3` **`RF-17` → `IN1FX8EH`** — `A1-CRUD-1`, `A1-CRUD-2`, `A1-CRUD-3`, `A1-CRUD-4`, `A1-CRUD-5`, `A1-CRUD-6`, `A1-CRUD-8`, `A1-INIT-3`, `A2-DRAFT-1`, `A2-DRAFT-2`, `A2-DRAFT-3`, `A2-DRAFT-6`, `A2-DRAFT-7`, `A3-PORT-1`, `A3-PORT-2`, `A3-PORT-3`, `A3-PORT-4`, `A3-PORT-5`, `A3-PORT-7`, `A3-PORT-8`, `SN-6` **`RF-18` → `IN40W49E`** — `A1-EST-7`, `A1-EST-8`, `A1-INIT-5`, `A1-PP-RES-5`, `A1-PP-RES-6`, `A1-PP-RES-8`, `A1-PP-RES-9`, `A2-LIFE-3`, `A2-PP-CAP-1`, `A2-PP-CAP-2`, `A2-PP-CAP-3`, `A2-PP-CAP-4`, `A2-PP-CAP-6`, `A2-PP-CAP-7`, `A3-PP-CRUD-1`, `A3-PP-CRUD-4`, `A3-PP-CRUD-6`, `A3-PP-CRUD-7`, `A3-ROOMS-6`, `A3-ROOMS-9`, `A5-PP-RP-7`, `A5-PP-RP-8`, `A6-DIAG-8`, `A6-PP-EST-TD-1`, `DQ-DE-3`, `DQ-DE-4`, `DQ-PAY-1`, `DQ-PAY-5`, `DQ-PAY-6`, `DQ-Q-2`, `DQ-Q-4`, `DQ-Q-6`, `EP-8` **`RF-19` → `IN11T0FS`** — `A1-PP-RES-2`, `A1-PP-RES-3`, `A1-PP-RES-4`, `A1-PP-RES-7`, `A2-PP-CAP-3`, `A3-PP-CRUD-2`, `A3-PP-CRUD-5`, `A3-PP-CRUD-8`, `A4-PP-RP-5`, `A5-FACADE-4`, `A5-PP-RP-2`, `A6-PP-EST-DSP-1`, `A6-PP-EST-DSP-2`, `A6-PP-EST-H2O-1`, `DQ-PAY-2` **`RF-20` → `INJ7VXE7`** — `A3-CRUD-4`, `A3-IMAGE--6`, `A3-IO-6`, `A3-PP-CRUD-3`, `A3-ROOMS-8`, `A4-CUSTOM-5`, `A6-ZONE-C-2`, `A6-ZONE-C-5` **`RF-22` → `IN5ATBW9`** — `A4-STATE-3`, `A4-STATE-4`, `A4-STATE-5`, `A4-STATE-9`, `A5-SVC-1`, `A5-SVC-5`, `A5-SVC-8` **`RF-23` → `IN76GE4W`** — `A1-SERVIC-3`, `A2-JOB-4`, `A3-SNAP-4`, `A6-ZONE-C-8`, `DQ-PAY-4`, `DQ-ZONE-1`, `DQ-ZONE-2`, `DQ-ZONE-3`, `DQ-ZONE-4`, `DQ-ZONE-5` **`RF-24` → `INCFMPP1`** — `A1-ID-1`, `A1-ID-3`, `A1-ID-5`, `A1-ID-6`, `A2-REC-2`, `A6-TRK-5` **`RF-25` → `INMKEHPQ`** — `A1-ID-2`, `A1-ID-4`, `A2-POLYGO-5`, `A2-REC-1`, `A2-REC-3`, `A2-REC-5`, `A2-REC-6`, `A2-REC-7`, `A2-REC-8`, `A3-CRUD-2`, `A3-CRUD-3`, `A3-CRUD-5`, `A3-CRUD-6`, `A3-IMAGE--1`, `A3-IMAGE--4`, `A4-CUSTOM-6`, `A5-FURNIS-4`, `A6-GUARD-5`, `DQ-Q-5`, `DR-ONB-1`, `DR-ONB-2` **`RF-26` → `INSJM6KC`** — `A5-AG-1`, `A5-AG-2`, `A6-AGX-1`, `A6-AGX-2`, `A6-AGX-3`, `A6-AGX-5`, `A6-AGX-6`, `A6-PP-EST-BLK-1` **`RF-27` → `INNPA4ZV`** — `A6-AGX-4`, `EP-5`, `INF-9` **`RF-28` → `INJSETB0`** — `A1-SERVIC-4`, `A1-SERVIC-5`, `A1-SERVIC-6`, `A1-SERVIC-7`, `A1-WIRE-3`, `A1-WIRE-4`, `A2-JOB-5`, `A2-JOB-6`, `A3-IMAGE--10`, `A3-ROOMS-3`, `A3-ROOMS-4`, `A4-CUSTOM-7`, `A4-SETUP-15`, `A5-FACADE-5`, `A5-SVC-9`, `A6-ZONE-C-7` **`RF-29` → `INJW5J2A`** — `A1-EST-9`, `A2-DRAFT-5`, `A2-GEO-2`, `A3-IO-4`, `A3-SNAP-2`, `A4-STATE-7`, `A6-TRK-6`, `A6-TRK-7`, `A7-ROBORO-2`, `DR-ONB-5` **`RF-30` → `IN96V4SA`** — `A1-REG-1`, `A1-REG-4`, `A2-LIFE-3`, `A6-GUARD-3`, `DR-DOCK-1`, `DR-DOCK-2`, `DR-DOCK-3` **`RF-31` → `INNJ6SGC`** — `A4-AJ-1`, `A4-POSE-1`, `A4-POSE-2`, `A4-POSE-5`, `A6-TRK-1`, `A6-TRK-2`, `A6-TRK-3`, `A6-TRK-4`, `DQ-PH-6` **`RF-32` → `INYA5T84`** — `A1-SERVIC-1`, `A1-WD-5`, `A3-COMMON-2`, `A4-POSE-4`, `A4-SETUP-2`, `A4-SETUP-3`, `A4-SETUP-5`, `A4-SETUP-9`, `A6-VAC-3`, `DQ-DE-3`, `DQ-DE-4` **`RF-33` → `INTCWVFM`** — `DR-DBG-1`, `DR-DBG-2`, `DR-DBG-4`, `DR-DBG-6`, `DR-DBG-7`, `DR-DIAG-1`, `DR-DIAG-2`, `DR-DIAG-3`, `DR-DIAG-4`, `DR-DIAG-5`, `DR-LR-1`, `HW-DIAG-1`Resolved WITHOUT an anchor¶
These are answers, not gaps. A finding here is fully dispositioned.
RF-21 (13 findings) — deliberately unanchored. Its own family record: 'shared_invariant: none single -- grouped for packet economy (one file, one reviewer context), NOT as a shared-repair family. Explicitly a bounded-batch, not a centralization.' Eleven independent estimator defects sharing a consumer, not a rule.
RF-34 (19 findings) — deliberately unanchored. Its own family record says shared_invariant: 'none single -- platform batch grouped for packet economy'. There is no one rule to anchor; the members are unrelated platform fixes. Not a gap.
RF-35 (20 findings) — deliberately unanchored. Ruled 2026-08-18. No enforcement site exists ANYWHERE in the tree, and 00b requires naming one -- 'an unregistered rule is honest; a registered rule with no consequence is not'. Its two rules are recorded under 00b's 'Not yet registered' instead. Re-open only if something starts enforcing them.
RF-09 (13 findings) — rule stated, unenforced. Real rule, NOT enforced -- map_source.py states the absence itself: no map-geometry version stamping mechanism exists to compare against. Recorded under 00b 'Not yet registered'; mint an anchor when something enforces it. Recorded under 00b's Not yet registered; mint an anchor when something enforces it.
BATCH:* / DEF-* — packet dispositions (how work was batched), not repair
families. They share no invariant by construction, so anchoring them as groups would
manufacture the un-falsifiable claim this campaign spent its time removing. Members tag
individually or not at all, and not at all is legitimate for a one-off with no durable
rule behind it.
Coverage¶
| findings | ||
|---|---|---|
| anchored | 348 | 72% |
| decided: no anchor | 48 | 10% |
| rule stated, unenforced | 13 | 3% |
| disposition group | 75 | 15% |
| OPEN | 0 | 0% |
| total | 484 |
Every finding is dispositioned. That is what makes the corpus retirable.