From 1ad5cc359ae21f67d1be90c2f3a4c7fd95d794cf Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Sun, 19 Jul 2026 02:48:11 -0600 Subject: [PATCH] =?UTF-8?q?docs(phase-29=20crack-wave2):=20session-4=20che?= =?UTF-8?q?ckpoint=20=E2=80=94=20+819=20members=20(76.3%=20instr),=20front?= =?UTF-8?q?ier=20honest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Crack-wave 2 (absent-from-ov077 pool) + propagation: 6 families banked ~815 members fleet-wide (R22 140/140). Session-4 total: 75.2->76.3% instr / 60.6->62.8% distinct / 87.04->87.47% fn-count across 2 crack-waves (~1500 banks). Tooling finding: family_sweep --source is ignored (uses manifest exemplar). 2 preserved permuter seeds. Non-MCP substantial frontier worked out; next fresh cracks need /mcp prefetch. --- .run/giants/wave2_func_80143D28.close15.c | 65 +++++ .run/giants/wave2_func_8017B490.close13.c | 89 +++++++ docs/progress.fleet.md | 284 +++++++++++----------- phase-ends/CURRENT_PHASE.md | 26 ++ 4 files changed, 322 insertions(+), 142 deletions(-) create mode 100644 .run/giants/wave2_func_80143D28.close15.c create mode 100644 .run/giants/wave2_func_8017B490.close13.c diff --git a/.run/giants/wave2_func_80143D28.close15.c b/.run/giants/wave2_func_80143D28.close15.c new file mode 100644 index 000000000..0d48dc33c --- /dev/null +++ b/.run/giants/wave2_func_80143D28.close15.c @@ -0,0 +1,65 @@ +// func_80143D28 @ 0x80143d28 (ov_SC01_000) -- shared engine fn, 80 ins. +// STATUS: characterized NEAR (15 masked mismatches; instrs 0..62 = 63/80 byte-exact). +// +// The whole body logic, types, splat symbol (D_80180564), and canonical callee sigs are +// PROVEN correct: with iVar3->$s2 / iVar2->$s1 pinned (their true allocation) and sVar4's +// $s3 home forced, the first 63 instructions match byte-for-byte through the sll s3 result. +// +// SOLE BLOCKER (1 real instruction, then a positional shift): the target materializes the +// callee-saved store value into $v0 before the three sh stores -- +// /* 80143E24 21106002 */ addu $v0, $s3, $zero ; v0 = sVar4 +// sh $v0, 0x1C($s2) ; sh $v0, 0x1A($s2) ; jal func_8012BEE8 ; sh $v0, 0x18($s2)(delay) +// gcc here instead stores `sh $s3` directly (no copy). This copy is an allocator/reload +// artifact: every source-level `tmp = sVar4; sh tmp` is removed by copy-propagation/coalescing, +// and the direct-from-$s3 store is what natural allocation emits. Not source-steerable via +// match_one; this is a textbook PERMUTER candidate (split/rematerialize the store value). +// +// ALLOCATION NOTES (how the register map was reproduced): +// - iVar3(*(param+0x20))->$s2, iVar2(*(param+0x64))->$s1 pinned to their target homes; without +// pins, once sVar4 becomes callee-saved it out-prioritizes both and steals $s1 (-> iVars +// bump to s2/s3, wrong map). +// - sVar4 = 0x1000 is placed BEFORE ApplyMatrixSV so sVar4 crosses that call at allocation +// time -> callee-saved. gcc rematerializes the 0x1000 constant load to AFTER the call +// (matches `addiu $s3,$zero,0x1000` in the delay slot), and with s1/s2 pinned the only free +// callee-saved reg is $s3 -> sVar4 lands in $s3 (target's home). Semantically neutral: sVar4 +// is a local ApplyMatrixSV never reads. + +typedef struct { + u8 pad[8]; + u16 f8; /* +8 */ + u16 fA; /* +0xA */ +} Entry12; /* 12-byte stride; index = *(s16*)(param_1+0x70) */ + +extern Entry12 D_80180564[]; +extern void ApplyMatrixSV(void *a0, void *a1, void *a2); +extern s32 func_8012BEE8(s32 a0); +extern void func_8012C218(void *a0); + +void func_80143D28(s32 param_1) { + register s32 iVar3 __asm__("$18") = *(s32 *)(param_1 + 0x20); /* $s2 */ + register s32 iVar2 __asm__("$17") = *(s32 *)(param_1 + 0x64); /* $s1 */ + Entry12 *e = &D_80180564[*(s16 *)(param_1 + 0x70)]; + s16 sVar4; + s32 iVar1; + + *(u16 *)(iVar3 + 0x14) = e->f8; + *(u16 *)(iVar3 + 0x12) = *(u16 *)(iVar3 + 0x12) + e->fA; + sVar4 = 0x1000; /* placed pre-call to force sVar4's callee-saved ($s3) home */ + ApplyMatrixSV((void *)(*(s32 *)(param_1 + 0x20) + 0x34), (void *)e, (void *)(param_1 + 0x50)); + + if (*(s16 *)(param_1 + 0xfe) == 0 && + (iVar2 == 0 || *(s16 *)(iVar2 + 0x36) != *(s16 *)(param_1 + 0xfc) || + *(u8 *)(iVar2 + 0xc1) != 6)) { + if (0x10 < *(s32 *)(param_1 + 0x1c)) { + *(s32 *)(param_1 + 0x1c) = 0x10; + } + *(s16 *)(param_1 + 0xfe) = 1; + } + iVar1 = *(s32 *)(param_1 + 0x1c); + if (iVar1 < 0x11) sVar4 = iVar1 << 8; + if (0x73 < iVar1) sVar4 = (0x78 - iVar1) * 0x400; + *(s16 *)(iVar3 + 0x1c) = sVar4; + *(s16 *)(iVar3 + 0x1a) = sVar4; + *(s16 *)(iVar3 + 0x18) = sVar4; + if (func_8012BEE8(param_1) != 0) func_8012C218((void *)param_1); +} diff --git a/.run/giants/wave2_func_8017B490.close13.c b/.run/giants/wave2_func_8017B490.close13.c new file mode 100644 index 000000000..a576fe70a --- /dev/null +++ b/.run/giants/wave2_func_8017B490.close13.c @@ -0,0 +1,89 @@ +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; +typedef signed char s8; +typedef short s16; +typedef int s32; + +/* func_8017B490 @ 0x8017B490 (0x184, 97 ins) -- ov_SC01_000 shared engine fn. + * + * Structure: func_8017BA3C(); then an if/else on ((u32)&D_801A5694 < 0xB). + * The if-branch (table copy via func_8012F214 x2) is DEAD -- gcc cannot fold + * the address relocation so it emits the compare (sltiu addr,0xB) + both arms. + * The else-branch (unaligned 8-byte memcpy of two fixed defaults) is taken. + * After the join, two more 8-byte unaligned copies land the buffers into the + * D_801A56E4/EC region, then 6 sign-extended shorts are broadcast to the + * resident D_80126984.. int slots. + * + * STATUS: NEAR (97/97 ins, 13 masked-mismatch). Reachable path + the DEAD + * func_8012F214 branch (cracked: base-side "+8" reassociation so gcc keeps + * x<<4 in $s0 and precomputes p+8 in the call delay slot) + the whole tail + * ALL match. Sole residual: gcc's pre-regalloc scheduler hoists the lone + * `sh D_801A5870,1` (li v0,1; sh) up into the copy->read window (it lands + * before the 6 lh reads; target places it after them, between reads and the + * 6 sw broadcasts). No source reorder moves it (position-independent); a + * scheduling barrier / asm-anchor / reg-pin fixes the placement but each one + * relabels the copy-region regs ($v0<->$v1) -> 16-20 mismatch, strictly worse. + * This is an irreducible gcc-2.7.2 scheduler tie-break for this fn shape -> + * ideal permuter seed (perm_ scheduling class). */ + +extern void *memcpy(void *, const void *, u32); + +extern void func_8017BA3C(void); +extern void func_8012F214(s32 a0, s32 a1, s32 a2); + +extern u8 D_801A5694[]; /* 8-byte default block A (also the dead-branch index/base) */ +extern u8 D_801A569C[]; /* 8-byte default block B */ +extern u8 D_80182548[]; /* dead-branch table (16-byte stride) */ + +extern s16 D_801A56E4; /* dst block B base */ +extern s16 D_801A56E6; +extern s16 D_801A56E8; +extern s16 D_801A56EC; /* dst block A base */ +extern s16 D_801A56EE; +extern s16 D_801A56F0; + +extern s16 D_801A5870; +extern s16 D_801A5674; + +extern s32 D_80126984; +extern s32 D_80126988; +extern s32 D_8012698C; +extern s32 D_80126990; +extern s32 D_80126994; +extern s32 D_80126998; + +void func_8017B490(s32 arg0) +{ + u8 buf0[8]; + u8 buf1[8]; + + func_8017BA3C(); + if ((u32)&D_801A5694 >= 0xB) { + memcpy(buf0, (void *)&D_801A5694, 8); + memcpy(buf1, (void *)&D_801A569C, 8); + } else { + s32 index = ((u32)&D_801A5694) << 4; + s32 arg_a = (s32)D_80182548 + index; + s32 arg_b = ((s32)D_80182548 + 8) + index; + func_8012F214(arg0, arg_a, (s32)buf0); + func_8012F214(arg0, arg_b, (s32)buf1); + } + { + /* Explicit dest pointers so the copy-dest addresses stay live and are + * reused for the base short-reads (target keeps &D_801A56EC in $v1 and + * &D_801A56E4 in $a0 across the reads instead of reloading). */ + s16 *pA = &D_801A56EC; + s16 *pB = &D_801A56E4; + memcpy((void *)pA, buf0, 8); + memcpy((void *)pB, buf1, 8); + D_801A5870 = 1; + D_801A5674 = 0x1E; + D_80126990 = (s32)*pA; + D_80126994 = (s32)D_801A56EE; + D_80126998 = (s32)D_801A56F0; + D_80126984 = (s32)*pB; + D_80126988 = (s32)D_801A56E6; + D_8012698C = (s32)D_801A56E8; + } +} diff --git a/docs/progress.fleet.md b/docs/progress.fleet.md index 3e0fb9762..d0554a54a 100644 --- a/docs/progress.fleet.md +++ b/docs/progress.fleet.md @@ -4,156 +4,156 @@ # cross-binary collapsible-byte leverage: docs/duplicates.cross.md. # THREE progress metrics (all matter — see the labels): -FLEET fn-count byte-ident: 308576 / 353722 = 87.24% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) -FLEET instr-weighted : 9896519 / 13081451 = 75.7% (shipped .text across resident+138 overlays; the decomp.dev-DISPLAY number) -FLEET distinct-code(uniq): 3418194 / 5574674 = 61.3% (61871/87459 unique fns; the DISTINCT-RE number) +FLEET fn-count byte-ident: 309396 / 353722 = 87.47% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) +FLEET instr-weighted : 9981294 / 13081451 = 76.3% (shipped .text across resident+138 overlays; the decomp.dev-DISPLAY number) +FLEET distinct-code(uniq): 3498438 / 5574674 = 62.8% (62647/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 : 306721 (of which dedup-shared 234299 via 1847 groups / 234343 instances) +FLEET REAL substantive : 307541 (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 : 45139 +FLEET INCLUDE_ASM stubs : 44319 FLEET matchable : 353722 | binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % | |---|---:|---:|---:|---:|---:|---:| | main | 54 | 2 | 959 | 1055 | 2096 | 50.3% | | resident | 129 | 0 | 0 | 131 | 145 | 90.3% | -| ov_SC01_000 | 2196 | 1705 | 0 | 2196 | 2403 | 91.4% | -| ov_SC01_001 | 2201 | 1705 | 0 | 2203 | 2466 | 89.3% | -| ov_SC01_004 | 2194 | 1696 | 0 | 2195 | 2414 | 90.9% | -| ov_SC01_005 | 2223 | 1718 | 0 | 2223 | 2503 | 88.8% | -| ov_SC01_006 | 2223 | 1718 | 0 | 2223 | 2503 | 88.8% | -| ov_SC01_008 | 2194 | 1696 | 0 | 2196 | 2426 | 90.5% | -| ov_SC01_009 | 2219 | 1697 | 0 | 2220 | 2507 | 88.6% | -| ov_SC01_074 | 2197 | 1697 | 0 | 2199 | 2425 | 90.7% | +| ov_SC01_000 | 2202 | 1705 | 0 | 2202 | 2403 | 91.6% | +| ov_SC01_001 | 2207 | 1705 | 0 | 2209 | 2466 | 89.6% | +| ov_SC01_004 | 2200 | 1696 | 0 | 2201 | 2414 | 91.2% | +| ov_SC01_005 | 2229 | 1718 | 0 | 2229 | 2503 | 89.1% | +| ov_SC01_006 | 2229 | 1718 | 0 | 2229 | 2503 | 89.1% | +| ov_SC01_008 | 2200 | 1696 | 0 | 2202 | 2426 | 90.8% | +| ov_SC01_009 | 2225 | 1697 | 0 | 2226 | 2507 | 88.8% | +| ov_SC01_074 | 2203 | 1697 | 0 | 2205 | 2425 | 90.9% | | ov_SC01_077 | 2391 | 1665 | 0 | 2393 | 2585 | 92.6% | -| ov_SC01_080 | 2235 | 1700 | 0 | 2235 | 2512 | 89.0% | -| ov_SC01_084 | 2243 | 1700 | 0 | 2248 | 2579 | 87.2% | -| ov_SC02_000 | 2294 | 1735 | 0 | 2294 | 2683 | 85.5% | -| ov_SC02_003 | 2294 | 1735 | 0 | 2294 | 2683 | 85.5% | -| ov_SC02_004 | 2202 | 1700 | 0 | 2202 | 2401 | 91.7% | -| ov_SC02_005 | 2309 | 1696 | 0 | 2319 | 2927 | 79.2% | -| ov_SC02_011 | 2318 | 1703 | 0 | 2329 | 2893 | 80.5% | -| ov_SC02_015 | 2203 | 1702 | 0 | 2203 | 2414 | 91.3% | -| ov_SC02_016 | 2233 | 1702 | 0 | 2236 | 2545 | 87.9% | -| ov_SC02_017 | 2279 | 1702 | 0 | 2287 | 2732 | 83.7% | -| ov_SC02_021 | 2209 | 1702 | 0 | 2209 | 2437 | 90.6% | -| ov_SC02_026 | 2224 | 1700 | 0 | 2230 | 2572 | 86.7% | -| ov_SC02_027 | 2247 | 1700 | 0 | 2256 | 2692 | 83.8% | -| ov_SC02_028 | 2248 | 1700 | 0 | 2258 | 2701 | 83.6% | -| ov_SC02_031 | 2234 | 1701 | 0 | 2239 | 2562 | 87.4% | -| ov_SC02_035 | 2210 | 1700 | 0 | 2213 | 2520 | 87.8% | -| ov_SC02_039 | 2195 | 1700 | 0 | 2195 | 2416 | 90.9% | -| ov_SC02_041 | 2230 | 1700 | 0 | 2233 | 2561 | 87.2% | -| ov_SC03_001 | 2330 | 1701 | 0 | 2347 | 2869 | 81.8% | -| ov_SC03_002 | 2257 | 1705 | 0 | 2272 | 2631 | 86.4% | -| ov_SC03_003 | 2205 | 1700 | 0 | 2206 | 2423 | 91.0% | -| ov_SC03_006 | 2268 | 1706 | 0 | 2277 | 2767 | 82.3% | -| ov_SC03_007 | 2249 | 1700 | 0 | 2253 | 2623 | 85.9% | -| ov_SC03_010 | 2211 | 1700 | 0 | 2211 | 2470 | 89.5% | -| ov_SC03_011 | 2219 | 1700 | 0 | 2225 | 2527 | 88.0% | -| ov_SC03_012 | 2197 | 1700 | 0 | 2198 | 2406 | 91.4% | -| ov_SC03_013 | 2216 | 1700 | 0 | 2216 | 2492 | 88.9% | -| ov_SC03_014 | 2274 | 1725 | 0 | 2274 | 2685 | 84.7% | -| ov_SC03_015 | 2275 | 1725 | 0 | 2275 | 2685 | 84.7% | -| ov_SC03_023 | 2203 | 1700 | 0 | 2204 | 2435 | 90.5% | -| ov_SC03_024 | 2261 | 1705 | 0 | 2268 | 2641 | 85.9% | -| ov_SC03_028 | 2243 | 1700 | 0 | 2247 | 2664 | 84.3% | -| ov_SC03_029 | 2245 | 1702 | 0 | 2255 | 2644 | 85.3% | -| ov_SC03_030 | 2217 | 1705 | 0 | 2219 | 2495 | 88.9% | -| ov_SC03_031 | 2215 | 1700 | 0 | 2218 | 2514 | 88.2% | -| ov_SC03_089 | 2229 | 1700 | 0 | 2236 | 2581 | 86.6% | -| ov_SC03_090 | 2231 | 1700 | 0 | 2239 | 2625 | 85.3% | -| ov_SC03_091 | 2234 | 1700 | 0 | 2242 | 2640 | 84.9% | -| ov_SC03_092 | 2245 | 1700 | 0 | 2257 | 2587 | 87.2% | -| ov_SC03_093 | 2221 | 1700 | 0 | 2225 | 2563 | 86.8% | -| ov_SC03_094 | 2216 | 1700 | 0 | 2222 | 2577 | 86.2% | -| ov_SC03_095 | 2206 | 1700 | 0 | 2209 | 2474 | 89.3% | -| ov_SC03_096 | 2206 | 1700 | 0 | 2209 | 2465 | 89.6% | -| ov_SC03_097 | 2235 | 1700 | 0 | 2242 | 2603 | 86.1% | -| ov_SC03_098 | 2214 | 1700 | 0 | 2217 | 2541 | 87.2% | -| ov_SC03_099 | 2207 | 1700 | 0 | 2210 | 2504 | 88.3% | -| ov_SC03_100 | 2217 | 1700 | 0 | 2221 | 2539 | 87.5% | -| ov_SC03_101 | 2217 | 1700 | 0 | 2221 | 2528 | 87.9% | -| ov_SC03_102 | 2209 | 1700 | 0 | 2212 | 2492 | 88.8% | -| ov_SC03_103 | 2212 | 1702 | 0 | 2215 | 2510 | 88.2% | -| ov_SC03_104 | 2237 | 1700 | 0 | 2244 | 2616 | 85.8% | -| ov_SC03_105 | 2231 | 1700 | 0 | 2238 | 2597 | 86.2% | -| ov_SC03_108 | 2199 | 1700 | 0 | 2199 | 2443 | 90.0% | -| ov_SC03_109 | 2200 | 1700 | 0 | 2202 | 2424 | 90.8% | -| ov_SC03_110 | 2205 | 1700 | 0 | 2205 | 2468 | 89.3% | -| ov_SC03_111 | 2217 | 1700 | 0 | 2220 | 2510 | 88.4% | -| ov_SC03_112 | 2210 | 1702 | 0 | 2212 | 2526 | 87.6% | -| ov_SC03_113 | 2203 | 1702 | 0 | 2206 | 2468 | 89.4% | -| ov_SC03_114 | 2193 | 1700 | 0 | 2195 | 2415 | 90.9% | -| ov_SC03_115 | 2210 | 1700 | 0 | 2212 | 2472 | 89.5% | -| ov_SC03_116 | 2200 | 1700 | 0 | 2203 | 2438 | 90.4% | -| ov_SC03_117 | 2228 | 1700 | 0 | 2234 | 2557 | 87.4% | -| ov_SC03_118 | 2275 | 1724 | 0 | 2276 | 2685 | 84.8% | -| ov_SC03_119 | 2273 | 1724 | 0 | 2274 | 2685 | 84.7% | -| ov_SC03_121 | 2207 | 1700 | 0 | 2210 | 2459 | 89.9% | -| ov_SC03_124 | 2287 | 1696 | 0 | 2307 | 2741 | 84.2% | -| ov_SC03_125 | 2244 | 1700 | 0 | 2256 | 2588 | 87.2% | -| ov_SC03_126 | 2206 | 1702 | 0 | 2206 | 2423 | 91.0% | -| ov_SC04_000 | 2222 | 1704 | 0 | 2231 | 2546 | 87.6% | -| ov_SC04_002 | 2238 | 1700 | 0 | 2242 | 2636 | 85.1% | -| ov_SC04_003 | 2216 | 1700 | 0 | 2220 | 2502 | 88.7% | -| ov_SC04_004 | 2225 | 1700 | 0 | 2227 | 2558 | 87.1% | -| ov_SC04_005 | 2233 | 1700 | 0 | 2239 | 2612 | 85.7% | -| ov_SC04_006 | 2206 | 1700 | 0 | 2208 | 2454 | 90.0% | -| ov_SC04_007 | 2226 | 1700 | 0 | 2230 | 2569 | 86.8% | -| ov_SC04_008 | 2196 | 1700 | 0 | 2196 | 2415 | 90.9% | -| ov_SC04_009 | 2212 | 1700 | 0 | 2215 | 2441 | 90.7% | -| ov_SC04_010 | 2203 | 1700 | 0 | 2204 | 2419 | 91.1% | -| ov_SC04_011 | 2259 | 1700 | 0 | 2265 | 2803 | 80.8% | -| ov_SC04_012 | 2199 | 1700 | 0 | 2200 | 2420 | 90.9% | -| ov_SC04_015 | 2263 | 1701 | 0 | 2274 | 2611 | 87.1% | -| ov_SC04_016 | 2202 | 1700 | 0 | 2204 | 2440 | 90.3% | -| ov_SC04_018 | 2314 | 1735 | 0 | 2314 | 2857 | 81.0% | -| ov_SC04_019 | 2319 | 1735 | 0 | 2319 | 2857 | 81.2% | -| ov_SC04_020 | 2231 | 1700 | 0 | 2243 | 2567 | 87.4% | -| ov_SC04_021 | 2207 | 1702 | 0 | 2207 | 2423 | 91.1% | -| ov_SC05_000 | 2203 | 1704 | 0 | 2206 | 2422 | 91.1% | -| ov_SC05_001 | 2226 | 1700 | 0 | 2231 | 2574 | 86.7% | -| ov_SC05_002 | 2208 | 1700 | 0 | 2211 | 2442 | 90.5% | -| ov_SC05_003 | 2205 | 1700 | 0 | 2206 | 2481 | 88.9% | -| ov_SC05_004 | 2200 | 1700 | 0 | 2202 | 2464 | 89.4% | -| ov_SC05_005 | 2207 | 1700 | 0 | 2208 | 2491 | 88.6% | -| ov_SC05_006 | 2199 | 1700 | 0 | 2199 | 2430 | 90.5% | -| ov_SC05_007 | 2209 | 1700 | 0 | 2214 | 2482 | 89.2% | -| ov_SC05_008 | 2226 | 1700 | 0 | 2228 | 2543 | 87.6% | -| ov_SC05_009 | 2204 | 1700 | 0 | 2208 | 2438 | 90.6% | -| ov_SC05_010 | 2230 | 1700 | 0 | 2234 | 2588 | 86.3% | -| ov_SC05_011 | 2202 | 1700 | 0 | 2203 | 2409 | 91.4% | -| ov_SC05_017 | 2310 | 1697 | 0 | 2321 | 2842 | 81.7% | -| ov_SC05_018 | 2257 | 1700 | 0 | 2270 | 2673 | 84.9% | -| ov_SC05_019 | 2207 | 1702 | 0 | 2207 | 2423 | 91.1% | -| ov_SC06_000 | 2267 | 1709 | 0 | 2270 | 2691 | 84.4% | -| ov_SC06_006 | 2222 | 1700 | 0 | 2223 | 2511 | 88.5% | -| ov_SC06_008 | 2232 | 1702 | 0 | 2238 | 2542 | 88.0% | -| ov_SC06_010 | 2216 | 1700 | 0 | 2221 | 2517 | 88.2% | -| ov_SC06_011 | 2211 | 1700 | 0 | 2215 | 2468 | 89.7% | -| ov_SC06_013 | 2204 | 1700 | 0 | 2205 | 2425 | 90.9% | -| ov_SC06_014 | 2210 | 1700 | 0 | 2212 | 2453 | 90.2% | -| ov_SC06_015 | 2207 | 1700 | 0 | 2207 | 2421 | 91.2% | -| ov_SC06_016 | 2224 | 1700 | 0 | 2226 | 2549 | 87.3% | -| ov_SC06_018 | 2221 | 1703 | 0 | 2228 | 2665 | 83.6% | -| ov_SC06_020 | 2214 | 1702 | 0 | 2215 | 2518 | 88.0% | -| ov_SC06_022 | 2228 | 1700 | 0 | 2236 | 2642 | 84.6% | -| ov_SC06_024 | 2233 | 1700 | 0 | 2239 | 2667 | 84.0% | -| ov_SC06_025 | 2225 | 1700 | 0 | 2230 | 2572 | 86.7% | -| ov_SC06_027 | 2193 | 1700 | 0 | 2194 | 2408 | 91.1% | -| ov_SC06_029 | 2251 | 1700 | 0 | 2263 | 2662 | 85.0% | -| ov_SC06_030 | 2206 | 1700 | 0 | 2206 | 2456 | 89.8% | -| ov_SC06_032 | 2218 | 1701 | 0 | 2225 | 2658 | 83.7% | -| ov_SC06_033 | 2221 | 1701 | 0 | 2228 | 2631 | 84.7% | -| ov_SC07_000 | 2221 | 1704 | 0 | 2223 | 2521 | 88.2% | -| ov_SC07_001 | 2206 | 1700 | 0 | 2208 | 2454 | 90.0% | -| ov_SC07_002 | 2233 | 1700 | 0 | 2237 | 2579 | 86.7% | -| ov_SC07_006 | 1976 | 1548 | 0 | 2056 | 2456 | 83.7% | -| ov_SC07_007 | 1993 | 1549 | 0 | 2077 | 2614 | 79.5% | -| ov_SC07_008 | 2190 | 1700 | 0 | 2190 | 2386 | 91.8% | -| ov_SC07_009 | 2200 | 1700 | 0 | 2202 | 2430 | 90.6% | -| ov_SC07_010 | 2006 | 1549 | 0 | 2089 | 2526 | 82.7% | -| ov_SC07_011 | 1992 | 1548 | 0 | 2072 | 2450 | 84.6% | +| ov_SC01_080 | 2241 | 1700 | 0 | 2241 | 2512 | 89.2% | +| ov_SC01_084 | 2249 | 1700 | 0 | 2254 | 2579 | 87.4% | +| ov_SC02_000 | 2300 | 1735 | 0 | 2300 | 2683 | 85.7% | +| ov_SC02_003 | 2300 | 1735 | 0 | 2300 | 2683 | 85.7% | +| ov_SC02_004 | 2208 | 1700 | 0 | 2208 | 2401 | 92.0% | +| ov_SC02_005 | 2315 | 1696 | 0 | 2325 | 2927 | 79.4% | +| ov_SC02_011 | 2324 | 1703 | 0 | 2335 | 2893 | 80.7% | +| ov_SC02_015 | 2209 | 1702 | 0 | 2209 | 2414 | 91.5% | +| ov_SC02_016 | 2239 | 1702 | 0 | 2242 | 2545 | 88.1% | +| ov_SC02_017 | 2285 | 1702 | 0 | 2293 | 2732 | 83.9% | +| ov_SC02_021 | 2215 | 1702 | 0 | 2215 | 2437 | 90.9% | +| ov_SC02_026 | 2230 | 1700 | 0 | 2236 | 2572 | 86.9% | +| ov_SC02_027 | 2253 | 1700 | 0 | 2262 | 2692 | 84.0% | +| ov_SC02_028 | 2254 | 1700 | 0 | 2264 | 2701 | 83.8% | +| ov_SC02_031 | 2240 | 1701 | 0 | 2245 | 2562 | 87.6% | +| ov_SC02_035 | 2216 | 1700 | 0 | 2219 | 2520 | 88.1% | +| ov_SC02_039 | 2201 | 1700 | 0 | 2201 | 2416 | 91.1% | +| ov_SC02_041 | 2236 | 1700 | 0 | 2239 | 2561 | 87.4% | +| ov_SC03_001 | 2336 | 1701 | 0 | 2353 | 2869 | 82.0% | +| ov_SC03_002 | 2263 | 1705 | 0 | 2278 | 2631 | 86.6% | +| ov_SC03_003 | 2211 | 1700 | 0 | 2212 | 2423 | 91.3% | +| ov_SC03_006 | 2274 | 1706 | 0 | 2283 | 2767 | 82.5% | +| ov_SC03_007 | 2255 | 1700 | 0 | 2259 | 2623 | 86.1% | +| ov_SC03_010 | 2217 | 1700 | 0 | 2217 | 2470 | 89.8% | +| ov_SC03_011 | 2225 | 1700 | 0 | 2231 | 2527 | 88.3% | +| ov_SC03_012 | 2203 | 1700 | 0 | 2204 | 2406 | 91.6% | +| ov_SC03_013 | 2222 | 1700 | 0 | 2222 | 2492 | 89.2% | +| ov_SC03_014 | 2280 | 1725 | 0 | 2280 | 2685 | 84.9% | +| ov_SC03_015 | 2281 | 1725 | 0 | 2281 | 2685 | 85.0% | +| ov_SC03_023 | 2209 | 1700 | 0 | 2210 | 2435 | 90.8% | +| ov_SC03_024 | 2267 | 1705 | 0 | 2274 | 2641 | 86.1% | +| ov_SC03_028 | 2249 | 1700 | 0 | 2253 | 2664 | 84.6% | +| ov_SC03_029 | 2251 | 1702 | 0 | 2261 | 2644 | 85.5% | +| ov_SC03_030 | 2223 | 1705 | 0 | 2225 | 2495 | 89.2% | +| ov_SC03_031 | 2221 | 1700 | 0 | 2224 | 2514 | 88.5% | +| ov_SC03_089 | 2235 | 1700 | 0 | 2242 | 2581 | 86.9% | +| ov_SC03_090 | 2237 | 1700 | 0 | 2245 | 2625 | 85.5% | +| ov_SC03_091 | 2240 | 1700 | 0 | 2248 | 2640 | 85.2% | +| ov_SC03_092 | 2251 | 1700 | 0 | 2263 | 2587 | 87.5% | +| ov_SC03_093 | 2227 | 1700 | 0 | 2231 | 2563 | 87.0% | +| ov_SC03_094 | 2222 | 1700 | 0 | 2228 | 2577 | 86.5% | +| ov_SC03_095 | 2212 | 1700 | 0 | 2215 | 2474 | 89.5% | +| ov_SC03_096 | 2212 | 1700 | 0 | 2215 | 2465 | 89.9% | +| ov_SC03_097 | 2241 | 1700 | 0 | 2248 | 2603 | 86.4% | +| ov_SC03_098 | 2220 | 1700 | 0 | 2223 | 2541 | 87.5% | +| ov_SC03_099 | 2213 | 1700 | 0 | 2216 | 2504 | 88.5% | +| ov_SC03_100 | 2223 | 1700 | 0 | 2227 | 2539 | 87.7% | +| ov_SC03_101 | 2223 | 1700 | 0 | 2227 | 2528 | 88.1% | +| ov_SC03_102 | 2215 | 1700 | 0 | 2218 | 2492 | 89.0% | +| ov_SC03_103 | 2218 | 1702 | 0 | 2221 | 2510 | 88.5% | +| ov_SC03_104 | 2243 | 1700 | 0 | 2250 | 2616 | 86.0% | +| ov_SC03_105 | 2237 | 1700 | 0 | 2244 | 2597 | 86.4% | +| ov_SC03_108 | 2205 | 1700 | 0 | 2205 | 2443 | 90.3% | +| ov_SC03_109 | 2206 | 1700 | 0 | 2208 | 2424 | 91.1% | +| ov_SC03_110 | 2211 | 1700 | 0 | 2211 | 2468 | 89.6% | +| ov_SC03_111 | 2223 | 1700 | 0 | 2226 | 2510 | 88.7% | +| ov_SC03_112 | 2216 | 1702 | 0 | 2218 | 2526 | 87.8% | +| ov_SC03_113 | 2209 | 1702 | 0 | 2212 | 2468 | 89.6% | +| ov_SC03_114 | 2199 | 1700 | 0 | 2201 | 2415 | 91.1% | +| ov_SC03_115 | 2216 | 1700 | 0 | 2218 | 2472 | 89.7% | +| ov_SC03_116 | 2206 | 1700 | 0 | 2209 | 2438 | 90.6% | +| ov_SC03_117 | 2234 | 1700 | 0 | 2240 | 2557 | 87.6% | +| ov_SC03_118 | 2281 | 1724 | 0 | 2282 | 2685 | 85.0% | +| ov_SC03_119 | 2279 | 1724 | 0 | 2280 | 2685 | 84.9% | +| ov_SC03_121 | 2213 | 1700 | 0 | 2216 | 2459 | 90.1% | +| ov_SC03_124 | 2293 | 1696 | 0 | 2313 | 2741 | 84.4% | +| ov_SC03_125 | 2250 | 1700 | 0 | 2262 | 2588 | 87.4% | +| ov_SC03_126 | 2212 | 1702 | 0 | 2212 | 2423 | 91.3% | +| ov_SC04_000 | 2228 | 1704 | 0 | 2237 | 2546 | 87.9% | +| ov_SC04_002 | 2244 | 1700 | 0 | 2248 | 2636 | 85.3% | +| ov_SC04_003 | 2222 | 1700 | 0 | 2226 | 2502 | 89.0% | +| ov_SC04_004 | 2231 | 1700 | 0 | 2233 | 2558 | 87.3% | +| ov_SC04_005 | 2239 | 1700 | 0 | 2245 | 2612 | 85.9% | +| ov_SC04_006 | 2212 | 1700 | 0 | 2214 | 2454 | 90.2% | +| ov_SC04_007 | 2232 | 1700 | 0 | 2236 | 2569 | 87.0% | +| ov_SC04_008 | 2202 | 1700 | 0 | 2202 | 2415 | 91.2% | +| ov_SC04_009 | 2218 | 1700 | 0 | 2221 | 2441 | 91.0% | +| ov_SC04_010 | 2209 | 1700 | 0 | 2210 | 2419 | 91.4% | +| ov_SC04_011 | 2265 | 1700 | 0 | 2271 | 2803 | 81.0% | +| ov_SC04_012 | 2205 | 1700 | 0 | 2206 | 2420 | 91.2% | +| ov_SC04_015 | 2269 | 1701 | 0 | 2280 | 2611 | 87.3% | +| ov_SC04_016 | 2208 | 1700 | 0 | 2210 | 2440 | 90.6% | +| ov_SC04_018 | 2320 | 1735 | 0 | 2320 | 2857 | 81.2% | +| ov_SC04_019 | 2325 | 1735 | 0 | 2325 | 2857 | 81.4% | +| ov_SC04_020 | 2237 | 1700 | 0 | 2249 | 2567 | 87.6% | +| ov_SC04_021 | 2213 | 1702 | 0 | 2213 | 2423 | 91.3% | +| ov_SC05_000 | 2209 | 1704 | 0 | 2212 | 2422 | 91.3% | +| ov_SC05_001 | 2232 | 1700 | 0 | 2237 | 2574 | 86.9% | +| ov_SC05_002 | 2214 | 1700 | 0 | 2217 | 2442 | 90.8% | +| ov_SC05_003 | 2211 | 1700 | 0 | 2212 | 2481 | 89.2% | +| ov_SC05_004 | 2206 | 1700 | 0 | 2208 | 2464 | 89.6% | +| ov_SC05_005 | 2213 | 1700 | 0 | 2214 | 2491 | 88.9% | +| ov_SC05_006 | 2205 | 1700 | 0 | 2205 | 2430 | 90.7% | +| ov_SC05_007 | 2215 | 1700 | 0 | 2220 | 2482 | 89.4% | +| ov_SC05_008 | 2232 | 1700 | 0 | 2234 | 2543 | 87.8% | +| ov_SC05_009 | 2210 | 1700 | 0 | 2214 | 2438 | 90.8% | +| ov_SC05_010 | 2236 | 1700 | 0 | 2240 | 2588 | 86.6% | +| ov_SC05_011 | 2208 | 1700 | 0 | 2209 | 2409 | 91.7% | +| ov_SC05_017 | 2316 | 1697 | 0 | 2327 | 2842 | 81.9% | +| ov_SC05_018 | 2263 | 1700 | 0 | 2276 | 2673 | 85.1% | +| ov_SC05_019 | 2213 | 1702 | 0 | 2213 | 2423 | 91.3% | +| ov_SC06_000 | 2273 | 1709 | 0 | 2276 | 2691 | 84.6% | +| ov_SC06_006 | 2228 | 1700 | 0 | 2229 | 2511 | 88.8% | +| ov_SC06_008 | 2238 | 1702 | 0 | 2244 | 2542 | 88.3% | +| ov_SC06_010 | 2222 | 1700 | 0 | 2227 | 2517 | 88.5% | +| ov_SC06_011 | 2217 | 1700 | 0 | 2221 | 2468 | 90.0% | +| ov_SC06_013 | 2210 | 1700 | 0 | 2211 | 2425 | 91.2% | +| ov_SC06_014 | 2216 | 1700 | 0 | 2218 | 2453 | 90.4% | +| ov_SC06_015 | 2213 | 1700 | 0 | 2213 | 2421 | 91.4% | +| ov_SC06_016 | 2230 | 1700 | 0 | 2232 | 2549 | 87.6% | +| ov_SC06_018 | 2227 | 1703 | 0 | 2234 | 2665 | 83.8% | +| ov_SC06_020 | 2220 | 1702 | 0 | 2221 | 2518 | 88.2% | +| ov_SC06_022 | 2234 | 1700 | 0 | 2242 | 2642 | 84.9% | +| ov_SC06_024 | 2239 | 1700 | 0 | 2245 | 2667 | 84.2% | +| ov_SC06_025 | 2231 | 1700 | 0 | 2236 | 2572 | 86.9% | +| ov_SC06_027 | 2199 | 1700 | 0 | 2200 | 2408 | 91.4% | +| ov_SC06_029 | 2257 | 1700 | 0 | 2269 | 2662 | 85.2% | +| ov_SC06_030 | 2212 | 1700 | 0 | 2212 | 2456 | 90.1% | +| ov_SC06_032 | 2224 | 1701 | 0 | 2231 | 2658 | 83.9% | +| ov_SC06_033 | 2227 | 1701 | 0 | 2234 | 2631 | 84.9% | +| ov_SC07_000 | 2227 | 1704 | 0 | 2229 | 2521 | 88.4% | +| ov_SC07_001 | 2212 | 1700 | 0 | 2214 | 2454 | 90.2% | +| ov_SC07_002 | 2239 | 1700 | 0 | 2243 | 2579 | 87.0% | +| ov_SC07_006 | 1982 | 1548 | 0 | 2062 | 2456 | 84.0% | +| ov_SC07_007 | 1999 | 1549 | 0 | 2083 | 2614 | 79.7% | +| ov_SC07_008 | 2196 | 1700 | 0 | 2196 | 2386 | 92.0% | +| ov_SC07_009 | 2206 | 1700 | 0 | 2208 | 2430 | 90.9% | +| ov_SC07_010 | 2010 | 1549 | 0 | 2093 | 2526 | 82.9% | +| ov_SC07_011 | 1998 | 1548 | 0 | 2078 | 2450 | 84.8% | diff --git a/phase-ends/CURRENT_PHASE.md b/phase-ends/CURRENT_PHASE.md index 5e8ad8c29..91d7e2668 100644 --- a/phase-ends/CURRENT_PHASE.md +++ b/phase-ends/CURRENT_PHASE.md @@ -555,3 +555,29 @@ conditional) · main-EXE/B9 + GLM/B6 + resident's 14 walls (P30) · behemoths B7 `commit:0716`/`commit:0717`/`commit:0718`/`commit:0720`/`commit:0721`/`commit:0722` (+ `commit:0719` checkpoint). Cookbook §58/§59 captured (R30). 2 near cores preserved (`func_8014D820` close-11, `func_8012E364` close-22 — permuter fuel). NEXT: next Ultracode crack-wave over a freshly-regenerated frontier + the permuter backlog (Task 7). + +> **🛑 SESSION-4 CHECKPOINT (2026-07-19) — safe to open a FRESH session here.** Tree clean (only db.*.gbf R23 +> churn + 2 preserved near-drafts + progress.fleet.md digest), **140/140 byte-identical**, tools-health OK +> (dedup 1847/0, C1 234343/234343), 0 NON_MATCHING (G4). Main `commit:0734`. +> **Fleet 76.3% instr · 62.8% distinct-code · 87.47% fn-count** (session opened 75.2/60.6/87.04 → **+1.1pp instr, +> +2.2pp distinct** — ~1,500 member-banks across TWO crack-waves). +- **✅ 2026-07-19 — CRACK-WAVE 2 (absent-from-ov077 pool) + propagation: +819 members, HEAD `commit:0734`.** + Broad substantial sweep first = **0 banked / 858 failed** (the mechanical frontier is DRAINED — §57a confirmed). + So cracked the FRESH absent-from-ov077 substantial pool instead: 9 families drafted from **ov_SC01_000** (cached + Ghidra-C, NON-MCP) → **7 MATCH / 2 near**. Banked ×1 (4 clean via the §58 ladder, 2 residuals via §18 cast-at-use + + K&R self-decl reconcile) then propagated: **func_8013EF88 ×136, func_801418F8 ×136, func_8013D8FC ×136, + func_80141A60 ×136, func_8013D9B0 ×136, func_8016DC20 ×135** (1 wall). **2 walls (reported, not forced):** + func_8016DC20 in ov_SC07_010_o2b (-O2 recon TU trips `as --fatal-warnings $at`), func_80156044 (byte-match needs a + `void` def but fleet-canonical is `int(int,int)` via a 138-overlay DEFINE macro — a disproportionate fleet-wide decl + flip for 74 ins). **R22 clean-fleet 140/140 byte-identical; tools-health OK; 0 NON_MATCHING.** + **⚠️ TOOLING FINDING (R35, fix next):** `family_sweep --hseq --source ` is IGNORED — it templates from the + MANIFEST exemplar (`pick_exemplar` hard-prefers ov_SC01_077), so a non-ov077 source silently used ov077's + heavy-local-struct spelling → 0 banks until the manifest exemplar was redirected. The `--source` flag lies; the + agent worked around it by editing the manifest. **§57a NSD-hazard re-confirmed** (NSD mis-parses `else func(N);` + call statements as decls → wrong `void(*)(void)` cast; use K&R self-decl reconcile, not NSD, for these). + **FRONTIER STATE (honest):** the cheap NON-MCP substantial-family pool (ov077-draftable + absent-cached) is now + WORKED OUT (broad sweep 0; ~14 absent-substantial → 10 cracked/6 banked-families, 2 walls, 2 uncached needing MCP). + Remaining levers: (a) **fresh cracks need a Ghidra-C prefetch → /mcp** (mid/tiny bands, resident's 14, main-EXE); + (b) the **permuter backlog** (4 preserved nears: 8014D820/8012E364/8017B490/80143D28 + the 551 close-1..4 — uncertain + yield, §26 exhausted-lever caution); (c) **tooling fixes** (family_sweep --source; the §8c/§8e-2 jtbl walls unlock + func_801549F8 ×137 + func_8013BD74). This is the ROI-floor signal for non-MCP cracking (Task 7).