feat(phase-29): permuter overnight harvest — 29 fresh cores banked + distinct-code 64837->64854

The grinder ran the targeted permuter sweep to EXHAUSTION (all 75 permuter-shaped candidates;
correctly skipped 1575 redraft/structural/integration). It banked 29 distinct functions autonomously
(gate_stage commit=True, byte-gated, fail-closed, §55b un-propagated), 39% conversion.

- All 29 are LOW-REACH (1-5) overlay-unique code in the 0x8017-0x8018 range — confirming the map's
  finding that the permuter-admissible set is the low-leverage tail (the high-reach near-misses like
  func_8014F3E8 close=1 reach=134 are redraft/structural, NOT permuter-shaped).
- Propagation of the 22 reach>1 banks filled only 1 (0x80180710 ×2); the rest are genuinely
  overlay-unique (siblings byte-diverge) — as predicted.
- R22 clean-fleet 140/140 (the 27 overnight per-binary-gated commits verified fleet-wide, §61).
- distinct-code 64837 -> 64854 (+17 unique fns); session total +22 unique (wave +5, permuter +17) —
  the first real distinct-code progress in many sessions. instr 79.4%, fn-count 88.66%, dedup 1874/0.
This commit is contained in:
Drew T
2026-07-24 09:39:07 -06:00
parent af8ec58288
commit f1fd8993bf
5 changed files with 27 additions and 17 deletions
+7
View File
@@ -13235,3 +13235,10 @@ groups:
func: DEFINE_func_80136F3C
vram: 0x80136F3C
binaries: [ov_SC01_077, ov_SC01_005, ov_SC01_006, ov_SC03_001, ov_SC01_000, ov_SC01_001, ov_SC02_000, ov_SC02_003, ov_SC03_002, ov_SC03_006, ov_SC04_000, ov_SC04_018, ov_SC04_019, ov_SC05_000, ov_SC06_000, ov_SC07_000, ov_SC01_004, ov_SC01_008, ov_SC01_009, ov_SC01_074, ov_SC01_080, ov_SC01_084, ov_SC02_004, ov_SC02_005, ov_SC02_011, ov_SC02_015, ov_SC02_016, ov_SC02_017, ov_SC02_021, ov_SC02_026, ov_SC02_027, ov_SC02_028, ov_SC02_031, ov_SC02_035, ov_SC02_039, ov_SC02_041, ov_SC03_003, ov_SC03_007, ov_SC03_010, ov_SC03_011, ov_SC03_012, ov_SC03_013, ov_SC03_014, ov_SC03_015, ov_SC03_023, ov_SC03_024, ov_SC03_028, ov_SC03_029, ov_SC03_030, ov_SC03_031, ov_SC03_089, ov_SC03_090, ov_SC03_091, ov_SC03_092, ov_SC03_093, ov_SC03_094, ov_SC03_095, ov_SC03_096, ov_SC03_097, ov_SC03_098, ov_SC03_099, ov_SC03_100, ov_SC03_101, ov_SC03_102, ov_SC03_103, ov_SC03_104, ov_SC03_105, ov_SC03_108, ov_SC03_109, ov_SC03_110, ov_SC03_111, ov_SC03_112, ov_SC03_113, ov_SC03_114, ov_SC03_115, ov_SC03_116, ov_SC03_117, ov_SC03_118, ov_SC03_119, ov_SC03_121, ov_SC03_124, ov_SC03_125, ov_SC03_126, ov_SC04_002, ov_SC04_003, ov_SC04_004, ov_SC04_005, ov_SC04_006, ov_SC04_007, ov_SC04_008, ov_SC04_009, ov_SC04_010, ov_SC04_011, ov_SC04_012, ov_SC04_015, ov_SC04_016, ov_SC04_020, ov_SC04_021, ov_SC05_001, ov_SC05_002, ov_SC05_003, ov_SC05_004, ov_SC05_005, ov_SC05_006, ov_SC05_007, ov_SC05_008, ov_SC05_009, ov_SC05_010, ov_SC05_011, ov_SC05_017, ov_SC05_018, ov_SC05_019, ov_SC06_006, ov_SC06_008, ov_SC06_010, ov_SC06_011, ov_SC06_013, ov_SC06_014, ov_SC06_015, ov_SC06_016, ov_SC06_018, ov_SC06_020, ov_SC06_022, ov_SC06_024, ov_SC06_025, ov_SC06_027, ov_SC06_029, ov_SC06_030, ov_SC06_032, ov_SC06_033, ov_SC07_001, ov_SC07_002, ov_SC07_008, ov_SC07_009, ov_SC07_006, ov_SC07_007, ov_SC07_010, ov_SC07_011]
- id: E_func_80180710
tier: h_exact
hash: d000df43eb6a28305d2f45b3d1c69d4e6cabb923
source: src/shared/engine_core.h
func: DEFINE_func_80180710
vram: 0x80180710
binaries: [ov_SC01_005, ov_SC01_006]
+7 -7
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: 313607 / 353717 = 88.66% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 10429797 / 13141652 = 79.4% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET fn-count byte-ident: 313608 / 353717 = 88.66% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 10429806 / 13141652 = 79.4% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 3812012 / 5634875 = 67.7% (64854/87459 unique fns; the DISTINCT-RE number)
MAIN game-code weighted : 436 / 60201 = 0.7% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-06-14; 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: 10429361 / 13081451 = 79.7%)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 10429370 / 13081451 = 79.7%)
FLEET REAL substantive : 311752 (of which dedup-shared 237748 via 1873 groups / 237792 instances)
FLEET REAL substantive : 311753 (of which dedup-shared 237750 via 1874 groups / 237794 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 40103
FLEET INCLUDE_ASM stubs : 40102
FLEET matchable : 353717
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
@@ -23,8 +23,8 @@ FLEET matchable : 353717
| ov_SC01_000 | 2237 | 1731 | 0 | 2237 | 2403 | 93.1% |
| ov_SC01_001 | 2238 | 1730 | 0 | 2240 | 2466 | 90.8% |
| ov_SC01_004 | 2229 | 1721 | 0 | 2230 | 2414 | 92.4% |
| ov_SC01_005 | 2258 | 1743 | 0 | 2258 | 2503 | 90.2% |
| ov_SC01_006 | 2259 | 1743 | 0 | 2259 | 2503 | 90.3% |
| ov_SC01_005 | 2259 | 1744 | 0 | 2259 | 2503 | 90.3% |
| ov_SC01_006 | 2259 | 1744 | 0 | 2259 | 2503 | 90.3% |
| ov_SC01_008 | 2229 | 1721 | 0 | 2231 | 2426 | 92.0% |
| ov_SC01_009 | 2255 | 1722 | 0 | 2256 | 2507 | 90.0% |
| ov_SC01_074 | 2233 | 1722 | 0 | 2235 | 2425 | 92.2% |
+1 -1
View File
@@ -3405,7 +3405,7 @@ INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017C340", func_8018067
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017C340", func_801806B8);
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017C340", func_80180710);
DEFINE_func_80180710() /* dedup: shared engine-core @0x80180710 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017C340", func_80180734);
+1 -9
View File
@@ -3419,15 +3419,7 @@ INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8017C340", func_801806B
extern s16 func_8017DA9C(void);
int func_80180710(void)
{
int new_var;
new_var = 0x1;
new_var--;
return (((unsigned int) ((int (*)(void))func_8017DA9C)()) << 16) == new_var;
new_var++;
}
DEFINE_func_80180710() /* dedup: shared engine-core @0x80180710 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8017C340", func_80180734);
+11
View File
@@ -28876,4 +28876,15 @@
GsSortLine(&line, &base[(u16)D_800B9A02 * 20], 0); \
}
#define DEFINE_func_80180710() \
extern s16 func_8017DA9C(void); \
int func_80180710(void) \
{ \
int new_var; \
new_var = 0x1; \
new_var--; \
return (((unsigned int) ((int (*)(void))func_8017DA9C)()) << 16) == new_var; \
new_var++; \
}
#endif