Files
BFM-decomp/docs/exemplar_curriculum.md
T
Drew T ba6cb87d30 feat(phase-20): T2 — exemplar_miner routes 835 residuals (WAVE 472 / PINS 45 reach-134 / STUB 90)
- tools/exemplar_miner.py: consume wall_taxonomy.json + per-overlay reach (dedup_propagate's
  computation) -> route each residual to a lever (WAVE/STRUCT/PINS/STUB); emit
  docs/exemplar_curriculum.md + .run/exemplar_routing.json (wave-gen input)
- routing: WAVE 472 (218 reach-134, T6 fuel) / STRUCT 159 / PINS 114 (45 reach-134) / STUB 90
  (74 ARITY_WALL loose-typing + 16 NONFAITHFUL, honest P9)
- KEY T3 input: 17 reach-134 fns at m2c-mismatch=1 = cleanest regalloc/schedule isolates
  (likely SS17-pins wins + the genuine class residuals); 3 named exemplars confirmed reach-134
- note: census is the Jun-19 snapshot (pre-Phase-19 waves); T5/T6 regen = authoritative WAVE list
2026-06-20 23:55:51 -06:00

145 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# BFM residual curriculum / router (generated by tools/exemplar_miner.py)
# census: .run/wall_taxonomy.json (snapshot 2026-06-19, 835 unregistered residual stubs in ov_SC01_077)
# reach = #overlays sharing the byte-identical copy (×N propagation leverage), computed from sigs.
# ROUTING IS ADVISORY — the per-overlay byte-gate is the sole arbiter (G3/P9). `mismatch` is the
# M2C-DRAFT mismatch (scaffold quality), NOT the hand-match floor.
## Routing summary (by lever, reach-weighted)
| lever | fns | reach-134 | Σ reach | what it is |
|---|---|---|---|---|
| WAVE | 472 | 218 | 29468 | Ultracode swarm + §17 toolkit + canon-first gate (the yield engine, T6) |
| STRUCT | 159 | 12 | 1755 | m2c blocked on a type (fn-ptr/jump tables, struct deref) — needs type context |
| PINS | 114 | 45 | 6099 | regalloc/schedule near-miss — register-pin hand-match; class-crack pool (T3) |
| STUB | 90 | 58 | 7804 | fundamental loose-typing (ARITY_WALL) / non-faithful — honest INCLUDE_ASM (P9) |
## WAVE pool — reach-134, ranked (T6 fuel; 218 fns, smallest first)
| addr | nins | bucket | reach |
|---|---|---|---|
| 80174684 | 8 | DATA_CONFLICT | 134 |
| 8014C8C8 | 10 | STRUCTURAL_MISS | 134 |
| 801705C0 | 14 | OTHER_CONFLICT | 134 |
| 80161BE0 | 17 | STRUCTURAL_MISS | 134 |
| 8016E918 | 17 | STRUCTURAL_MISS | 134 |
| 801710DC | 17 | SIG_FIXABLE_KR | 134 |
| 80146A6C | 18 | STRUCTURAL_MISS | 134 |
| 8016B91C | 18 | MCOMPILE_arg-arity | 134 |
| 8012A418 | 19 | STRUCTURAL_MISS | 134 |
| 8012C2D0 | 19 | STRUCTURAL_MISS | 134 |
| 8016E778 | 20 | STRUCTURAL_MISS | 134 |
| 80172C50 | 20 | STRUCTURAL_MISS | 134 |
| 801612B8 | 21 | STRUCTURAL_MISS | 134 |
| 8016EDEC | 21 | STRUCTURAL_MISS | 134 |
| 8016EE40 | 21 | STRUCTURAL_MISS | 134 |
| 8016BF50 | 22 | STRUCTURAL_MISS | 134 |
| 801718AC | 22 | VOID_VALUE_MISUSE | 134 |
| 80149374 | 23 | STRUCTURAL_MISS | 134 |
| 801493D0 | 23 | STRUCTURAL_MISS | 134 |
| 8015C030 | 23 | STRUCTURAL_MISS | 134 |
| 8012A598 | 24 | STRUCTURAL_MISS | 134 |
| 8012A62C | 24 | STRUCTURAL_MISS | 134 |
| 801466F0 | 24 | STRUCTURAL_MISS | 134 |
| 8016191C | 24 | STRUCTURAL_MISS | 134 |
| 8017248C | 24 | STRUCTURAL_MISS | 134 |
| 80157580 | 25 | VOID_VALUE_MISUSE | 134 |
| 80137614 | 26 | SIG_FIXABLE_KR | 134 |
| 8016130C | 26 | STRUCTURAL_MISS | 134 |
| 8013C08C | 27 | STRUCTURAL_MISS | 134 |
| 8013E448 | 27 | STRUCTURAL_MISS | 134 |
| 80168B70 | 27 | MCOMPILE_arg-arity | 134 |
| 8012F274 | 29 | STRUCTURAL_MISS | 134 |
| 80131CF4 | 29 | STRUCTURAL_MISS | 134 |
| 80147364 | 30 | STRUCTURAL_MISS | 134 |
| 801494CC | 30 | MCOMPILE_stack-var | 134 |
| 8016706C | 30 | STRUCTURAL_MISS | 134 |
| 801708B0 | 30 | MCOMPILE_stack-var | 134 |
| 80149450 | 31 | MCOMPILE_stack-var | 134 |
| 80149F2C | 31 | STRUCTURAL_MISS | 134 |
| 8014A51C | 32 | STRUCTURAL_MISS | 134 |
| 8014F3E8 | 32 | SIG_FIXABLE_KR | 134 |
| 80177F84 | 32 | STRUCTURAL_MISS | 134 |
| 8012F038 | 33 | MCOMPILE_stack-var | 134 |
| 80142B2C | 34 | VOID_VALUE_MISUSE | 134 |
| 80144B14 | 34 | STRUCTURAL_MISS | 134 |
| 801495C4 | 34 | MCOMPILE_stack-var | 134 |
| 8014964C | 34 | MCOMPILE_stack-var | 134 |
| 80161A90 | 34 | STRUCTURAL_MISS | 134 |
| 80177AD4 | 34 | STRUCTURAL_MISS | 134 |
| 8012F568 | 35 | STRUCTURAL_MISS | 134 |
| 8012F40C | 36 | STRUCTURAL_MISS | 134 |
| 80161888 | 37 | MCOMPILE_arg-arity | 134 |
| 8012B0B4 | 38 | MCOMPILE_m2c-incomplete-arg | 134 |
| 80131D68 | 38 | STRUCTURAL_MISS | 134 |
| 80147C30 | 38 | MCOMPILE_stack-var | 134 |
| 801778A8 | 38 | STRUCTURAL_MISS | 134 |
| 8014A59C | 39 | STRUCTURAL_MISS | 134 |
| 8012E28C | 40 | STRUCTURAL_MISS | 134 |
| 8014FD54 | 40 | MCOMPILE_stack-var | 134 |
| 80171FFC | 40 | STRUCTURAL_MISS | 134 |
| …+158 more | | | |
## PINS / permuter-class — reach-134 near-misses (45 fns; class-crack candidate pool)
| addr | nins | m2c-mismatch | reach |
|---|---|---|---|
| 80153C44 | 12 | 1 | 134 |
| 8015CC0C | 13 | 1 | 134 |
| 8015CF58 | 13 | 1 | 134 |
| 80161208 | 14 | 1 | 134 |
| 801711FC | 15 | 1 | 134 |
| 8015CCD0 | 20 | 1 | 134 |
| 8015F948 | 23 | 1 | 134 |
| 8016F0E4 | 26 | 1 | 134 |
| 80151664 | 35 | 1 | 134 |
| 801522CC | 41 | 1 | 134 |
| 80152C80 | 41 | 1 | 134 |
| 80163764 | 42 | 1 | 134 |
| 80136DFC | 50 | 1 | 134 |
| 80151C54 | 52 | 1 | 134 |
| 80144558 | 53 | 1 | 134 |
| 801446A4 | 54 | 1 | 134 |
| 80155C64 | 67 | 1 | 134 |
| 8014BD60 | 14 | 2 | 134 |
| 80130514 | 46 | 2 | 134 |
| 801683D8 | 22 | 3 | 134 |
| 80157AC8 | 43 | 3 | 134 |
| 80171C64 | 24 | 4 | 134 |
| 80146AFC | 40 | 4 | 134 |
| 80129C40 | 46 | 4 | 134 |
| 8016432C | 57 | 4 | 134 |
| 80131CA8 | 19 | 5 | 134 |
| 80141B90 | 29 | 5 | 134 |
| 80155F80 | 12 | 6 | 134 |
| 801576A8 | 29 | 6 | 134 |
| 80131A34 | 37 | 6 | 134 |
| 8014C168 | 14 | 8 | 134 |
| 80155D70 | 48 | 8 | 134 |
| 8015F380 | 50 | 8 | 134 |
| 80136D08 | 61 | 8 | 134 |
| 801733FC | 25 | 9 | 134 |
| 80155EA4 | 45 | 9 | 134 |
| 80175414 | 16 | 10 | 134 |
| 80151B98 | 47 | 10 | 134 |
| 8014E5B4 | 59 | 10 | 134 |
| 80152500 | 61 | 10 | 134 |
| 8016A08C | 80 | 10 | 134 |
| 80170CF0 | 30 | 11 | 134 |
| 801415C0 | 51 | 11 | 134 |
| 80156600 | 18 | 13 | 134 |
| 80132288 | 97 | 14 | 134 |
## Named class-crack exemplars (T3 — the Max spikes)
| addr | class | census bucket | nins | reach |
|---|---|---|---|---|
| 8012C2D0 | loop-guard operand-order (loop.c get_condition) — T3b | STRUCTURAL_MISS | 19 | 134 |
| 8014F2E0 | store-vs-load scheduling tie-break (sched.c) — T3c | STRUCTURAL_MISS | 66 | 134 |
| 8013C360 | -O0 %lo-folding cluster (address-mode split) — T3a | STRUCTURAL_MISS | 45 | 134 |
## STUB residual (honest, no lever — P9)
90 fns: ARITY_WALL=74, NONFAITHFUL_DEFER=16