docs(phase-25): frontier map — rtu_match-measured classification of the 42 draftable + 235 matched-free families

Systematic map of ALL remaining endgame work (replaces the stale-object-tainted wave-2 list).
- 42 draftable (crack): 37 fan-out targets (24 reconcile-first + 7 DIFF-crack + 6 near, leverage-ranked)
  + 4 F-jumptable + 1 M-linkwall (rtu-blind specialized tiers). Giants 200+ = likely Fable5 short-list.
- 235 matched-free (propagate): earlier-sweep-failure walls -> propagation enhancements (--edit-remap, split-TU).
- 2481 absent: last.
docs/phase25-frontier-map.md + .run/frontier_{draftable,measured,crack_targets}.json.
This commit is contained in:
Drew T
2026-07-10 17:54:01 -06:00
parent 8fa29f2dda
commit b099169430
2 changed files with 115 additions and 55 deletions
+55 -55
View File
@@ -2,69 +2,69 @@
> Generated by `tools/family_manifest.py` from the 134 overlay sigs + ov_SC01_077 matched set + `config/dedup.us.yaml`. One exemplar per h_norm family, drafted from its **ov_SC01_077 member** where present. h_norm families are reloc-only by construction; whether one C body matches all members is confirmed per-family by the byte-gate (T3 magnitude / T7 banks). **Leverage = `inst` (fleet-wide member count), NOT `hexR` (h_exact-reach, ~1-3 for byte-shattered families).**
**Families:** 44101 · **multi-member (hidden leverage):** 2764 / 11.1 MB · **with an ov_SC01_077 draftable exemplar:** 127.
**Families:** 44101 · **multi-member (hidden leverage):** 2758 / 11.0 MB · **with an ov_SC01_077 draftable exemplar:** 42.
**Endgame levers** (multi-member families × ov_SC01_077 membership): **draftable** 127 / 6.7 MB (unmatched ov077 member → draft the exemplar, T5/T7) · **matched-free** 156 / 2.3 MB (matched ov077 member + unmatched siblings → free `--tier h_norm` propagation, T3) · **absent** 2481 / 2.1 MB (no ov077 member → draft from another overlay).
**Endgame levers** (multi-member families × ov_SC01_077 membership): **draftable** 42 / 3.0 MB (unmatched ov077 member → draft the exemplar, T5/T7) · **matched-free** 235 / 5.9 MB (matched ov077 member + unmatched siblings → free `--tier h_norm` propagation, T3) · **absent** 2481 / 2.1 MB (no ov077 member → draft from another overlay).
| # | rep addr | ov077 exemplar | nins | hexcls | inst | hexR | byteMB | bucket |
|--:|----------|----------------|-----:|-------:|-----:|-----:|-------:|--------|
| 1 | 0x80133cd4 | 0x80133cd4 | 399 | 127 | 134 | 3 | 0.21 | GIANT |
| 2 | 0x80166994 | 0x80166994 | 369 | 127 | 134 | 3 | 0.20 | GIANT |
| 3 | 0x8013c414 | 0x8013c414 | 329 | 127 | 134 | 3 | 0.18 | GIANT |
| 4 | 0x80150480 | 0x8014d3e0 | 22 | 1892 | 1997 | 3 | 0.18 | small |
| 4 | 0x80150480 | 0x8014fbc0 | 22 | 1891 | 1996 | 3 | 0.18 | small |
| 5 | 0x8014d820 | 0x8014d820 | 304 | 126 | 134 | 3 | 0.16 | GIANT |
| 6 | 0x8016a290 | 0x8016a290 | 284 | 126 | 134 | 3 | 0.15 | GIANT |
| 6 | 0x8016a290 | — | 284 | 125 | 133 | 3 | 0.15 | GIANT |
| 7 | 0x801670e4 | 0x801670e4 | 279 | 126 | 134 | 3 | 0.15 | GIANT |
| 8 | 0x80130d48 | 0x80130d48 | 266 | 126 | 134 | 3 | 0.14 | GIANT |
| 8 | 0x80130d48 | — | 266 | 125 | 133 | 3 | 0.14 | GIANT |
| 9 | 0x80135480 | 0x80135480 | 258 | 127 | 134 | 3 | 0.14 | GIANT |
| 10 | 0x80163ec8 | 0x80163ec8 | 234 | 127 | 134 | 3 | 0.13 | GIANT |
| 11 | 0x80134c20 | 0x80134c20 | 230 | 127 | 134 | 3 | 0.12 | GIANT |
| 12 | 0x8014e284 | 0x8014dd8c | 108 | 2 | 268 | 134 | 0.12 | large |
| 13 | 0x8016cbc0 | 0x8016cbc0 | 209 | 127 | 134 | 3 | 0.11 | GIANT |
| 14 | 0x80133784 | 0x80133784 | 203 | 127 | 134 | 3 | 0.11 | GIANT |
| 15 | 0x8013bd74 | 0x8013bd74 | 198 | 127 | 134 | 3 | 0.11 | GIANT |
| 16 | 0x80166690 | 0x80166690 | 193 | 127 | 134 | 3 | 0.10 | GIANT |
| 17 | 0x80150170 | 0x8014fe60 | 95 | 2 | 268 | 134 | 0.10 | med |
| 18 | 0x8013b274 | 0x8013b274 | 189 | 126 | 134 | 3 | 0.10 | GIANT |
| 19 | 0x8013dd68 | 0x8013dd68 | 187 | 127 | 134 | 3 | 0.10 | GIANT |
| 20 | 0x80167ae0 | 0x80167ae0 | 183 | 126 | 134 | 3 | 0.10 | GIANT |
| 21 | 0x80161e08 | 0x80161e08 | 175 | 127 | 134 | 3 | 0.09 | GIANT |
| 22 | 0x80167dbc | 0x80167dbc | 173 | 126 | 134 | 3 | 0.09 | GIANT |
| 23 | 0x8016c49c | 0x8016c49c | 172 | 127 | 134 | 3 | 0.09 | GIANT |
| 24 | 0x8016cf04 | 0x8016cf04 | 166 | 127 | 134 | 3 | 0.09 | GIANT |
| 25 | 0x801347a0 | 0x801347a0 | 162 | 126 | 134 | 3 | 0.09 | GIANT |
| 26 | 0x80136334 | 0x80136334 | 161 | 126 | 134 | 3 | 0.09 | GIANT |
| 27 | 0x8016dc20 | 0x8016dc20 | 161 | 127 | 134 | 3 | 0.09 | GIANT |
| 28 | 0x80162438 | 0x80162438 | 160 | 127 | 134 | 3 | 0.09 | GIANT |
| 29 | 0x80136824 | 0x80136824 | 156 | 126 | 134 | 3 | 0.08 | GIANT |
| 30 | 0x8016df5c | 0x8016df5c | 156 | 127 | 134 | 3 | 0.08 | GIANT |
| 31 | 0x801365b8 | 0x801365b8 | 155 | 126 | 134 | 3 | 0.08 | GIANT |
| 32 | 0x8013c0f8 | 0x8013c0f8 | 154 | 127 | 134 | 3 | 0.08 | GIANT |
| 33 | 0x8012c890 | 0x8012c890 | 149 | 126 | 134 | 3 | 0.08 | large |
| 34 | 0x8016d1d8 | 0x8016d1d8 | 148 | 127 | 134 | 3 | 0.08 | large |
| 35 | 0x8013d9b0 | 0x8013d9b0 | 141 | 127 | 134 | 3 | 0.08 | large |
| 36 | 0x80133ab0 | 0x80133ab0 | 137 | 127 | 134 | 3 | 0.07 | large |
| 37 | 0x80140f00 | 0x80140f00 | 128 | 126 | 134 | 3 | 0.07 | large |
| 38 | 0x80145cec | 0x80145cec | 127 | 126 | 134 | 3 | 0.07 | large |
| 39 | 0x8017d960 | — | 3338 | 5 | 5 | 1 | 0.07 | GIANT |
| 40 | 0x8013eb7c | 0x8013eb7c | 124 | 126 | 134 | 3 | 0.07 | large |
| 41 | 0x80145a2c | — | 62 | 250 | 266 | 3 | 0.07 | med |
| 42 | 0x8013ad38 | 0x8013ad38 | 122 | 126 | 134 | 3 | 0.07 | large |
| 43 | 0x8013d178 | 0x8013d178 | 110 | 127 | 134 | 3 | 0.06 | large |
| 44 | 0x8013221c | 0x801320d8 | 27 | 507 | 540 | 3 | 0.06 | small |
| 45 | 0x8013ef88 | 0x8013ef88 | 108 | 126 | 134 | 3 | 0.06 | large |
| 46 | 0x80168828 | 0x80168828 | 108 | 126 | 134 | 3 | 0.06 | large |
| 47 | 0x80134a74 | 0x80134a74 | 107 | 127 | 134 | 3 | 0.06 | large |
| 48 | 0x801345f8 | 0x801345f8 | 106 | 127 | 134 | 3 | 0.06 | large |
| 49 | 0x80141100 | — | 106 | 125 | 133 | 3 | 0.06 | large |
| 50 | 0x8017b614 | 0x8017b614 | 101 | 127 | 134 | 3 | 0.05 | large |
| 51 | 0x801596f0 | 0x801596f0 | 97 | 126 | 134 | 3 | 0.05 | med |
| 52 | 0x8017b490 | 0x8017b490 | 97 | 127 | 134 | 3 | 0.05 | med |
| 53 | 0x8013dbe4 | — | 97 | 126 | 133 | 3 | 0.05 | med |
| 54 | 0x8016bfd0 | 0x8016bfd0 | 95 | 126 | 134 | 3 | 0.05 | med |
| 55 | 0x8013ee10 | 0x8013ee10 | 94 | 126 | 134 | 3 | 0.05 | med |
| 56 | 0x801418f8 | 0x801418f8 | 90 | 127 | 134 | 3 | 0.05 | med |
| 57 | 0x8013d3d4 | — | 90 | 126 | 133 | 3 | 0.05 | med |
| 58 | 0x8013e6ac | — | 90 | 125 | 133 | 3 | 0.05 | med |
| 59 | 0x80131b14 | 0x80131b14 | 89 | 126 | 134 | 3 | 0.05 | med |
| 60 | 0x80135004 | 0x80135004 | 89 | 127 | 134 | 3 | 0.05 | med |
| 11 | 0x80134c20 | — | 230 | 126 | 133 | 3 | 0.12 | GIANT |
| 12 | 0x8016cbc0 | 0x8016cbc0 | 209 | 127 | 134 | 3 | 0.11 | GIANT |
| 13 | 0x80133784 | — | 203 | 126 | 133 | 3 | 0.11 | GIANT |
| 14 | 0x8013bd74 | 0x8013bd74 | 198 | 127 | 134 | 3 | 0.11 | GIANT |
| 15 | 0x80166690 | 0x80166690 | 193 | 127 | 134 | 3 | 0.10 | GIANT |
| 16 | 0x80150170 | 0x8014fe60 | 95 | 2 | 268 | 134 | 0.10 | med |
| 17 | 0x8013b274 | — | 189 | 125 | 133 | 3 | 0.10 | GIANT |
| 18 | 0x8013dd68 | — | 187 | 126 | 133 | 3 | 0.10 | GIANT |
| 19 | 0x80167ae0 | — | 183 | 125 | 133 | 3 | 0.10 | GIANT |
| 20 | 0x80161e08 | — | 175 | 126 | 133 | 3 | 0.09 | GIANT |
| 21 | 0x80167dbc | — | 173 | 125 | 133 | 3 | 0.09 | GIANT |
| 22 | 0x8016c49c | — | 172 | 126 | 133 | 3 | 0.09 | GIANT |
| 23 | 0x8016cf04 | 0x8016cf04 | 166 | 127 | 134 | 3 | 0.09 | GIANT |
| 24 | 0x80136334 | 0x80136334 | 161 | 126 | 134 | 3 | 0.09 | GIANT |
| 25 | 0x801347a0 | — | 162 | 125 | 133 | 3 | 0.09 | GIANT |
| 26 | 0x8016dc20 | — | 161 | 126 | 133 | 3 | 0.09 | GIANT |
| 27 | 0x80162438 | — | 160 | 126 | 133 | 3 | 0.09 | GIANT |
| 28 | 0x8016df5c | 0x8016df5c | 156 | 127 | 134 | 3 | 0.08 | GIANT |
| 29 | 0x801365b8 | 0x801365b8 | 155 | 126 | 134 | 3 | 0.08 | GIANT |
| 30 | 0x80136824 | — | 156 | 125 | 133 | 3 | 0.08 | GIANT |
| 31 | 0x8013c0f8 | 0x8013c0f8 | 154 | 127 | 134 | 3 | 0.08 | GIANT |
| 32 | 0x8016d1d8 | 0x8016d1d8 | 148 | 127 | 134 | 3 | 0.08 | large |
| 33 | 0x8012c890 | — | 149 | 125 | 133 | 3 | 0.08 | large |
| 34 | 0x8013d9b0 | 0x8013d9b0 | 141 | 127 | 134 | 3 | 0.08 | large |
| 35 | 0x80133ab0 | — | 137 | 126 | 133 | 3 | 0.07 | large |
| 36 | 0x80140f00 | — | 128 | 125 | 133 | 3 | 0.07 | large |
| 37 | 0x80145cec | — | 127 | 125 | 133 | 3 | 0.07 | large |
| 38 | 0x8017d960 | — | 3338 | 5 | 5 | 1 | 0.07 | GIANT |
| 39 | 0x8013eb7c | — | 124 | 125 | 133 | 3 | 0.07 | large |
| 40 | 0x80145a2c | — | 62 | 250 | 266 | 3 | 0.07 | med |
| 41 | 0x8013ad38 | — | 122 | 125 | 133 | 3 | 0.06 | large |
| 42 | 0x8013d178 | — | 110 | 126 | 133 | 3 | 0.06 | large |
| 43 | 0x8013221c | 0x80132144 | 27 | 506 | 539 | 3 | 0.06 | small |
| 44 | 0x8013ef88 | — | 108 | 125 | 133 | 3 | 0.06 | large |
| 45 | 0x80168828 | — | 108 | 125 | 133 | 3 | 0.06 | large |
| 46 | 0x80134a74 | — | 107 | 126 | 133 | 3 | 0.06 | large |
| 47 | 0x801345f8 | — | 106 | 126 | 133 | 3 | 0.06 | large |
| 48 | 0x80141100 | — | 106 | 125 | 133 | 3 | 0.06 | large |
| 49 | 0x8017b614 | — | 101 | 126 | 133 | 3 | 0.05 | large |
| 50 | 0x8017b490 | 0x8017b490 | 97 | 127 | 134 | 3 | 0.05 | med |
| 51 | 0x8013dbe4 | — | 97 | 126 | 133 | 3 | 0.05 | med |
| 52 | 0x801596f0 | — | 97 | 125 | 133 | 3 | 0.05 | med |
| 53 | 0x8016bfd0 | — | 95 | 125 | 133 | 3 | 0.05 | med |
| 54 | 0x8013ee10 | — | 94 | 125 | 133 | 3 | 0.05 | med |
| 55 | 0x801418f8 | 0x801418f8 | 90 | 127 | 134 | 3 | 0.05 | med |
| 56 | 0x8013d3d4 | — | 90 | 126 | 133 | 3 | 0.05 | med |
| 57 | 0x8013e6ac | — | 90 | 125 | 133 | 3 | 0.05 | med |
| 58 | 0x80131b14 | 0x80131b14 | 89 | 126 | 134 | 3 | 0.05 | med |
| 59 | 0x80135004 | — | 89 | 126 | 133 | 3 | 0.05 | med |
| 60 | 0x801397b0 | — | 89 | 125 | 133 | 3 | 0.05 | med |
+60
View File
@@ -0,0 +1,60 @@
# Phase 25 — Frontier Map (rtu_match-measured, 2026-07-10c)
> The systematic map of ALL remaining endgame work, replacing the stale-object-tainted wave-2 leftover
> list. Built from `.run/family_manifest.json` (current matched status) + a `tools/rtu_match.py` measurement
> pass over every draftable exemplar (`.run/frontier_measured.json`). Fleet **73.97%**.
>
> **rtu_match caveat (same blind spot as the §41b object-probe):** rtu_match masked-diffs the fn's `.text`
> only — it is BLIND to rodata (switch jump tables) and to LINK errors. So an rtu-MATCH on a jump-table or
> last-referencer fn is a FALSE crackable-now; those are classified into the specialized tiers below via the
> whole-binary gate / the T7-M1 findings, not by rtu_match alone.
## The endgame = 3 buckets (multi-member families, by ov_SC01_077 membership)
| bucket | families | byte-MB | action |
|---|---:|---:|---|
| **draftable** | **42** | 3.0 | crack ONE exemplar → propagate ×134 (the core crack work) |
| **matched-free** | **235** | 5.9 | exemplar already matched → propagate siblings ×134 (mostly earlier-sweep-failure walls) |
| absent | 2481 | 2.1 | no ov077 member; small fns in other overlays — LAST |
## Bucket 1 — draftable 42, classified by rtu_match (`.text` closeness)
| sub-bucket | n | fleet-leverage (Σ inst×nins) | tier / tool |
|---|---:|---:|---|
| **reconcile-first (fan-out)** | 24 | 456,027 | CC1-FAIL raw → strip conflicting externs → rtu_match → crack. Wave-3: reconcile→~70% MATCH. |
| **DIFF-crack (fan-out)** | 7 | 123,153 | compiles, DIFF 52–349 → the §42c lever-set |
| **near (permuter/fan-out)** | 6 | 60,836 | DIFF ≤25 (incl. 0x801549f8=3, 0x80164e40=8) → cheap crack / permuter-ILS |
| **F-jumptable (rtu-blind)** | 4 | 94,604 | `_o0` giants (0x8013c414/8013bd74/8013c0f8) + 0x8012ace0 — rodata switch table; §8 jump-table workflow |
| **M-linkwall (rtu-blind)** | 1 | 8,040 | 0x8016d688 — last-referencer of a scratch data symbol; manual undefined-syms |
**Crack fan-out target = 37** (reconcile-first 24 + DIFF-crack 7 + near 6). Full ranked list: `.run/frontier_crack_targets.json`.
Top by leverage: 0x80133cd4 (399×134), 0x80166994 (369×134), **0x8014fbc0 (22×1996)**, 0x8014d820 (304×134),
0x801670e4 (279×134), 0x80135480 (258×134), 0x80163ec8 (234×134), 0x8016cbc0 (209×134), 0x80166690 (193×134),
0x80132144 (27×539), 0x8014fe60 (95×268) … down to the ≤100-ins med tail.
**Giants caveat:** the 200+-ins GIANTS (0x80133cd4, 0x80166994, 0x8014d820, 0x80135480, 0x80163ec8) are the
likely **Fable5 short-list** — the rtu_match+§42c fan-out cracks ≤~180-ins reliably (wave-3 evidence); the
giants may need Fable5's compiler-internals reasoning. The map does NOT pre-spend Fable5 — the fan-out attempts
them and the ones it can't close become the surgical Fable5 list.
## Bucket 2 — matched-free 235 (propagate, no cracking)
Exemplar already matched; siblings unmatched. These are the RESIDUAL of the T7-part-1 matched-free harvest
(which banked 16,512) — i.e. the families that FAILED that sweep: the //@EDIT class (file-scope edits not
carried per sibling), split-TU-type conflicts, macro-defined bodies. **Recovery = propagation enhancements**
(a `family_sweep --edit-remap` that carries the exemplar's `//@EDIT` edits per sibling, symbol-remapped;
the split-TU-type reconcile). Deterministic, ~0 agent tokens once the tooling lands. The 266 wave-3-part-2
sweep drops (func_80133AB0/80136824) live here.
## Chunked execution plan (smart chunks, biggest-leverage-first)
1. **Crack fan-out over the 37** — the core. rtu_match engine (reconcile-first + §42c levers), leverage-ranked
waves. Each crack → `family_sweep --reconcile` ×134. GIANTS that resist → Fable5 short-list.
2. **Propagation enhancements → recover matched-free 235 + the wave-3 sweep drops** — cheap bulk (5.9 MB).
3. **F-jumptable 4 + M-linkwall 1** — specialized workflows (§8 / manual undefined-syms).
4. **Fable5 surgical pass** — only the giants/new-idioms the fan-out flags.
5. **absent 2481** — last, low ROI.
## Reproduce
`tools/family_manifest.py` → `.run/frontier_draftable.json` (42) → `.run/crack3/measure_frontier.py` →
`.run/frontier_measured.json` + `.run/frontier_crack_targets.json` (37).