mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 14:02:04 -04:00
c14f15a09f
WAVE-2 MEASURED THE INDEX: 15/19 index hits and the bank rate went 57% (wave 1, no index) -> 79% (wave 2, index-first) on the same gate. Agents also NAMED its gaps, which is the flywheel working. Two real defects found and fixed: 1. COVERAGE. The parser required a '§' prefix, so 111 h2-h4 headers were invisible — including '### T4 — Branch polarity', the fix match_one names by class (BRANCH-POLARITY) and which two agents re-derived by hand, and the §1/§2 idiom-catalog entries (I1-I4, T1-T4). 2. THE ASSERTION ITSELF. My R32 check compared §-headers-parsed against §-header-CANDIDATES — a tautology over a set I had already narrowed. R32 says the candidate set must OVER-approximate; it now counts EVERY header and accounts for each as indexed-or-explicitly-skipped. The tool written to stop silent skips had the silent-skip defect. 3. Keyword matching over titles cannot surface an idiom whose title omits the symptom, so the index now opens with a hand-curated SYMPTOM -> section list, seeded from what agents actually hit (branch polarity, (void)-canon conflicting types, asm-label alias, one-base-register reuse, folded andi, slti/sltiu, sibling-first, delay-slot theft, void->s32).