Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 37e5a19558 feat(phase-29): T40 — sweep 143/548; the 405 failures are one named class (§99 K&R-vs-prototype)
family_sweep --hseq --band all --only <4 cores> -j12 -> 143 banked / 405 failed. R22 clean-fleet
140 passed, 0 failed of 140; dedup-check 1886/0. Fleet 85.3 -> 85.4% instr, 75.8 -> 76.0% distinct,
90.50 -> 90.54% fn-count.

Unlike T33's 548/548, this sweep mostly failed — so the failures were DIAGNOSED, not accepted:
- func_80138C60 swept 137/137 clean.
- func_8013B6A0 / func_8013B598 swept 1/137 each — EXPECTED, not a regression: Phase 20 byte-proved
  the -O0 cluster is OVERLAY-LOCAL, so their siblings need per-overlay _o0 carves that do not exist.
- func_80177DA8 swept 4/137 — ROOT CAUSED: its banked def is K&R and its own TU declares it no-proto,
  but NON-SC07 overlays declare a PROTOTYPE (extern void func_80177DA8(s32,s32,s32)), so the remap
  conflicts. The 4 successes are SC07 overlays, which declare it not at all.

THE SYNTHESIS: that is the SAME §99 K&R-vs-prototype class as item 3's func_80140D68 (K&R def vs 138
prototype callers). ONE conform_decls pass unlocks both — ~17,000 instructions. conform_decls exists
for exactly this ("the draft's signature is byte-TRUTH; move the DECLS, never the draft"). NOT run:
it is a fleet-shared 138+-declaration change and this session already tripped one shared-state
hazard, so it wants an explicit go-ahead (P5).

MY ERROR, recorded: I read a `head -6` list of modified dirs as the complete set and briefly thought
the sweep's count did not reconcile. Measured properly it does — 143 stubs removed across 142 files.
Same class as grepping the wrong field earlier today: truncated output is not exhaustive output.
2026-07-28 13:50:28 -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: 320248 / 353720 = 90.54% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 11222082 / 13141652 = 85.4% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4279772 / 5634875 = 76.0% (67556/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: 11221646 / 13081451 = 85.8%)

