Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 3bbfe21596 feat(phase-29): func_80165CA0 ×3 -> ×135 via ENGINE_SHB; +22 fns ×1; §75b (the carried-#define gap)
- dedup_extend banked 157 / 478 planned across 135 binaries: func_80165CA0 (99 ins) ×135
  (~+0.10pp) + 22 other functions ×1 picked up in the 3 overlays the first sweep excluded.
- FLEET: instr-weighted 80.1% -> 80.2% (10,525,534 -> 10,539,723, +14,189 ins); fn-count
  89.09% -> 89.14%; distinct-code 67.7% (unchanged — propagation moves coverage, not distinct-RE).
  dedup 1886 validated / 0 failed, C1 coverage 239,472/239,472. 0 NON_MATCHING (G4).
- R22 clean-fleet: make clean && extract-all && check-all -> 140 passed, 0 failed of 140.
- §75b — extraction lifts `extern`s but NOT file-scope `#define`s, so a body matched with a macro
  in its preamble compiles only where that overlay's define is in scope ABOVE the splice point.
  Signature is a LINK error (`undefined reference`), never `conflicting types`: an unexpanded
  SHB(x) parses as a call to an undeclared function. The diagnosis PREDICTED the membership —
  the 3 stuck members are exactly the 3 files carrying the __volatile__ spelling of SHB, i.e. the
  function's own preamble still sitting above its own instantiation.
- R14/R35 IN ACTION: the full-sweep census REVERSED the ranking I had just committed. I put the
  class-A normalization first at "~+0.13pp if it reaches ×138"; measured across all 134 it is
  worth 3 overlays (func_80012ABC 3, func_8012F14C 131). The cheap win was the one I ranked
  third. §75a's "collect across the whole sweep before scoping" earned itself immediately.
- NEXT (specified, not guessed): func_80174CB0 is class B on func_8012F14C (1944 `(s32)` vs 968
  `(s32,s32,s32)`). The macro carries the 3-param prototype; the failing TU declares the 1-param
  one FIRST (ov_SC01_001: TU@328 vs instantiation@2616) -> two prototypes, different arity ->
  reject. Per cdecl.compatible's MEASURED rule a K&R `extern void func_8012F14C();` is accepted
  BOTH ways round here (prototype-first + `()`-second always; `()`-first + prototype-second when
  no param default-promotes, and s32 does not) -> it should satisfy both populations in either
  order. One-line probe on the carried decl, byte-gate the 3 members, then extend.
2026-07-25 13:18:36 -06:00

161 lines
9.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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: 315299 / 353717 = 89.14% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 10539723 / 13141652 = 80.2% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 3813512 / 5634875 = 67.7% (64879/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: 10539287 / 13081451 = 80.6%)
FLEET REAL substantive : 313444 (of which dedup-shared 239398 via 1886 groups / 239472 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 38411
FLEET matchable : 353717
| 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 | 2248 | 1742 | 0 | 2248 | 2403 | 93.5% |
| ov_SC01_001 | 2250 | 1742 | 0 | 2252 | 2466 | 91.3% |
| ov_SC01_004 | 2241 | 1733 | 0 | 2242 | 2414 | 92.9% |
| ov_SC01_005 | 2271 | 1756 | 0 | 2271 | 2503 | 90.7% |
| ov_SC01_006 | 2271 | 1756 | 0 | 2271 | 2503 | 90.7% |
| ov_SC01_008 | 2241 | 1733 | 0 | 2243 | 2426 | 92.5% |
| ov_SC01_009 | 2267 | 1734 | 0 | 2268 | 2507 | 90.5% |
| ov_SC01_074 | 2245 | 1734 | 0 | 2247 | 2425 | 92.7% |
| ov_SC01_077 | 2428 | 1702 | 0 | 2430 | 2585 | 94.0% |
| ov_SC01_080 | 2283 | 1737 | 0 | 2283 | 2512 | 90.9% |
| ov_SC01_084 | 2290 | 1737 | 0 | 2295 | 2579 | 89.0% |
| ov_SC02_000 | 2343 | 1772 | 0 | 2343 | 2683 | 87.3% |
| ov_SC02_003 | 2343 | 1772 | 0 | 2343 | 2683 | 87.3% |
| ov_SC02_004 | 2249 | 1737 | 0 | 2249 | 2401 | 93.7% |
| ov_SC02_005 | 2357 | 1733 | 0 | 2367 | 2927 | 80.9% |
| ov_SC02_011 | 2369 | 1740 | 0 | 2380 | 2893 | 82.3% |
| ov_SC02_015 | 2250 | 1739 | 0 | 2250 | 2414 | 93.2% |
| ov_SC02_016 | 2283 | 1739 | 0 | 2286 | 2545 | 89.8% |
| ov_SC02_017 | 2327 | 1739 | 0 | 2335 | 2732 | 85.5% |
| ov_SC02_021 | 2256 | 1739 | 0 | 2256 | 2437 | 92.6% |
| ov_SC02_026 | 2272 | 1737 | 0 | 2278 | 2572 | 88.6% |
| ov_SC02_027 | 2295 | 1737 | 0 | 2304 | 2692 | 85.6% |
| ov_SC02_028 | 2297 | 1737 | 0 | 2307 | 2701 | 85.4% |
| ov_SC02_031 | 2282 | 1738 | 0 | 2287 | 2562 | 89.3% |
| ov_SC02_035 | 2258 | 1737 | 0 | 2261 | 2520 | 89.7% |
| ov_SC02_039 | 2242 | 1737 | 0 | 2242 | 2416 | 92.8% |
| ov_SC02_041 | 2279 | 1737 | 0 | 2282 | 2561 | 89.1% |
| ov_SC03_001 | 2378 | 1738 | 0 | 2395 | 2869 | 83.5% |
| ov_SC03_002 | 2304 | 1742 | 0 | 2319 | 2631 | 88.1% |
| ov_SC03_003 | 2252 | 1737 | 0 | 2253 | 2423 | 93.0% |
| ov_SC03_006 | 2317 | 1743 | 0 | 2326 | 2767 | 84.1% |
| ov_SC03_007 | 2297 | 1737 | 0 | 2301 | 2623 | 87.7% |
| ov_SC03_010 | 2258 | 1737 | 0 | 2258 | 2470 | 91.4% |
| ov_SC03_011 | 2266 | 1737 | 0 | 2272 | 2527 | 89.9% |
| ov_SC03_012 | 2244 | 1737 | 0 | 2245 | 2406 | 93.3% |
| ov_SC03_013 | 2263 | 1737 | 0 | 2263 | 2492 | 90.8% |
| ov_SC03_014 | 2323 | 1762 | 0 | 2323 | 2685 | 86.5% |
| ov_SC03_015 | 2323 | 1762 | 0 | 2323 | 2685 | 86.5% |
| ov_SC03_023 | 2251 | 1737 | 0 | 2252 | 2435 | 92.5% |
| ov_SC03_024 | 2311 | 1742 | 0 | 2318 | 2641 | 87.8% |
| ov_SC03_028 | 2291 | 1737 | 0 | 2295 | 2664 | 86.1% |
| ov_SC03_029 | 2292 | 1739 | 0 | 2302 | 2644 | 87.1% |
| ov_SC03_030 | 2265 | 1742 | 0 | 2267 | 2495 | 90.9% |
| ov_SC03_031 | 2262 | 1737 | 0 | 2265 | 2514 | 90.1% |
| ov_SC03_089 | 2278 | 1737 | 0 | 2285 | 2581 | 88.5% |
| ov_SC03_090 | 2279 | 1737 | 0 | 2287 | 2625 | 87.1% |
| ov_SC03_091 | 2282 | 1737 | 0 | 2290 | 2640 | 86.7% |
| ov_SC03_092 | 2293 | 1737 | 0 | 2305 | 2587 | 89.1% |
| ov_SC03_093 | 2269 | 1737 | 0 | 2273 | 2563 | 88.7% |
| ov_SC03_094 | 2264 | 1737 | 0 | 2270 | 2577 | 88.1% |
| ov_SC03_095 | 2254 | 1737 | 0 | 2257 | 2474 | 91.2% |
| ov_SC03_096 | 2254 | 1737 | 0 | 2257 | 2465 | 91.6% |
| ov_SC03_097 | 2284 | 1737 | 0 | 2291 | 2603 | 88.0% |
| ov_SC03_098 | 2262 | 1737 | 0 | 2265 | 2541 | 89.1% |
| ov_SC03_099 | 2255 | 1737 | 0 | 2258 | 2504 | 90.2% |
| ov_SC03_100 | 2265 | 1737 | 0 | 2269 | 2539 | 89.4% |
| ov_SC03_101 | 2265 | 1737 | 0 | 2269 | 2528 | 89.8% |
| ov_SC03_102 | 2257 | 1737 | 0 | 2260 | 2492 | 90.7% |
| ov_SC03_103 | 2260 | 1739 | 0 | 2263 | 2510 | 90.2% |
| ov_SC03_104 | 2286 | 1737 | 0 | 2293 | 2616 | 87.7% |
| ov_SC03_105 | 2279 | 1737 | 0 | 2286 | 2597 | 88.0% |
| ov_SC03_108 | 2246 | 1737 | 0 | 2246 | 2443 | 91.9% |
| ov_SC03_109 | 2249 | 1737 | 0 | 2251 | 2424 | 92.9% |
| ov_SC03_110 | 2253 | 1737 | 0 | 2253 | 2468 | 91.3% |
| ov_SC03_111 | 2264 | 1737 | 0 | 2267 | 2510 | 90.3% |
| ov_SC03_112 | 2258 | 1739 | 0 | 2260 | 2526 | 89.5% |
| ov_SC03_113 | 2251 | 1739 | 0 | 2254 | 2468 | 91.3% |
| ov_SC03_114 | 2241 | 1737 | 0 | 2243 | 2415 | 92.9% |
| ov_SC03_115 | 2258 | 1737 | 0 | 2260 | 2472 | 91.4% |
| ov_SC03_116 | 2248 | 1737 | 0 | 2251 | 2438 | 92.3% |
| ov_SC03_117 | 2276 | 1737 | 0 | 2282 | 2557 | 89.2% |
| ov_SC03_118 | 2322 | 1761 | 0 | 2323 | 2685 | 86.5% |
| ov_SC03_119 | 2321 | 1761 | 0 | 2322 | 2685 | 86.5% |
| ov_SC03_121 | 2256 | 1737 | 0 | 2259 | 2459 | 91.9% |
| ov_SC03_124 | 2335 | 1733 | 0 | 2355 | 2741 | 85.9% |
| ov_SC03_125 | 2291 | 1737 | 0 | 2303 | 2588 | 89.0% |
| ov_SC03_126 | 2253 | 1739 | 0 | 2253 | 2423 | 93.0% |
| ov_SC04_000 | 2269 | 1741 | 0 | 2278 | 2546 | 89.5% |
| ov_SC04_002 | 2287 | 1737 | 0 | 2291 | 2636 | 86.9% |
| ov_SC04_003 | 2264 | 1737 | 0 | 2268 | 2502 | 90.6% |
| ov_SC04_004 | 2273 | 1737 | 0 | 2275 | 2558 | 88.9% |
| ov_SC04_005 | 2282 | 1737 | 0 | 2288 | 2612 | 87.6% |
| ov_SC04_006 | 2253 | 1737 | 0 | 2255 | 2454 | 91.9% |
| ov_SC04_007 | 2276 | 1737 | 0 | 2280 | 2569 | 88.8% |
| ov_SC04_008 | 2245 | 1737 | 0 | 2245 | 2415 | 93.0% |
| ov_SC04_009 | 2260 | 1737 | 0 | 2263 | 2441 | 92.7% |
| ov_SC04_010 | 2250 | 1737 | 0 | 2251 | 2419 | 93.1% |
| ov_SC04_011 | 2308 | 1737 | 0 | 2314 | 2803 | 82.6% |
| ov_SC04_012 | 2247 | 1737 | 0 | 2248 | 2420 | 92.9% |
| ov_SC04_015 | 2313 | 1738 | 0 | 2324 | 2611 | 89.0% |
| ov_SC04_016 | 2250 | 1737 | 0 | 2252 | 2440 | 92.3% |
| ov_SC04_018 | 2361 | 1772 | 0 | 2361 | 2857 | 82.6% |
| ov_SC04_019 | 2367 | 1772 | 0 | 2367 | 2857 | 82.8% |
| ov_SC04_020 | 2278 | 1737 | 0 | 2290 | 2567 | 89.2% |
| ov_SC04_021 | 2254 | 1739 | 0 | 2254 | 2423 | 93.0% |
| ov_SC05_000 | 2251 | 1741 | 0 | 2254 | 2422 | 93.1% |
| ov_SC05_001 | 2273 | 1737 | 0 | 2278 | 2574 | 88.5% |
| ov_SC05_002 | 2256 | 1737 | 0 | 2259 | 2442 | 92.5% |
| ov_SC05_003 | 2253 | 1737 | 0 | 2254 | 2481 | 90.9% |
| ov_SC05_004 | 2249 | 1737 | 0 | 2251 | 2464 | 91.4% |
| ov_SC05_005 | 2254 | 1737 | 0 | 2255 | 2491 | 90.5% |
| ov_SC05_006 | 2247 | 1737 | 0 | 2247 | 2430 | 92.5% |
| ov_SC05_007 | 2257 | 1737 | 0 | 2262 | 2482 | 91.1% |
| ov_SC05_008 | 2274 | 1737 | 0 | 2276 | 2543 | 89.5% |
| ov_SC05_009 | 2253 | 1737 | 0 | 2257 | 2438 | 92.6% |
| ov_SC05_010 | 2280 | 1737 | 0 | 2284 | 2588 | 88.3% |
| ov_SC05_011 | 2249 | 1737 | 0 | 2250 | 2409 | 93.4% |
| ov_SC05_017 | 2357 | 1734 | 0 | 2368 | 2842 | 83.3% |
| ov_SC05_018 | 2304 | 1737 | 0 | 2317 | 2673 | 86.7% |
| ov_SC05_019 | 2254 | 1739 | 0 | 2254 | 2423 | 93.0% |
| ov_SC06_000 | 2318 | 1746 | 0 | 2321 | 2691 | 86.3% |
| ov_SC06_006 | 2270 | 1737 | 0 | 2271 | 2511 | 90.4% |
| ov_SC06_008 | 2287 | 1739 | 0 | 2293 | 2542 | 90.2% |
| ov_SC06_010 | 2269 | 1737 | 0 | 2274 | 2517 | 90.3% |
| ov_SC06_011 | 2259 | 1737 | 0 | 2263 | 2468 | 91.7% |
| ov_SC06_013 | 2252 | 1737 | 0 | 2253 | 2425 | 92.9% |
| ov_SC06_014 | 2258 | 1737 | 0 | 2260 | 2453 | 92.1% |
| ov_SC06_015 | 2255 | 1737 | 0 | 2255 | 2421 | 93.1% |
| ov_SC06_016 | 2273 | 1737 | 0 | 2275 | 2549 | 89.3% |
| ov_SC06_018 | 2286 | 1740 | 0 | 2293 | 2665 | 86.0% |
| ov_SC06_020 | 2262 | 1739 | 0 | 2263 | 2518 | 89.9% |
| ov_SC06_022 | 2281 | 1737 | 0 | 2289 | 2642 | 86.6% |
| ov_SC06_024 | 2290 | 1737 | 0 | 2296 | 2667 | 86.1% |
| ov_SC06_025 | 2274 | 1737 | 0 | 2279 | 2572 | 88.6% |
| ov_SC06_027 | 2240 | 1737 | 0 | 2241 | 2408 | 93.1% |
| ov_SC06_029 | 2299 | 1737 | 0 | 2311 | 2662 | 86.8% |
| ov_SC06_030 | 2254 | 1737 | 0 | 2254 | 2456 | 91.8% |
| ov_SC06_032 | 2274 | 1738 | 0 | 2281 | 2658 | 85.8% |
| ov_SC06_033 | 2276 | 1738 | 0 | 2283 | 2631 | 86.8% |
| ov_SC07_000 | 2270 | 1741 | 0 | 2272 | 2521 | 90.1% |
| ov_SC07_001 | 2253 | 1737 | 0 | 2255 | 2454 | 91.9% |
| ov_SC07_002 | 2281 | 1737 | 0 | 2285 | 2579 | 88.6% |
| ov_SC07_006 | 2050 | 1555 | 0 | 2130 | 2455 | 86.8% |
| ov_SC07_007 | 2042 | 1586 | 0 | 2126 | 2613 | 81.4% |
| ov_SC07_008 | 2238 | 1737 | 0 | 2238 | 2386 | 93.8% |
| ov_SC07_009 | 2247 | 1737 | 0 | 2249 | 2430 | 92.6% |
| ov_SC07_010 | 2072 | 1607 | 0 | 2155 | 2524 | 85.4% |
| ov_SC07_011 | 2041 | 1585 | 0 | 2121 | 2449 | 86.6% |