Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 59785974f0 feat(phase-29): T41 — §99 conform_decls: func_80177DA8 family 4/137 -> 137/137 (0 failed)
Drew green-lit the fleet-shared change. One function at a time from a committed-clean baseline, dry
run first, R22 after each step — the discipline the T39 shared-state hazard earned.

- conform_decls --fn func_80177DA8 --apply: byte-true def `void func_80177DA8(u8 *p, u32 v, s32 idx)`;
  268 declaration sites rewritten across 268 files; the tool's own R32 completion assertion reports
  "non-canonical declarations remaining: 0  OK (axis complete)" (§85 all-or-nothing as a COUNT, not a
  hope). Nothing under src/shared, config or include. R22 -> 140/140: the decl axis is byte-neutral.
- Re-sweep: BANKED 133 / 0 failed, skipped {not-stub: 4} => the family went 4/137 -> 137/137, exactly
  reversing T40's failure. R22 -> 140/140. dedup-check 1886/0.
- Fleet 85.4 -> 85.5% instr, 76.0 -> 76.1% distinct, 90.54 -> 90.57% fn-count.

T42 func_80140D68 — the pass correctly REFUSED it (414 callers consume the return, so widening the
return type is not byte-neutral, §85). Diagnosed in the real TU instead (rtu_match + reading ALL
stderr per §95 — gcc-2.7.2 prints hard errors with NO "error:" prefix, so grepping for "error" finds
nothing):
1. parse error before D_800AE7BC = a §94 TYPE-CARRY defect, and the draft's header asserts something
   FALSE: it claims Hw4 AND Env_800D29F8 both already exist in engine_types.h. Measured: Hw4 1 hit,
   Prim4 1 hit, Env_800D29F8 ZERO. FIXED by keeping Hw4 guarded (it does exist) and moving
   Env_800D29F8 outside the guard, draft-local per §100. Still MATCH (65 ins).
2. conflicting types — conformed the DRAFT's return to the fleet's declared s32 * (still MATCH).
   Only remaining delta: param 2 byte-true `s16 *` vs declared `Prim4 *`. conform_decls still refuses
   (its return-axis precondition fires regardless). OPEN, with the next probe named.
2026-07-28 14:05:42 -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: 320381 / 353720 = 90.57% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 11230461 / 13141652 = 85.5% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4287647 / 5634875 = 76.1% (67681/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: 11230025 / 13081451 = 85.8%)

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