Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 9d9cd58028 feat(phase-29): T0.4 harvest — 272 return-axis members banked (+26,928 ins) + the §84 recompute in family_remap
THE §85 WIDEN PAID OFF AS PREDICTED. It is a ONE-TIME fleet edit, so once committed the
`conflicting types` blocker was gone for EVERY member of both families at once:
  - sample 8 first (probe-before-scale): 8/8 banked with PLAIN harvest_verify, no ladder needed
  - full sweep: 264 banked / 0 failed across 132 overlays; 10 skipped as not-stub
  - total 272 members ~= 27k ins, ZERO agent tokens
R22 clean-fleet 140/140 BYTE-IDENTICAL; dedup 1886/0; 0 NON_MATCHING (G4).
Fleet: instr 80.6 -> 80.8% (10,589,503 -> 10,616,431, +26,928) · fn-count 89.19 -> 89.26%.
distinct-code UNCHANGED at 68.3% — propagation moves the DISPLAY metric, not the RE-completeness
one (the SESSION-19 split, reconfirmed).

§84 RECOMPUTE now implemented in tools/family_remap.py (fix_derived_offsets), wired into all three
apply_remap call sites as a PRE-pass on the exemplar body (the literal is ambiguous as a substitution
token, so it cannot be a table entry):
    correct_literal = mapped(aliased_sym) - mapped(base_sym)
Verified by negative control: the hand-solved case recomputes 0x20 -> 0x18 exactly, and a site whose
target endpoint is NOT a mapped symbol is left byte-for-byte alone AND REPORTED in info
["derived_offsets"] (R32 — a silent skip is a defect, and a silent skip is how this bug survived).
2026-07-26 15:36:06 -06:00

9.1 KiB
Raw Blame History

BFM FLEET matching progress (generated by tools/progress.py --fleet — authoritative)

140 binaries: main + resident + 138 location overlays. DETERMINISTIC,

