From b0991694302388ea16a799d78eed115b68a2131b Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 10 Jul 2026 17:54:01 -0600 Subject: [PATCH] =?UTF-8?q?docs(phase-25):=20frontier=20map=20=E2=80=94=20?= =?UTF-8?q?rtu=5Fmatch-measured=20classification=20of=20the=2042=20draftab?= =?UTF-8?q?le=20+=20235=20matched-free=20families?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- docs/family-manifest.md | 110 +++++++++++++++++------------------ docs/phase25-frontier-map.md | 60 +++++++++++++++++++ 2 files changed, 115 insertions(+), 55 deletions(-) create mode 100644 docs/phase25-frontier-map.md diff --git a/docs/family-manifest.md b/docs/family-manifest.md index 07dc9d756..548121936 100644 --- a/docs/family-manifest.md +++ b/docs/family-manifest.md @@ -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 | diff --git a/docs/phase25-frontier-map.md b/docs/phase25-frontier-map.md new file mode 100644 index 000000000..9cf4245e8 --- /dev/null +++ b/docs/phase25-frontier-map.md @@ -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).