Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 39127535da feat(phase-29): func_8014F3E8 ×4 -> ×138 via dedup_extend; §75a enumerates the exclusion classes
- THE NORMALIZATION PAID: one `dedup_extend --binaries <the 134 excluded>` banked 134/400
  planned -- func_8014F3E8 VERIFIED in ALL 134 -> ×138 total (+4,288 ins), no drafting at all.
  A 4-overlay island became full fleet reach because the carried extern finally agreed.
- FLEET: instr-weighted 80.0% -> 80.1% (10,509,526 -> 10,525,534 = +16,008 ins, exactly the
  projected 84×138 + 32×138); fn-count 89.02% -> 89.09%; distinct-code 67.7% (unchanged, as
  expected -- propagation moves coverage, not distinct-RE). dedup 1884 -> 1886 validated / 0
  failed, C1 coverage 239,315/239,315. 0 NON_MATCHING (G4).
- R22 clean-fleet: make clean && extract-all && check-all -> 140 passed, 0 failed of 140.
- §75a — "PROPAGATION-CAPPED" IS AT LEAST THREE CLASSES, and the classifier names which:
    A minority spelling   `conflicting types` + a lopsided census (1710 vs 4) -> normalize, cheap
    B genuine arity split same message, TWO real populations (func_8012F14C: 1944 `(s32)` vs
                          968 `(s32,s32,s32)`) -> the §29 loose-typing wall; a K&R `()` MAY satisfy
                          both but is order-dependent -> PROBE, do not normalize on a guess
    C missing extern      `undefined reference to 'SHB'` -- a LINK error, unrelated to types
  The discriminator is one grep (census the symbol cc1 named) and it decides the remedy.
- R14 self-correction recorded: I predicted func_80174CB0 was "the identical class". It is class
  A in KIND but on DIFFERENT symbols, and different ones per overlay (func_80012ABC at
  ov_SC01_000 where the minority is on the TARGET side; func_8012F14C at ov_SC01_001 = class B).
  One member's error names one blocker, not the blocker set -- collect the classifier's line
  across the whole sweep before scoping a fix.
- func_80174CB0 (×3) and func_80165CA0 stay capped, each now with a named cause and a named next
  probe -- not a wall verdict.
