From 53ee97494747220f83d02338ce8bdbf63d1098d0 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Thu, 16 Jul 2026 17:53:42 -0600 Subject: [PATCH] docs(phase-29 T6-scout): tiny-IMM mega-pools = a symbol-definition gap, not a wall (~4,966 members) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 0x80131eec (2887) + 0x80130d0c (2679): family_sweep --hseq staged 4966, banked 1/4966 (0.0%) - diff_regions: TEMPLATES / O2:MATCH(0) — remapped C is byte-correct at -O2, jump-table symbol IS remapped (D_8018708C[idx]() -> D_801815EC[idx]()), but D_801815EC is splat-LOCAL and NOT a defined linker symbol (absent from config/symbols*) -> named C ref can't resolve -> whole-binary DIFF; masked_diff hid it (masks %hi/%lo) — R35 (a masked-MATCH contradicting the gate = the tool hides the divergence) - FIX (deferred, focused sub-project): define/export per-overlay jump-table data symbols so remapped C links -> banks ~4,966 members mechanically (the biggest cheap lever left). Same 'reproduce the build step' class as §53-carve / -O0-flag; here the missing step is symbol DEFINITION - no banks kept (tree reverted clean); characterization only. CURRENT_PHASE per-task log updated --- phase-ends/CURRENT_PHASE.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/phase-ends/CURRENT_PHASE.md b/phase-ends/CURRENT_PHASE.md index 138864a927..26705b2273 100644 --- a/phase-ends/CURRENT_PHASE.md +++ b/phase-ends/CURRENT_PHASE.md @@ -147,6 +147,18 @@ conditional) · main-EXE/B9 + GLM/B6 + resident's 14 walls (P30) · behemoths B7 fleet instr 70.2→70.4% / distinct 51.9→52.3% / fn-count 84.73→84.94%; audit-binaries OK, dedup 1840/0, main 143dbb89, 0 NON_MATCHING (G4). Verified pure-reduction (0 new/dup stubs, R14/H5). Logs `.run/armB_tail_{substantial,mid,tiny,checkall}.log`. NEXT: Arm A (-O0 cluster carve) + item (c). +- **2026-07-16 — Task 6 mega-pools SCOUTED (not yet banked; a symbol-definition gap, R35).** The two + tiny-IMM mega-pools `0x80131eec` (2887, 2620 stub) + `0x80130d0c` (2679, 2496 stub) = ~5,116 unbanked. + `family_sweep --hseq --only --band tiny`: **4966 staged, BANKED 1/4966 (0.0%)**. `diff_regions` + classifies them **TEMPLATES / O2:MATCH(0)** — the remapped C is byte-correct at -O2 AND the jump-table + symbol IS remapped (exemplar `D_8018708C[idx]()` → member `D_801815EC[idx]()`). The contradiction + (masked-MATCH vs 0% whole-binary) resolves to: **the remapped data symbol (`D_801815EC`) is splat-local + in the member's asm and NOT a DEFINED linker symbol** (absent from every `config/symbols*`), so the C + draft's named reference can't resolve at link → whole-binary DIFF; masked_diff hides it (masks %hi/%lo). + → a **fixable symbol-definition / symbol_map gap gating ~4,966 members** (the biggest cheap lever left), + but a focused tooling sub-project (define/export the per-overlay jump-table data symbols so remapped C + links). DEFERRED to a dedicated pass; tree reverted clean (0 banks kept). This is the same "reproduce the + build step" class as §53-carve / -O0-flag — here the missing step is symbol DEFINITION. - **2026-07-16 — Task 2 (Arm A) DONE = swing verdict → banked fact + wall characterized.** New tool `tools/rollout_o0_cluster.py` + Makefile `O0_CLUSTER_OBJS` -O0 wildcard. Carved 4 SC07 tail overlays; byte-neutrality gate (clean R22): **ov_SC07_010 byte-identical, 006/007/011 FAIL** (+0x20 splat