Files
BFM-decomp/docs/progress.fleet.md
T
Drew T d4dc533f54 feat(phase-29): T52 — func_80135260 swept 132/132 (0 failed); the family goes 4/137 -> 137/137
T51's payoff. The invocation is IDENTICAL to the T49/T50 runs; the only variable is T51's decl
scoping.

  T49/T50 (pre-T51)  4 banked / 133 gate-fail   (and all 4 were SC07 — a different cause)
  T52 sample (8)     8 BANKED / 8               52s
  T52 rest  (124)  124 BANKED / 124             13m04s
  TOTAL            132 / 132, ZERO failures

So the 133 "gate-fails" were never a codegen wall — they were one file-scope declaration per sibling
TU. Fifth time this phase a wall has resolved to tooling/plumbing.

GATES (from a genuinely clean tree): R22 clean-fleet `make clean && extract-all && check-all` ->
140 passed, 0 failed of 140. `make tools-health` OK — corpus 0 PHANTOM + 0 TRUNCATED, cdecl,
audit-binaries, report/lint/dedup 1886 validated / 0 failed (C1 239604/239604). 0 NON_MATCHING (G4).

METRICS (reconciled against make report, not asserted):
  instr-weighted   85.5% -> 85.7%   11240111 -> 11258063 = +17,952 ins
  distinct-code    76.1% -> 76.4%   67687 -> 67812 unique fns (+125)
  fn-count        90.62% -> 90.65%  320524 -> 320656 = +132 functions
  INCLUDE_ASM stubs 33189 -> 33057  = -132
+17,952 templated instructions against T50's ~18,000 estimate. distinct-code gains 125 not 132
because seven siblings are byte-identical to code already counted unique.

ALSO SETTLED:
- item 3 is now byte-confirmed, not just inspected: [gather_externs] warned "func_80135D20 ... the
  sibling will not compile" on ALL 132, and all 132 BANKED. A 100% false-alarm rate on this family,
  actively masking real causes. cdecl._mask is the fix (T51 used exactly that).
- the T51 pre-pass is now worth folding into jtbl_family_bank; T51 withheld that pending a measured
  payoff, and 4/137 -> 137/137 is it. Next task.

config/ (per-overlay splat.*.yaml + overlays.mk, written by the carve) is staged alongside src/ —
the `git add -A src/` omission this phase already recorded once.
2026-07-28 17:27:20 -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: 320656 / 353720 = 90.65% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 11258063 / 13141652 = 85.7% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4305392 / 5634875 = 76.4% (67812/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: 11257627 / 13081451 = 86.1%)

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