feat(phase-29 Task-13B): directed permuter wins first try; 3 latent gate defects fixed at root

First run of the Task-13A-targeted grinder (--once --batch 8 --permute-secs 90):
  targeting: ON — 1665 classified; only bucket=permuter is admitted
  targeting skipped 1601 non-permuter candidates
    {redraft 707, structural 583, integration 305, unclassified 4, unknown 2}
  permuter WON func_80181F78 @ ov_SC03_014 (close was 1)   [~6 min]

BANKED 2 (both whole-binary byte-gated, R22 clean-fleet 140/140):
- func_80181F78 (8 ins)  — classified DELAY-SLOT / schedule
- func_80141B90 (29 ins) — classified IMM-VALUE / cse
Both were classified bucket=permuter by residual_class BEFORE the run: the classifier
predicted a search-closer could reach them, and one did. First end-to-end validation of
the targeting thesis.

THREE latent defects, all pre-existing, all unreachable while the grinder banked nothing
since Phase 21 — the fix made it win and every one fired at once (cookbook §60a):

1. gate_stage commit path crashed on src=None. `src` is DELIBERATELY never defaulted
   (Phase 26-A: a default silently PINS the gate to the main .c), but the commit did
   `git add src …` unconditionally -> every caller that omits it (grinder, orchestrator,
   idiom_hunt) crashes THE MOMENT IT BANKS. Now `git add -u src/`, which also retires the
   `src/ov_*/*.c` filename glob that once omitted 4 R22-verified banks from a commit.
2. _xform ladder dirs (-cn/-cast/-rc/-uni) ACCUMULATE across runs: they held 34 stale
   drafts, so the gate processed 34 when the grinder submitted 1, and banked one function
   it was never asked to try — which would have been committed under a message naming a
   different one. Nothing wrong entered the tree (G3/P9 held; the gate banks only
   byte-identical output) but report and work had diverged. Now cleared per run.
3. grinder called gate_stage with the default propagate=True = `dedup_propagate
   --auto-from`, the §55b fleet-wide path that timed out at 3600s and left 90/140 overlays
   broken — and being INSIDE the gate it takes the banks down with it. Now propagate=False;
   banks commit cheap, propagation is its own targeted --addr batch (§55b law).

R22: make clean && extract-all && check-all -> 140 passed, 0 failed of 140.
tools-health OK (dedup 1847/0, C1 234343/234343); 0 NON_MATCHING (G4).
This commit is contained in:
Drew T
2026-07-21 11:24:48 -06:00
parent b3ab5c2253
commit b8ee9fa9d2
8 changed files with 1866 additions and 1738 deletions
+6 -6
View File
@@ -4,15 +4,15 @@
# cross-binary collapsible-byte leverage: docs/duplicates.cross.md.
# THREE progress metrics (all matter — see the labels):
FLEET fn-count byte-ident: 310917 / 353722 = 87.90% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 10203439 / 13081451 = 78.0% (shipped .text across resident+138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 3708744 / 5574674 = 66.5% (64085/87459 unique fns; the DISTINCT-RE number)
FLEET fn-count byte-ident: 310919 / 353722 = 87.90% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 10203476 / 13081451 = 78.0% (shipped .text across resident+138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 3708773 / 5574674 = 66.5% (64086/87459 unique fns; the DISTINCT-RE number)
MAIN game-code weighted : 436 / 60201 = 0.7% (Phase-27 T10; SEPARATE — LINKED-excluding Ghidra sig dated 2026-06-14, PROVISIONAL until a fresh/complete main sig; NOT folded into the fleet number)
FLEET REAL substantive : 309062 (of which dedup-shared 234299 via 1847 groups / 234343 instances)
FLEET REAL substantive : 309064 (of which dedup-shared 234299 via 1847 groups / 234343 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 42798
FLEET INCLUDE_ASM stubs : 42796
FLEET matchable : 353722
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
@@ -55,7 +55,7 @@ FLEET matchable : 353722
| ov_SC03_011 | 2236 | 1700 | 0 | 2242 | 2527 | 88.7% |
| ov_SC03_012 | 2214 | 1700 | 0 | 2215 | 2406 | 92.1% |
| ov_SC03_013 | 2233 | 1700 | 0 | 2233 | 2492 | 89.6% |
| ov_SC03_014 | 2291 | 1725 | 0 | 2291 | 2685 | 85.3% |
| ov_SC03_014 | 2293 | 1725 | 0 | 2293 | 2685 | 85.4% |
| ov_SC03_015 | 2292 | 1725 | 0 | 2292 | 2685 | 85.4% |
| ov_SC03_023 | 2220 | 1700 | 0 | 2221 | 2435 | 91.2% |
| ov_SC03_024 | 2278 | 1705 | 0 | 2285 | 2641 | 86.5% |