feat(phase-31 T10 wave-A): adapt lane opens — 12 banked +1 prop (75% draft / 67% gate, ~117k tok/bank); ledger + lessons

This commit is contained in:
Drew T
2026-08-14 21:12:28 -06:00
parent bd7e078ed0
commit 2655585c45
4 changed files with 910 additions and 888 deletions
+12
View File
@@ -1693,3 +1693,15 @@
{"ts": "2026-08-14 19:58:57", "addr": "0x8017da00", "name": "func_8017DA00", "reach": null, "klass": "cse", "nins": null, "status": "near", "closeness": 6, "where_stuck": "warmstart from ov_SC03_107:func_8016039C", "best_draft": ".run/warmstart/ov_SC06_008/func_8017DA00.c", "binary": "ov_SC06_008", "source": "warmstart", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 19:58:57", "addr": "0x8017da00", "name": "func_8017DA00", "reach": null, "klass": "cse", "nins": null, "status": "near", "closeness": 6, "where_stuck": "warmstart from ov_SC03_107:func_8016084C", "best_draft": ".run/warmstart/ov_SC06_008/func_8017DA00.c", "binary": "ov_SC06_008", "source": "warmstart", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 19:58:57", "addr": "0x8017da00", "name": "func_8017DA00", "reach": null, "klass": "cse", "nins": null, "status": "near", "closeness": 6, "where_stuck": "warmstart from ov_SC03_107:func_80160B34", "best_draft": ".run/warmstart/ov_SC06_008/func_8017DA00.c", "binary": "ov_SC06_008", "source": "warmstart", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 20:41:51", "addr": "0x8017d8dc", "name": "func_8017D8DC", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017D8DC.c", "binary": "ov_SC01_074", "source": "worker", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 20:46:16", "addr": "0x80186c44", "name": "func_80186C44", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 0, "where_stuck": "match_one MATCH but the whole-binary gate rejected \u2014 CAUSE NOT DETERMINED. FIRST re-derive the destination TU from the asm subdir: asm/<ov>/nonmatchings/<TU_stem>/<fn>.s => src/<ov>/<TU_stem>.c (the third path component IS the TU). Only then look for a decl conflict or a codegen residual.", "best_draft": ".run/backlog_drafts/func_80186C44.c", "binary": "ov_SC02_000", "source": "worker", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 20:50:45", "addr": "0x8017db10", "name": "func_8017DB10", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 0, "where_stuck": "match_one MATCH but the whole-binary gate rejected \u2014 CAUSE NOT DETERMINED. FIRST re-derive the destination TU from the asm subdir: asm/<ov>/nonmatchings/<TU_stem>/<fn>.s => src/<ov>/<TU_stem>.c (the third path component IS the TU). Only then look for a decl conflict or a codegen residual.", "best_draft": ".run/backlog_drafts/func_8017DB10.c", "binary": "ov_SC02_041", "source": "worker", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 20:55:42", "addr": "0x8017da98", "name": "func_8017DA98", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": ".run/backlog_drafts/func_8017DA98.c", "binary": "ov_SC03_014", "source": "worker", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 20:59:41", "addr": "0x801817b8", "name": "func_801817B8", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 0, "where_stuck": "match_one MATCH but the whole-binary gate rejected \u2014 CAUSE NOT DETERMINED. FIRST re-derive the destination TU from the asm subdir: asm/<ov>/nonmatchings/<TU_stem>/<fn>.s => src/<ov>/<TU_stem>.c (the third path component IS the TU). Only then look for a decl conflict or a codegen residual.", "best_draft": ".run/backlog_drafts/func_801817B8.c", "binary": "ov_SC04_018", "source": "worker", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 21:00:46", "addr": "0x80189380", "name": "func_80189380", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 0, "where_stuck": "match_one MATCH but the whole-binary gate rejected \u2014 CAUSE NOT DETERMINED. FIRST re-derive the destination TU from the asm subdir: asm/<ov>/nonmatchings/<TU_stem>/<fn>.s => src/<ov>/<TU_stem>.c (the third path component IS the TU). Only then look for a decl conflict or a codegen residual.", "best_draft": ".run/backlog_drafts/func_80189380.c", "binary": "ov_SC06_018", "source": "worker", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 21:05:55", "addr": "0x8018983c", "name": "func_8018983C", "reach": null, "klass": "schedule", "nins": null, "status": "near", "closeness": 3, "where_stuck": "wave-A NEAR", "best_draft": ".run/wave_p31a/ov_SC02_011/func_8018983C.c", "binary": "ov_SC02_011", "source": "warmstart", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 21:05:55", "addr": "0x801816a8", "name": "func_801816A8", "reach": null, "klass": "schedule", "nins": null, "status": "near", "closeness": 1, "where_stuck": "wave-A NEAR", "best_draft": ".run/wave_p31a/ov_SC04_018/func_801816A8.c", "binary": "ov_SC04_018", "source": "warmstart", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 21:05:55", "addr": "0x8017dcb0", "name": "func_8017DCB0", "reach": null, "klass": "LENGTH-DRIFT", "nins": null, "status": "near", "closeness": 30, "where_stuck": "wave-A NEAR", "best_draft": ".run/wave_p31a/ov_MAIN_012/func_8017DCB0.c", "binary": "ov_MAIN_012", "source": "warmstart", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 21:05:55", "addr": "0x80181d04", "name": "func_80181D04", "reach": null, "klass": "schedule", "nins": null, "status": "near", "closeness": 13, "where_stuck": "wave-A NEAR", "best_draft": ".run/wave_p31a/ov_SC03_093/func_80181D04.c", "binary": "ov_SC03_093", "source": "warmstart", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 21:05:55", "addr": "0x8018406c", "name": "func_8018406C", "reach": null, "klass": "regalloc-order", "nins": null, "status": "near", "closeness": 3, "where_stuck": "wave-A NEAR", "best_draft": ".run/wave_p31a/ov_SC03_089/func_8018406C.c", "binary": "ov_SC03_089", "source": "warmstart", "residual": null, "passes_tried": null}
{"ts": "2026-08-14 21:05:55", "addr": "0x801efea4", "name": "func_801EFEA4", "reach": null, "klass": "schedule", "nins": null, "status": "near", "closeness": 3, "where_stuck": "wave-A NEAR", "best_draft": ".run/wave_p31a/md_SC03_075/func_801EFEA4.c", "binary": "md_SC03_075", "source": "warmstart", "residual": null, "passes_tried": null}
+871 -870
View File
File diff suppressed because it is too large Load Diff
+18 -18
View File
@@ -4,16 +4,16 @@
# cross-binary collapsible-byte leverage: docs/duplicates.cross.md.
# THREE progress metrics (all matter — see the labels):
FLEET fn-count byte-ident: 351114 / 363163 = 96.68% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 12885970 / 13523865 = 95.3% (shipped .text across main + resident + 211 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 5269247 / 5851972 = 90.0% (81381/90929 unique fns; the DISTINCT-RE number)
FLEET fn-count byte-ident: 351126 / 363163 = 96.69% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 12886273 / 13523865 = 95.3% (shipped .text across main + resident + 211 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 5269550 / 5851972 = 90.0% (81393/90929 unique fns; the DISTINCT-RE number)
MAIN game-code weighted : 436 / 79510 = 0.5% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-08-05; caveat is R34: no independent second oracle for a PS-X EXE, NOT drift)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 12885534 / 13444355 = 95.8%)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 12885837 / 13444355 = 95.8%)
FLEET REAL substantive : 348944 (of which dedup-shared 254445 via 2063 groups / 254521 instances)
FLEET REAL substantive : 348956 (of which dedup-shared 254445 via 2063 groups / 254521 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 12042
FLEET INCLUDE_ASM stubs : 12030
FLEET matchable : 363163
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
@@ -61,7 +61,7 @@ FLEET matchable : 363163
| md_MAIN_047 | 3 | 0 | 0 | 4 | 12 | 33.3% |
| md_SC02_009 | 5 | 0 | 0 | 5 | 40 | 12.5% |
| md_SC03_073 | 27 | 10 | 0 | 27 | 28 | 96.4% |
| md_SC03_074 | 25 | 10 | 0 | 25 | 29 | 86.2% |
| md_SC03_074 | 26 | 10 | 0 | 26 | 29 | 89.7% |
| md_SC03_075 | 29 | 10 | 0 | 29 | 41 | 70.7% |
| md_SC03_076 | 34 | 0 | 0 | 36 | 66 | 54.5% |
| md_SC03_077 | 24 | 0 | 0 | 26 | 35 | 74.3% |
@@ -81,7 +81,7 @@ FLEET matchable : 363163
| md_SC04_028 | 24 | 0 | 0 | 26 | 35 | 74.3% |
| md_SC04_029 | 22 | 0 | 0 | 24 | 27 | 88.9% |
| md_SC04_030 | 24 | 0 | 0 | 28 | 31 | 90.3% |
| md_SC05_023 | 23 | 0 | 0 | 25 | 28 | 89.3% |
| md_SC05_023 | 24 | 0 | 0 | 26 | 28 | 92.9% |
| md_SC05_024 | 21 | 0 | 0 | 23 | 29 | 79.3% |
| md_SC05_025 | 25 | 0 | 0 | 27 | 41 | 65.9% |
| md_SC05_026 | 32 | 0 | 0 | 34 | 66 | 51.5% |
@@ -90,7 +90,7 @@ FLEET matchable : 363163
| md_SC05_029 | 23 | 0 | 0 | 27 | 31 | 87.1% |
| md_SC07_003 | 18 | 0 | 0 | 18 | 100 | 18.0% |
| md_SC07_004 | 43 | 0 | 0 | 43 | 315 | 13.7% |
| ov_MAIN_012 | 2235 | 1689 | 0 | 2314 | 2403 | 96.3% |
| ov_MAIN_012 | 2236 | 1689 | 0 | 2315 | 2403 | 96.3% |
| ov_SC01_000 | 2390 | 1809 | 0 | 2390 | 2403 | 99.5% |
| ov_SC01_001 | 2400 | 1811 | 0 | 2402 | 2466 | 97.4% |
| ov_SC01_004 | 2399 | 1802 | 0 | 2400 | 2414 | 99.4% |
@@ -101,14 +101,14 @@ FLEET matchable : 363163
| ov_SC01_074 | 2400 | 1803 | 0 | 2402 | 2426 | 99.0% |
| ov_SC01_077 | 2568 | 1764 | 0 | 2570 | 2586 | 99.4% |
| ov_SC01_080 | 2426 | 1806 | 0 | 2426 | 2512 | 96.6% |
| ov_SC01_084 | 2450 | 1811 | 0 | 2455 | 2579 | 95.2% |
| ov_SC01_084 | 2451 | 1811 | 0 | 2456 | 2579 | 95.2% |
| ov_SC02_000 | 2533 | 1853 | 0 | 2533 | 2683 | 94.4% |
| ov_SC02_003 | 2532 | 1853 | 0 | 2532 | 2683 | 94.4% |
| ov_SC02_004 | 2391 | 1806 | 0 | 2391 | 2401 | 99.6% |
| ov_SC02_005 | 2546 | 1802 | 0 | 2556 | 2927 | 87.3% |
| ov_SC02_011 | 2644 | 1810 | 0 | 2654 | 2893 | 91.7% |
| ov_SC02_015 | 2402 | 1808 | 0 | 2402 | 2414 | 99.5% |
| ov_SC02_016 | 2484 | 1810 | 0 | 2487 | 2545 | 97.7% |
| ov_SC02_016 | 2485 | 1810 | 0 | 2488 | 2545 | 97.8% |
| ov_SC02_017 | 2557 | 1810 | 0 | 2565 | 2732 | 93.9% |
| ov_SC02_021 | 2407 | 1808 | 0 | 2407 | 2437 | 98.8% |
| ov_SC02_026 | 2513 | 1807 | 0 | 2519 | 2572 | 97.9% |
@@ -118,17 +118,17 @@ FLEET matchable : 363163
| ov_SC02_035 | 2497 | 1806 | 0 | 2500 | 2520 | 99.2% |
| ov_SC02_037 | 2339 | 1704 | 0 | 2421 | 2516 | 96.2% |
| ov_SC02_039 | 2397 | 1806 | 0 | 2397 | 2416 | 99.2% |
| ov_SC02_041 | 2490 | 1806 | 0 | 2493 | 2561 | 97.3% |
| ov_SC02_041 | 2491 | 1806 | 0 | 2494 | 2561 | 97.4% |
| ov_SC03_001 | 2698 | 1807 | 0 | 2715 | 2869 | 94.6% |
| ov_SC03_002 | 2549 | 1815 | 0 | 2564 | 2631 | 97.5% |
| ov_SC03_002 | 2550 | 1815 | 0 | 2565 | 2631 | 97.5% |
| ov_SC03_003 | 2401 | 1806 | 0 | 2402 | 2423 | 99.1% |
| ov_SC03_006 | 2569 | 1814 | 0 | 2578 | 2767 | 93.2% |
| ov_SC03_007 | 2469 | 1806 | 0 | 2473 | 2623 | 94.3% |
| ov_SC03_010 | 2421 | 1806 | 0 | 2421 | 2471 | 98.0% |
| ov_SC03_010 | 2422 | 1806 | 0 | 2422 | 2471 | 98.0% |
| ov_SC03_011 | 2425 | 1806 | 0 | 2431 | 2527 | 96.2% |
| ov_SC03_012 | 2391 | 1806 | 0 | 2392 | 2406 | 99.4% |
| ov_SC03_013 | 2426 | 1806 | 0 | 2426 | 2493 | 97.3% |
| ov_SC03_014 | 2593 | 1841 | 0 | 2593 | 2685 | 96.6% |
| ov_SC03_014 | 2594 | 1841 | 0 | 2594 | 2685 | 96.6% |
| ov_SC03_015 | 2375 | 1841 | 0 | 2375 | 2468 | 96.2% |
| ov_SC03_023 | 2404 | 1806 | 0 | 2405 | 2435 | 98.8% |
| ov_SC03_024 | 2530 | 1813 | 0 | 2537 | 2641 | 96.1% |
@@ -140,7 +140,7 @@ FLEET matchable : 363163
| ov_SC03_090 | 2542 | 1811 | 0 | 2550 | 2625 | 97.1% |
| ov_SC03_091 | 2557 | 1828 | 0 | 2565 | 2640 | 97.2% |
| ov_SC03_092 | 2515 | 1811 | 0 | 2527 | 2588 | 97.6% |
| ov_SC03_093 | 2528 | 1828 | 0 | 2532 | 2563 | 98.8% |
| ov_SC03_093 | 2529 | 1828 | 0 | 2533 | 2563 | 98.8% |
| ov_SC03_094 | 2519 | 1806 | 0 | 2525 | 2577 | 98.0% |
| ov_SC03_095 | 2440 | 1806 | 0 | 2443 | 2474 | 98.7% |
| ov_SC03_096 | 2437 | 1806 | 0 | 2440 | 2465 | 99.0% |
@@ -164,7 +164,7 @@ FLEET matchable : 363163
| ov_SC03_115 | 2437 | 1806 | 0 | 2439 | 2472 | 98.7% |
| ov_SC03_116 | 2404 | 1806 | 0 | 2407 | 2438 | 98.7% |
| ov_SC03_117 | 2483 | 1806 | 0 | 2489 | 2557 | 97.3% |
| ov_SC03_118 | 2570 | 1839 | 0 | 2571 | 2684 | 95.8% |
| ov_SC03_118 | 2571 | 1839 | 0 | 2572 | 2684 | 95.8% |
| ov_SC03_119 | 2569 | 1839 | 0 | 2570 | 2685 | 95.7% |
| ov_SC03_121 | 2407 | 1807 | 0 | 2409 | 2459 | 98.0% |
| ov_SC03_124 | 2597 | 1802 | 0 | 2617 | 2741 | 95.5% |
@@ -212,7 +212,7 @@ FLEET matchable : 363163
| ov_SC06_014 | 2418 | 1806 | 0 | 2420 | 2453 | 98.7% |
| ov_SC06_015 | 2412 | 1806 | 0 | 2412 | 2421 | 99.6% |
| ov_SC06_016 | 2455 | 1807 | 0 | 2457 | 2549 | 96.4% |
| ov_SC06_018 | 2547 | 1807 | 0 | 2554 | 2665 | 95.8% |
| ov_SC06_018 | 2548 | 1807 | 0 | 2555 | 2665 | 95.9% |
| ov_SC06_020 | 2472 | 1808 | 0 | 2473 | 2518 | 98.2% |
| ov_SC06_022 | 2523 | 1806 | 0 | 2531 | 2642 | 95.8% |
| ov_SC06_024 | 2542 | 1806 | 0 | 2548 | 2667 | 95.5% |
+9
View File
@@ -57,6 +57,15 @@ R22 clean-fleet **213/213** after every banked batch · tools-health green · 0
- 2026-08-14 — **T9 COMPLETE.** `tools/warmstart.py` (the permuter/grinder FEEDER): `--from-banked` walks a banked exemplar's h_seq family's still-open members, builds remapped proven-body drafts (`symbol_map` + `aprop_autodraft.build_draft`, refusing on reloc-count mismatch), **stream-classifies member-vs-seed with ZERO compiles** (masked_diff-shaped dicts from ground-truth bytes → `residual_class.classify_streams`), enqueues ONLY permuter-shaped (bucket==permuter or LENGTH-DRIFT |Δ|≤2) as backlog near-records; `--lenmiss` ingests T8's 49-route. **Grinder patch NOT needed** (its candidates() deliberately keeps unclassified records — "unknown is not a reason to skip" — so pre-filtered enqueues flow as-is; documented in the feeder's docstring). Armed live: **49 + 10 enqueued, 120 refused** by the stream filter (the anti-92%-wasted-CPU discipline working). `family_cousins --weak-cards`: **954 units** (the 0.70–0.85 annotate-only band, never before consumed) as seeded-crack cards, ins-ranked, §168 laws embedded, model-routed **haiku 804 / v3 43 / sonnet 86 / opus 21** (cheap tiers dominate — the token-efficiency shape), 0 unresolved `.s`.
## Campaign velocity ledger (T10+)
| wave | lane | cards | standalone MATCH | banked | tokens | tok/bank | lesson banked |
|---|---|--:|--:|--:|--:|--:|---|
| A | adapt SMALL-EDIT | 24 | 18 (75%) | **12** (+1 prop) | ~1.40M | **~117k** | zero stale seed-symbols (the §171 prompt-law works); 6 gate-fails all INTEGRATION shapes (3× decl-type vs TU, 1 arity, 2 TU-context DIFF) → wave-B prompt adds match-the-TU's-existing-decl |
| grinder-1 | permuter | 10 | — | 0 | $0 | — | func_800CB4CC parked at best-1 (warmstart seed); queue enriched +59+6 records since |
- 2026-08-14 — **CAMPAIGN OPEN (T10+, Ultracode).** Wave A: 24 adapt cards → 18/24 standalone (75%) → symfix-first (0 stale — the prompt-law worked) → gate **12 banked + 1 propagation** (~117k tok/bank e2e; stubs → 12,030). 6 NEARs (3 at close ≤3) enqueued to the grinder. Wave B (48 cards, all haiku, 29 binaries) launched with the decl-matching lesson. Grinder pass 1: 0/10 but func_800CB4CC at best-1.
## Blockers
(none)