FLEET REAL substantive : 318393 (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 : 33465 FLEET matchable : 353720

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 2281 1742 0 2281 2403 94.9%
ov_SC01_001 2286 1743 0 2288 2466 92.8%
ov_SC01_004 2276 1734 0 2277 2414 94.3%
ov_SC01_005 2306 1757 0 2306 2503 92.1%
ov_SC01_006 2306 1757 0 2306 2503 92.1%
ov_SC01_008 2276 1734 0 2278 2426 93.9%
ov_SC01_009 2302 1735 0 2303 2507 91.9%
ov_SC01_074 2280 1735 0 2282 2425 94.1%
ov_SC01_077 2462 1702 0 2464 2585 95.3%
ov_SC01_080 2318 1738 0 2318 2512 92.3%
ov_SC01_084 2325 1738 0 2330 2579 90.3%
ov_SC02_000 2378 1773 0 2378 2683 88.6%
ov_SC02_003 2378 1773 0 2378 2683 88.6%
ov_SC02_004 2284 1738 0 2284 2401 95.1%
ov_SC02_005 2392 1734 0 2402 2927 82.1%
ov_SC02_011 2405 1741 0 2416 2893 83.5%
ov_SC02_015 2286 1740 0 2286 2414 94.7%
ov_SC02_016 2320 1740 0 2323 2545 91.3%
ov_SC02_017 2364 1740 0 2372 2732 86.8%
ov_SC02_021 2292 1740 0 2292 2437 94.1%
ov_SC02_026 2307 1738 0 2313 2572 89.9%
ov_SC02_027 2330 1738 0 2339 2692 86.9%
ov_SC02_028 2332 1738 0 2342 2701 86.7%
ov_SC02_031 2318 1739 0 2323 2562 90.7%
ov_SC02_035 2293 1738 0 2296 2520 91.1%
ov_SC02_039 2277 1738 0 2277 2416 94.2%
ov_SC02_041 2315 1738 0 2318 2561 90.5%
ov_SC03_001 2412 1739 0 2429 2869 84.7%
ov_SC03_002 2338 1743 0 2353 2631 89.4%
ov_SC03_003 2287 1738 0 2288 2423 94.4%
ov_SC03_006 2355 1744 0 2364 2767 85.4%
ov_SC03_007 2332 1738 0 2336 2623 89.1%
ov_SC03_010 2295 1738 0 2295 2471 92.9%
ov_SC03_011 2301 1738 0 2307 2527 91.3%
ov_SC03_012 2279 1738 0 2280 2406 94.8%
ov_SC03_013 2300 1738 0 2300 2493 92.3%
ov_SC03_014 2358 1763 0 2358 2685 87.8%
ov_SC03_015 2358 1763 0 2358 2685 87.8%
ov_SC03_023 2286 1738 0 2287 2435 93.9%
ov_SC03_024 2346 1743 0 2353 2641 89.1%
ov_SC03_028 2326 1738 0 2330 2664 87.5%
ov_SC03_029 2328 1740 0 2338 2644 88.4%
ov_SC03_030 2301 1743 0 2303 2495 92.3%
ov_SC03_031 2297 1738 0 2300 2514 91.5%
ov_SC03_089 2314 1738 0 2321 2581 89.9%
ov_SC03_090 2315 1738 0 2323 2625 88.5%
ov_SC03_091 2318 1738 0 2326 2640 88.1%
ov_SC03_092 2328 1738 0 2340 2587 90.5%
ov_SC03_093 2304 1738 0 2308 2563 90.1%
ov_SC03_094 2299 1738 0 2305 2577 89.4%
ov_SC03_095 2289 1738 0 2292 2474 92.6%
ov_SC03_096 2289 1738 0 2292 2465 93.0%
ov_SC03_097 2319 1738 0 2326 2603 89.4%
ov_SC03_098 2297 1738 0 2300 2541 90.5%
ov_SC03_099 2290 1738 0 2293 2504 91.6%
ov_SC03_100 2300 1738 0 2304 2539 90.7%
ov_SC03_101 2300 1738 0 2304 2528 91.1%
ov_SC03_102 2293 1738 0 2296 2492 92.1%
ov_SC03_103 2296 1740 0 2299 2510 91.6%
ov_SC03_104 2322 1738 0 2329 2616 89.0%
ov_SC03_105 2313 1738 0 2320 2597 89.3%
ov_SC03_108 2280 1738 0 2280 2443 93.3%
ov_SC03_109 2284 1738 0 2286 2424 94.3%
ov_SC03_110 2288 1738 0 2288 2468 92.7%
ov_SC03_111 2299 1738 0 2302 2510 91.7%
ov_SC03_112 2295 1740 0 2297 2526 90.9%
ov_SC03_113 2288 1740 0 2291 2468 92.8%
ov_SC03_114 2277 1738 0 2279 2415 94.4%
ov_SC03_115 2294 1738 0 2296 2472 92.9%
ov_SC03_116 2285 1738 0 2288 2438 93.8%
ov_SC03_117 2312 1738 0 2318 2557 90.7%
ov_SC03_118 2358 1762 0 2359 2685 87.9%
ov_SC03_119 2357 1762 0 2358 2685 87.8%
ov_SC03_121 2292 1738 0 2295 2459 93.3%
ov_SC03_124 2370 1734 0 2390 2741 87.2%
ov_SC03_125 2326 1738 0 2338 2588 90.3%
ov_SC03_126 2289 1740 0 2289 2423 94.5%
ov_SC04_000 2305 1742 0 2314 2546 90.9%
ov_SC04_002 2324 1738 0 2328 2636 88.3%
ov_SC04_003 2300 1738 0 2304 2502 92.1%
ov_SC04_004 2309 1738 0 2311 2558 90.3%
ov_SC04_005 2319 1738 0 2325 2612 89.0%
ov_SC04_006 2289 1738 0 2291 2454 93.4%
ov_SC04_007 2313 1738 0 2317 2569 90.2%
ov_SC04_008 2281 1738 0 2281 2415 94.5%
ov_SC04_009 2296 1738 0 2299 2441 94.2%
ov_SC04_010 2286 1738 0 2287 2419 94.5%
ov_SC04_011 2344 1738 0 2350 2803 83.8%
ov_SC04_012 2283 1738 0 2284 2420 94.4%
ov_SC04_015 2348 1739 0 2359 2611 90.3%
ov_SC04_016 2286 1738 0 2288 2440 93.8%
ov_SC04_018 2396 1773 0 2396 2857 83.9%
ov_SC04_019 2402 1773 0 2402 2857 84.1%
ov_SC04_020 2313 1738 0 2325 2567 90.6%
ov_SC04_021 2290 1740 0 2290 2423 94.5%
ov_SC05_000 2287 1742 0 2290 2422 94.5%
ov_SC05_001 2309 1738 0 2314 2574 89.9%
ov_SC05_002 2292 1738 0 2295 2442 94.0%
ov_SC05_003 2289 1738 0 2290 2481 92.3%
ov_SC05_004 2285 1738 0 2287 2464 92.8%
ov_SC05_005 2290 1738 0 2291 2491 92.0%
ov_SC05_006 2283 1738 0 2283 2430 94.0%
ov_SC05_007 2293 1738 0 2298 2482 92.6%
ov_SC05_008 2310 1738 0 2312 2543 90.9%
ov_SC05_009 2289 1738 0 2293 2438 94.1%
ov_SC05_010 2316 1738 0 2320 2588 89.6%
ov_SC05_011 2285 1738 0 2286 2409 94.9%
ov_SC05_017 2392 1735 0 2403 2842 84.6%
ov_SC05_018 2339 1738 0 2352 2673 88.0%
ov_SC05_019 2290 1740 0 2290 2423 94.5%
ov_SC06_000 2354 1747 0 2357 2691 87.6%
ov_SC06_006 2306 1738 0 2307 2511 91.9%
ov_SC06_008 2326 1740 0 2332 2542 91.7%
ov_SC06_010 2306 1738 0 2311 2517 91.8%
ov_SC06_011 2294 1738 0 2298 2468 93.1%
ov_SC06_013 2288 1738 0 2289 2425 94.4%
ov_SC06_014 2294 1738 0 2296 2453 93.6%
ov_SC06_015 2291 1738 0 2291 2421 94.6%
ov_SC06_016 2309 1738 0 2311 2549 90.7%
ov_SC06_018 2320 1740 0 2327 2665 87.3%
ov_SC06_020 2298 1740 0 2299 2518 91.3%
ov_SC06_022 2317 1738 0 2325 2642 88.0%
ov_SC06_024 2327 1738 0 2333 2667 87.5%
ov_SC06_025 2311 1738 0 2316 2572 90.0%
ov_SC06_027 2276 1738 0 2277 2408 94.6%
ov_SC06_029 2337 1738 0 2349 2662 88.2%
ov_SC06_030 2290 1738 0 2290 2456 93.2%
ov_SC06_032 2312 1739 0 2319 2658 87.2%
ov_SC06_033 2314 1739 0 2321 2631 88.2%
ov_SC07_000 2305 1742 0 2307 2521 91.5%
ov_SC07_001 2289 1738 0 2291 2454 93.4%
ov_SC07_002 2317 1738 0 2321 2579 90.0%
ov_SC07_006 2088 1555 0 2168 2456 88.3%
ov_SC07_007 2083 1586 0 2167 2613 82.9%
ov_SC07_008 2274 1738 0 2274 2386 95.3%
ov_SC07_009 2283 1738 0 2285 2430 94.0%
ov_SC07_010 2117 1608 0 2200 2524 87.2%
ov_SC07_011 2083 1585 0 2163 2449 88.3%