source-derived (committed src/*.c + config/dedup.us.yaml). Live byte gate: make check-all;

cross-binary collapsible-byte leverage: docs/duplicates.cross.md.

THREE progress metrics (all matter — see the labels):

FLEET fn-count byte-ident: 315742 / 353719 = 89.26% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 10616431 / 13141652 = 80.8% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 3846656 / 5634875 = 68.3% (64912/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: 10615995 / 13081451 = 81.2%)

FLEET REAL substantive : 313887 (of which dedup-shared 239530 via 1886 groups / 239604 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 37970 FLEET matchable : 353719

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 2253 1742 0 2253 2403 93.8%
ov_SC01_001 2255 1743 0 2257 2466 91.5%
ov_SC01_004 2244 1734 0 2245 2414 93.0%
ov_SC01_005 2274 1757 0 2274 2503 90.9%
ov_SC01_006 2274 1757 0 2274 2503 90.9%
ov_SC01_008 2244 1734 0 2246 2426 92.6%
ov_SC01_009 2270 1735 0 2271 2507 90.6%
ov_SC01_074 2248 1735 0 2250 2425 92.8%
ov_SC01_077 2430 1702 0 2432 2585 94.1%
ov_SC01_080 2286 1738 0 2286 2512 91.0%
ov_SC01_084 2293 1738 0 2298 2579 89.1%
ov_SC02_000 2346 1773 0 2346 2683 87.4%
ov_SC02_003 2346 1773 0 2346 2683 87.4%
ov_SC02_004 2252 1738 0 2252 2401 93.8%
ov_SC02_005 2360 1734 0 2370 2927 81.0%
ov_SC02_011 2372 1741 0 2383 2893 82.4%
ov_SC02_015 2253 1740 0 2253 2414 93.3%
ov_SC02_016 2287 1740 0 2290 2545 90.0%
ov_SC02_017 2330 1740 0 2338 2732 85.6%
ov_SC02_021 2259 1740 0 2259 2437 92.7%
ov_SC02_026 2275 1738 0 2281 2572 88.7%
ov_SC02_027 2298 1738 0 2307 2692 85.7%
ov_SC02_028 2300 1738 0 2310 2701 85.5%
ov_SC02_031 2286 1739 0 2291 2562 89.4%
ov_SC02_035 2261 1738 0 2264 2520 89.8%
ov_SC02_039 2245 1738 0 2245 2416 92.9%
ov_SC02_041 2283 1738 0 2286 2561 89.3%
ov_SC03_001 2381 1739 0 2398 2869 83.6%
ov_SC03_002 2307 1743 0 2322 2631 88.3%
ov_SC03_003 2255 1738 0 2256 2423 93.1%
ov_SC03_006 2321 1744 0 2330 2767 84.2%
ov_SC03_007 2300 1738 0 2304 2623 87.8%
ov_SC03_010 2263 1738 0 2263 2471 91.6%
ov_SC03_011 2269 1738 0 2275 2527 90.0%
ov_SC03_012 2247 1738 0 2248 2406 93.4%
ov_SC03_013 2268 1738 0 2268 2493 91.0%
ov_SC03_014 2326 1763 0 2326 2685 86.6%
ov_SC03_015 2326 1763 0 2326 2685 86.6%
ov_SC03_023 2254 1738 0 2255 2435 92.6%
ov_SC03_024 2314 1743 0 2321 2641 87.9%
ov_SC03_028 2294 1738 0 2298 2664 86.3%
ov_SC03_029 2295 1740 0 2305 2644 87.2%
ov_SC03_030 2268 1743 0 2270 2495 91.0%
ov_SC03_031 2265 1738 0 2268 2514 90.2%
ov_SC03_089 2282 1738 0 2289 2581 88.7%
ov_SC03_090 2283 1738 0 2291 2625 87.3%
ov_SC03_091 2286 1738 0 2294 2640 86.9%
ov_SC03_092 2296 1738 0 2308 2587 89.2%
ov_SC03_093 2272 1738 0 2276 2563 88.8%
ov_SC03_094 2267 1738 0 2273 2577 88.2%
ov_SC03_095 2257 1738 0 2260 2474 91.4%
ov_SC03_096 2257 1738 0 2260 2465 91.7%
ov_SC03_097 2287 1738 0 2294 2603 88.1%
ov_SC03_098 2265 1738 0 2268 2541 89.3%
ov_SC03_099 2258 1738 0 2261 2504 90.3%
ov_SC03_100 2268 1738 0 2272 2539 89.5%
ov_SC03_101 2268 1738 0 2272 2528 89.9%
ov_SC03_102 2261 1738 0 2264 2492 90.9%
ov_SC03_103 2263 1740 0 2266 2510 90.3%
ov_SC03_104 2290 1738 0 2297 2616 87.8%
ov_SC03_105 2282 1738 0 2289 2597 88.1%
ov_SC03_108 2249 1738 0 2249 2443 92.1%
ov_SC03_109 2252 1738 0 2254 2424 93.0%
ov_SC03_110 2256 1738 0 2256 2468 91.4%
ov_SC03_111 2267 1738 0 2270 2510 90.4%
ov_SC03_112 2261 1740 0 2263 2526 89.6%
ov_SC03_113 2254 1740 0 2257 2468 91.5%
ov_SC03_114 2244 1738 0 2246 2415 93.0%
ov_SC03_115 2261 1738 0 2263 2472 91.5%
ov_SC03_116 2252 1738 0 2255 2438 92.5%
ov_SC03_117 2279 1738 0 2285 2557 89.4%
ov_SC03_118 2325 1762 0 2326 2685 86.6%
ov_SC03_119 2324 1762 0 2325 2685 86.6%
ov_SC03_121 2259 1738 0 2262 2459 92.0%
ov_SC03_124 2338 1734 0 2358 2741 86.0%
ov_SC03_125 2294 1738 0 2306 2588 89.1%
ov_SC03_126 2256 1740 0 2256 2423 93.1%
ov_SC04_000 2272 1742 0 2281 2546 89.6%
ov_SC04_002 2291 1738 0 2295 2636 87.1%
ov_SC04_003 2267 1738 0 2271 2502 90.8%
ov_SC04_004 2276 1738 0 2278 2558 89.1%
ov_SC04_005 2286 1738 0 2292 2612 87.7%
ov_SC04_006 2256 1738 0 2258 2454 92.0%
ov_SC04_007 2280 1738 0 2284 2569 88.9%
ov_SC04_008 2248 1738 0 2248 2415 93.1%
ov_SC04_009 2263 1738 0 2266 2441 92.8%
ov_SC04_010 2253 1738 0 2254 2419 93.2%
ov_SC04_011 2311 1738 0 2317 2803 82.7%
ov_SC04_012 2250 1738 0 2251 2420 93.0%
ov_SC04_015 2316 1739 0 2327 2611 89.1%
ov_SC04_016 2253 1738 0 2255 2440 92.4%
ov_SC04_018 2364 1773 0 2364 2857 82.7%
ov_SC04_019 2370 1773 0 2370 2857 83.0%
ov_SC04_020 2281 1738 0 2293 2567 89.3%
ov_SC04_021 2257 1740 0 2257 2423 93.1%
ov_SC05_000 2254 1742 0 2257 2422 93.2%
ov_SC05_001 2276 1738 0 2281 2574 88.6%
ov_SC05_002 2259 1738 0 2262 2442 92.6%
ov_SC05_003 2256 1738 0 2257 2481 91.0%
ov_SC05_004 2252 1738 0 2254 2464 91.5%
ov_SC05_005 2257 1738 0 2258 2491 90.6%
ov_SC05_006 2250 1738 0 2250 2430 92.6%
ov_SC05_007 2260 1738 0 2265 2482 91.3%
ov_SC05_008 2277 1738 0 2279 2543 89.6%
ov_SC05_009 2256 1738 0 2260 2438 92.7%
ov_SC05_010 2283 1738 0 2287 2588 88.4%
ov_SC05_011 2252 1738 0 2253 2409 93.5%
ov_SC05_017 2360 1735 0 2371 2842 83.4%
ov_SC05_018 2307 1738 0 2320 2673 86.8%
ov_SC05_019 2257 1740 0 2257 2423 93.1%
ov_SC06_000 2321 1747 0 2324 2691 86.4%
ov_SC06_006 2273 1738 0 2274 2511 90.6%
ov_SC06_008 2292 1740 0 2298 2542 90.4%
ov_SC06_010 2273 1738 0 2278 2517 90.5%
ov_SC06_011 2262 1738 0 2266 2468 91.8%
ov_SC06_013 2255 1738 0 2256 2425 93.0%
ov_SC06_014 2261 1738 0 2263 2453 92.3%
ov_SC06_015 2258 1738 0 2258 2421 93.3%
ov_SC06_016 2276 1738 0 2278 2549 89.4%
ov_SC06_018 2288 1740 0 2295 2665 86.1%
ov_SC06_020 2265 1740 0 2266 2518 90.0%
ov_SC06_022 2284 1738 0 2292 2642 86.8%
ov_SC06_024 2294 1738 0 2300 2667 86.2%
ov_SC06_025 2278 1738 0 2283 2572 88.8%
ov_SC06_027 2243 1738 0 2244 2408 93.2%
ov_SC06_029 2304 1738 0 2316 2662 87.0%
ov_SC06_030 2257 1738 0 2257 2456 91.9%
ov_SC06_032 2279 1739 0 2286 2658 86.0%
ov_SC06_033 2281 1739 0 2288 2631 87.0%
ov_SC07_000 2273 1742 0 2275 2521 90.2%
ov_SC07_001 2256 1738 0 2258 2454 92.0%
ov_SC07_002 2284 1738 0 2288 2579 88.7%
ov_SC07_006 2051 1555 0 2131 2455 86.8%
ov_SC07_007 2045 1586 0 2129 2613 81.5%
ov_SC07_008 2241 1738 0 2241 2386 93.9%
ov_SC07_009 2250 1738 0 2252 2430 92.7%
ov_SC07_010 2076 1608 0 2159 2524 85.5%
ov_SC07_011 2044 1585 0 2124 2449 86.7%