2026-07-25 13:00:00 -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: 315142 / 353717 = 89.09% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 10525534 / 13141652 = 80.1% (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: 10525098 / 13081451 = 80.5%)
FLEET REAL substantive : 313287 (of which dedup-shared 239241 via 1886 groups / 239315 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 38568
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 | 2249 | 1741 | 0 | 2251 | 2466 | 91.3% |
| ov_SC01_004 | 2240 | 1732 | 0 | 2241 | 2414 | 92.8% |
| ov_SC01_005 | 2270 | 1755 | 0 | 2270 | 2503 | 90.7% |
| ov_SC01_006 | 2270 | 1755 | 0 | 2270 | 2503 | 90.7% |
| ov_SC01_008 | 2240 | 1732 | 0 | 2242 | 2426 | 92.4% |
| ov_SC01_009 | 2266 | 1733 | 0 | 2267 | 2507 | 90.4% |
| ov_SC01_074 | 2244 | 1733 | 0 | 2246 | 2425 | 92.6% |
| ov_SC01_077 | 2428 | 1702 | 0 | 2430 | 2585 | 94.0% |
| ov_SC01_080 | 2282 | 1736 | 0 | 2282 | 2512 | 90.8% |
| ov_SC01_084 | 2289 | 1736 | 0 | 2294 | 2579 | 88.9% |
| ov_SC02_000 | 2342 | 1771 | 0 | 2342 | 2683 | 87.3% |
| ov_SC02_003 | 2342 | 1771 | 0 | 2342 | 2683 | 87.3% |
| ov_SC02_004 | 2248 | 1736 | 0 | 2248 | 2401 | 93.6% |
| ov_SC02_005 | 2356 | 1732 | 0 | 2366 | 2927 | 80.8% |
| ov_SC02_011 | 2368 | 1739 | 0 | 2379 | 2893 | 82.2% |
| ov_SC02_015 | 2249 | 1738 | 0 | 2249 | 2414 | 93.2% |
| ov_SC02_016 | 2282 | 1738 | 0 | 2285 | 2545 | 89.8% |
| ov_SC02_017 | 2326 | 1738 | 0 | 2334 | 2732 | 85.4% |
| ov_SC02_021 | 2255 | 1738 | 0 | 2255 | 2437 | 92.5% |
| ov_SC02_026 | 2271 | 1736 | 0 | 2277 | 2572 | 88.5% |
| ov_SC02_027 | 2294 | 1736 | 0 | 2303 | 2692 | 85.5% |
| ov_SC02_028 | 2296 | 1736 | 0 | 2306 | 2701 | 85.4% |
| ov_SC02_031 | 2281 | 1737 | 0 | 2286 | 2562 | 89.2% |
| ov_SC02_035 | 2257 | 1736 | 0 | 2260 | 2520 | 89.7% |
| ov_SC02_039 | 2241 | 1736 | 0 | 2241 | 2416 | 92.8% |
| ov_SC02_041 | 2278 | 1736 | 0 | 2281 | 2561 | 89.1% |
| ov_SC03_001 | 2377 | 1737 | 0 | 2394 | 2869 | 83.4% |
| ov_SC03_002 | 2303 | 1741 | 0 | 2318 | 2631 | 88.1% |
| ov_SC03_003 | 2251 | 1736 | 0 | 2252 | 2423 | 92.9% |
| ov_SC03_006 | 2316 | 1742 | 0 | 2325 | 2767 | 84.0% |
| ov_SC03_007 | 2296 | 1736 | 0 | 2300 | 2623 | 87.7% |
| ov_SC03_010 | 2257 | 1736 | 0 | 2257 | 2470 | 91.4% |
| ov_SC03_011 | 2265 | 1736 | 0 | 2271 | 2527 | 89.9% |
| ov_SC03_012 | 2243 | 1736 | 0 | 2244 | 2406 | 93.3% |
| ov_SC03_013 | 2262 | 1736 | 0 | 2262 | 2492 | 90.8% |
| ov_SC03_014 | 2322 | 1761 | 0 | 2322 | 2685 | 86.5% |
| ov_SC03_015 | 2322 | 1761 | 0 | 2322 | 2685 | 86.5% |
| ov_SC03_023 | 2250 | 1736 | 0 | 2251 | 2435 | 92.4% |
| ov_SC03_024 | 2310 | 1741 | 0 | 2317 | 2641 | 87.7% |
| ov_SC03_028 | 2290 | 1736 | 0 | 2294 | 2664 | 86.1% |
| ov_SC03_029 | 2291 | 1738 | 0 | 2301 | 2644 | 87.0% |
| ov_SC03_030 | 2264 | 1741 | 0 | 2266 | 2495 | 90.8% |
| ov_SC03_031 | 2261 | 1736 | 0 | 2264 | 2514 | 90.1% |
| ov_SC03_089 | 2277 | 1736 | 0 | 2284 | 2581 | 88.5% |
| ov_SC03_090 | 2278 | 1736 | 0 | 2286 | 2625 | 87.1% |
| ov_SC03_091 | 2281 | 1736 | 0 | 2289 | 2640 | 86.7% |
| ov_SC03_092 | 2292 | 1736 | 0 | 2304 | 2587 | 89.1% |
| ov_SC03_093 | 2268 | 1736 | 0 | 2272 | 2563 | 88.6% |
| ov_SC03_094 | 2263 | 1736 | 0 | 2269 | 2577 | 88.0% |
| ov_SC03_095 | 2253 | 1736 | 0 | 2256 | 2474 | 91.2% |
| ov_SC03_096 | 2253 | 1736 | 0 | 2256 | 2465 | 91.5% |
| ov_SC03_097 | 2283 | 1736 | 0 | 2290 | 2603 | 88.0% |
| ov_SC03_098 | 2261 | 1736 | 0 | 2264 | 2541 | 89.1% |
| ov_SC03_099 | 2254 | 1736 | 0 | 2257 | 2504 | 90.1% |
| ov_SC03_100 | 2264 | 1736 | 0 | 2268 | 2539 | 89.3% |
| ov_SC03_101 | 2264 | 1736 | 0 | 2268 | 2528 | 89.7% |
| ov_SC03_102 | 2256 | 1736 | 0 | 2259 | 2492 | 90.7% |
| ov_SC03_103 | 2259 | 1738 | 0 | 2262 | 2510 | 90.1% |
| ov_SC03_104 | 2285 | 1736 | 0 | 2292 | 2616 | 87.6% |
| ov_SC03_105 | 2278 | 1736 | 0 | 2285 | 2597 | 88.0% |
| ov_SC03_108 | 2245 | 1736 | 0 | 2245 | 2443 | 91.9% |
| ov_SC03_109 | 2248 | 1736 | 0 | 2250 | 2424 | 92.8% |
| ov_SC03_110 | 2252 | 1736 | 0 | 2252 | 2468 | 91.2% |
| ov_SC03_111 | 2263 | 1736 | 0 | 2266 | 2510 | 90.3% |
| ov_SC03_112 | 2257 | 1738 | 0 | 2259 | 2526 | 89.4% |
| ov_SC03_113 | 2250 | 1738 | 0 | 2253 | 2468 | 91.3% |
| ov_SC03_114 | 2240 | 1736 | 0 | 2242 | 2415 | 92.8% |
| ov_SC03_115 | 2257 | 1736 | 0 | 2259 | 2472 | 91.4% |
| ov_SC03_116 | 2247 | 1736 | 0 | 2250 | 2438 | 92.3% |
| ov_SC03_117 | 2275 | 1736 | 0 | 2281 | 2557 | 89.2% |
| ov_SC03_118 | 2321 | 1760 | 0 | 2322 | 2685 | 86.5% |
| ov_SC03_119 | 2320 | 1760 | 0 | 2321 | 2685 | 86.4% |
| ov_SC03_121 | 2255 | 1736 | 0 | 2258 | 2459 | 91.8% |
| ov_SC03_124 | 2334 | 1732 | 0 | 2354 | 2741 | 85.9% |
| ov_SC03_125 | 2290 | 1736 | 0 | 2302 | 2588 | 88.9% |
| ov_SC03_126 | 2252 | 1738 | 0 | 2252 | 2423 | 92.9% |
| ov_SC04_000 | 2268 | 1740 | 0 | 2277 | 2546 | 89.4% |
| ov_SC04_002 | 2286 | 1736 | 0 | 2290 | 2636 | 86.9% |
| ov_SC04_003 | 2263 | 1736 | 0 | 2267 | 2502 | 90.6% |
| ov_SC04_004 | 2272 | 1736 | 0 | 2274 | 2558 | 88.9% |
| ov_SC04_005 | 2281 | 1736 | 0 | 2287 | 2612 | 87.6% |
| ov_SC04_006 | 2252 | 1736 | 0 | 2254 | 2454 | 91.9% |
| ov_SC04_007 | 2275 | 1736 | 0 | 2279 | 2569 | 88.7% |
| ov_SC04_008 | 2244 | 1736 | 0 | 2244 | 2415 | 92.9% |
| ov_SC04_009 | 2259 | 1736 | 0 | 2262 | 2441 | 92.7% |
| ov_SC04_010 | 2249 | 1736 | 0 | 2250 | 2419 | 93.0% |
| ov_SC04_011 | 2307 | 1736 | 0 | 2313 | 2803 | 82.5% |
| ov_SC04_012 | 2246 | 1736 | 0 | 2247 | 2420 | 92.9% |
| ov_SC04_015 | 2312 | 1737 | 0 | 2323 | 2611 | 89.0% |
| ov_SC04_016 | 2249 | 1736 | 0 | 2251 | 2440 | 92.3% |
| ov_SC04_018 | 2360 | 1771 | 0 | 2360 | 2857 | 82.6% |
| ov_SC04_019 | 2366 | 1771 | 0 | 2366 | 2857 | 82.8% |
| ov_SC04_020 | 2277 | 1736 | 0 | 2289 | 2567 | 89.2% |
| ov_SC04_021 | 2253 | 1738 | 0 | 2253 | 2423 | 93.0% |
| ov_SC05_000 | 2250 | 1740 | 0 | 2253 | 2422 | 93.0% |
| ov_SC05_001 | 2272 | 1736 | 0 | 2277 | 2574 | 88.5% |
| ov_SC05_002 | 2255 | 1736 | 0 | 2258 | 2442 | 92.5% |
| ov_SC05_003 | 2252 | 1736 | 0 | 2253 | 2481 | 90.8% |
| ov_SC05_004 | 2248 | 1736 | 0 | 2250 | 2464 | 91.3% |
| ov_SC05_005 | 2253 | 1736 | 0 | 2254 | 2491 | 90.5% |
| ov_SC05_006 | 2246 | 1736 | 0 | 2246 | 2430 | 92.4% |
| ov_SC05_007 | 2256 | 1736 | 0 | 2261 | 2482 | 91.1% |
| ov_SC05_008 | 2273 | 1736 | 0 | 2275 | 2543 | 89.5% |
| ov_SC05_009 | 2252 | 1736 | 0 | 2256 | 2438 | 92.5% |
| ov_SC05_010 | 2279 | 1736 | 0 | 2283 | 2588 | 88.2% |
| ov_SC05_011 | 2248 | 1736 | 0 | 2249 | 2409 | 93.4% |
| ov_SC05_017 | 2356 | 1733 | 0 | 2367 | 2842 | 83.3% |
| ov_SC05_018 | 2303 | 1736 | 0 | 2316 | 2673 | 86.6% |
| ov_SC05_019 | 2253 | 1738 | 0 | 2253 | 2423 | 93.0% |
| ov_SC06_000 | 2317 | 1745 | 0 | 2320 | 2691 | 86.2% |
| ov_SC06_006 | 2269 | 1736 | 0 | 2270 | 2511 | 90.4% |
| ov_SC06_008 | 2286 | 1738 | 0 | 2292 | 2542 | 90.2% |
| ov_SC06_010 | 2268 | 1736 | 0 | 2273 | 2517 | 90.3% |
| ov_SC06_011 | 2258 | 1736 | 0 | 2262 | 2468 | 91.7% |
| ov_SC06_013 | 2251 | 1736 | 0 | 2252 | 2425 | 92.9% |
| ov_SC06_014 | 2257 | 1736 | 0 | 2259 | 2453 | 92.1% |
| ov_SC06_015 | 2254 | 1736 | 0 | 2254 | 2421 | 93.1% |
| ov_SC06_016 | 2272 | 1736 | 0 | 2274 | 2549 | 89.2% |
| ov_SC06_018 | 2285 | 1739 | 0 | 2292 | 2665 | 86.0% |
| ov_SC06_020 | 2261 | 1738 | 0 | 2262 | 2518 | 89.8% |
| ov_SC06_022 | 2280 | 1736 | 0 | 2288 | 2642 | 86.6% |
| ov_SC06_024 | 2289 | 1736 | 0 | 2295 | 2667 | 86.1% |
| ov_SC06_025 | 2273 | 1736 | 0 | 2278 | 2572 | 88.6% |
| ov_SC06_027 | 2239 | 1736 | 0 | 2240 | 2408 | 93.0% |
| ov_SC06_029 | 2298 | 1736 | 0 | 2310 | 2662 | 86.8% |
| ov_SC06_030 | 2253 | 1736 | 0 | 2253 | 2456 | 91.7% |
| ov_SC06_032 | 2273 | 1737 | 0 | 2280 | 2658 | 85.8% |
| ov_SC06_033 | 2275 | 1737 | 0 | 2282 | 2631 | 86.7% |
| ov_SC07_000 | 2269 | 1740 | 0 | 2271 | 2521 | 90.1% |
| ov_SC07_001 | 2252 | 1736 | 0 | 2254 | 2454 | 91.9% |
| ov_SC07_002 | 2280 | 1736 | 0 | 2284 | 2579 | 88.6% |
| ov_SC07_006 | 2050 | 1555 | 0 | 2130 | 2455 | 86.8% |
| ov_SC07_007 | 2041 | 1585 | 0 | 2125 | 2613 | 81.3% |
| ov_SC07_008 | 2237 | 1736 | 0 | 2237 | 2386 | 93.8% |
| ov_SC07_009 | 2246 | 1736 | 0 | 2248 | 2430 | 92.5% |
| ov_SC07_010 | 2049 | 1584 | 0 | 2132 | 2524 | 84.5% |
| ov_SC07_011 | 2040 | 1584 | 0 | 2120 | 2449 | 86.6% |