Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 39558b2991 fix(phase-30 S6b): MULTI-LINE BLINDNESS in family_remap — 4 faces, 3 fixed; +740 members (R22 140/140)
- ONE root cause, four faces (cookbook §134): extract_unit's preamble scanner reads C
  one line at a time, so every construct that WRAPS was misread.
  D1 the {-guard fired on a documentation comment mentioning a brace -> carry truncated
     mid-comment -> `parse error before 'the'`.
  D2 _def_head_at's "param list continues -> ANSI definition" fallback accepted a WRAPPED
     DECLARATION as a definition head -> a 16-line fragment with no body, closed by a brace
     pair inside a comment -> a silent 0/137 that reads exactly like a compiler wall.
  D5 the backscan met a multi-line typedef's CLOSING line `} T;` first and stopped -> the
     type never travelled -> `T undeclared` across 17 families / 24,332 templatable ins.
     (The code comment claimed they "route through the engine_types.h lift"; measured, they
     routed nowhere.)
  D4 wrapped __asm__("func_...") alias invisible to a single-line regex — MEASURED (1 exemplar,
     3,288 ins, second blocker behind it) and deliberately NOT fixed; it now returns None so the
     sweep reports a VISIBLE skip instead of 137 silent failures (R32).
- Fixes: _def_head_at(ln, idx, more=()) lookahead (no-lookahead keeps the historical answer);
  {-guard exempts comment-only lines + an R32 dangling-comment backstop; forward brace scan
  counts over cdecl._mask (R33, one masking oracle); _typedef_block_start carries whole blocks.
- BLAST RADIUS (R14): extract_unit diffed vs the pre-fix tool over all 181 zero-crack exemplars
  -> 157 byte-IDENTICAL, 24 changed, all in the intended direction.
- PAYOFF: D1+D2 +323 members from families that banked ZERO; D5 +417 incl. func_8012B77C 139/139
  (8,062 ins) and func_80128C98 137/275. S6 total 1,582 members (pre-fix tool scored 842).
- R22 clean-fleet 140/140. Fleet 94.43->94.88% fn-count, 91.4->91.9% instr, 84.0->84.6% distinct.
- TELL worth keeping (§134): bimodal bank rates (57 all / 52 zero / 8 partial) are a TOOLING
  signature, not codegen. Probe one member and read one compiler error before writing a family off.
2026-08-01 17:28:06 -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: 335613 / 353721 = 94.88% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 12072870 / 13141652 = 91.9% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4767563 / 5634875 = 84.6% (74648/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: 12072434 / 13081451 = 92.3%)

FLEET REAL substantive : 333758 (of which dedup-shared 240422 via 1905 groups / 240496 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 18101 FLEET matchable : 353721

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 2375 1748 0 2375 2403 98.8%
ov_SC01_001 2382 1749 0 2384 2466 96.7%
ov_SC01_004 2372 1740 0 2373 2414 98.3%
ov_SC01_005 2403 1763 0 2403 2503 96.0%
ov_SC01_006 2403 1763 0 2403 2503 96.0%
ov_SC01_008 2372 1740 0 2374 2426 97.9%
ov_SC01_009 2397 1741 0 2398 2507 95.7%
ov_SC01_074 2378 1741 0 2380 2425 98.1%
ov_SC01_077 2536 1707 0 2538 2586 98.1%
ov_SC01_080 2412 1744 0 2412 2512 96.0%
ov_SC01_084 2433 1749 0 2438 2579 94.5%
ov_SC02_000 2496 1788 0 2496 2683 93.0%
ov_SC02_003 2496 1788 0 2496 2683 93.0%
ov_SC02_004 2377 1744 0 2377 2401 99.0%
ov_SC02_005 2514 1740 0 2524 2927 86.2%
ov_SC02_011 2535 1747 0 2546 2893 88.0%
ov_SC02_015 2383 1746 0 2383 2414 98.7%
ov_SC02_016 2434 1746 0 2437 2545 95.8%
ov_SC02_017 2496 1746 0 2504 2732 91.7%
ov_SC02_021 2387 1746 0 2387 2437 97.9%
ov_SC02_026 2415 1744 0 2421 2572 94.1%
ov_SC02_027 2455 1744 0 2464 2692 91.5%
ov_SC02_028 2457 1744 0 2467 2701 91.3%
ov_SC02_031 2435 1745 0 2440 2562 95.2%
ov_SC02_035 2404 1744 0 2407 2520 95.5%
ov_SC02_039 2376 1744 0 2376 2416 98.3%
ov_SC02_041 2431 1744 0 2434 2561 95.0%
ov_SC03_001 2537 1745 0 2554 2869 89.0%
ov_SC03_002 2443 1749 0 2458 2631 93.4%
ov_SC03_003 2384 1744 0 2385 2423 98.4%
ov_SC03_006 2486 1750 0 2495 2767 90.2%
ov_SC03_007 2441 1744 0 2445 2623 93.2%
ov_SC03_010 2395 1744 0 2395 2471 96.9%
ov_SC03_011 2400 1744 0 2406 2527 95.2%
ov_SC03_012 2374 1744 0 2375 2406 98.7%
ov_SC03_013 2401 1744 0 2401 2493 96.3%
ov_SC03_014 2496 1772 0 2496 2685 93.0%
ov_SC03_015 2498 1772 0 2498 2685 93.0%
ov_SC03_023 2385 1744 0 2386 2435 98.0%
ov_SC03_024 2456 1749 0 2463 2641 93.3%
ov_SC03_028 2423 1744 0 2427 2664 91.1%
ov_SC03_029 2446 1746 0 2456 2644 92.9%
ov_SC03_030 2402 1749 0 2404 2495 96.4%
ov_SC03_031 2404 1744 0 2407 2514 95.7%
ov_SC03_089 2432 1749 0 2439 2581 94.5%
ov_SC03_090 2436 1749 0 2444 2625 93.1%
ov_SC03_091 2438 1744 0 2446 2640 92.7%
ov_SC03_092 2451 1749 0 2463 2587 95.2%
ov_SC03_093 2426 1744 0 2430 2563 94.8%
ov_SC03_094 2415 1744 0 2421 2577 93.9%
ov_SC03_095 2396 1744 0 2399 2474 97.0%
ov_SC03_096 2395 1744 0 2398 2465 97.3%
ov_SC03_097 2447 1744 0 2454 2603 94.3%
ov_SC03_098 2417 1744 0 2420 2541 95.2%
ov_SC03_099 2405 1744 0 2408 2504 96.2%
ov_SC03_100 2423 1744 0 2427 2539 95.6%
ov_SC03_101 2427 1749 0 2431 2528 96.2%
ov_SC03_102 2398 1744 0 2401 2492 96.3%
ov_SC03_103 2411 1746 0 2414 2510 96.2%
ov_SC03_104 2440 1749 0 2447 2616 93.5%
ov_SC03_105 2417 1744 0 2424 2597 93.3%
ov_SC03_108 2379 1744 0 2379 2443 97.4%
ov_SC03_109 2382 1744 0 2384 2424 98.3%
ov_SC03_110 2398 1744 0 2398 2468 97.2%
ov_SC03_111 2411 1744 0 2414 2510 96.2%
ov_SC03_112 2404 1746 0 2406 2526 95.2%
ov_SC03_113 2391 1746 0 2394 2468 97.0%
ov_SC03_114 2373 1744 0 2375 2415 98.3%
ov_SC03_115 2403 1744 0 2405 2472 97.3%
ov_SC03_116 2381 1744 0 2384 2438 97.8%
ov_SC03_117 2424 1744 0 2430 2557 95.0%
ov_SC03_118 2474 1768 0 2475 2685 92.2%
ov_SC03_119 2470 1768 0 2471 2685 92.0%
ov_SC03_121 2390 1744 0 2393 2459 97.3%
ov_SC03_124 2484 1740 0 2504 2741 91.4%
ov_SC03_125 2429 1744 0 2441 2588 94.3%
ov_SC03_126 2385 1746 0 2385 2423 98.4%
ov_SC04_000 2424 1748 0 2433 2546 95.6%
ov_SC04_002 2453 1744 0 2457 2636 93.2%
ov_SC04_003 2405 1744 0 2409 2502 96.3%
ov_SC04_004 2429 1744 0 2431 2558 95.0%
ov_SC04_005 2440 1744 0 2446 2612 93.6%
ov_SC04_006 2395 1744 0 2397 2454 97.7%
ov_SC04_007 2433 1744 0 2437 2569 94.9%
ov_SC04_008 2382 1744 0 2382 2415 98.6%
ov_SC04_009 2396 1744 0 2399 2441 98.3%
ov_SC04_010 2384 1744 0 2385 2419 98.6%
ov_SC04_011 2470 1749 0 2476 2803 88.3%
ov_SC04_012 2383 1744 0 2384 2420 98.5%
ov_SC04_015 2453 1745 0 2464 2611 94.4%
ov_SC04_016 2382 1744 0 2384 2440 97.7%
ov_SC04_018 2540 1780 0 2540 2857 88.9%
ov_SC04_019 2540 1780 0 2540 2857 88.9%
ov_SC04_020 2417 1744 0 2429 2567 94.6%
ov_SC04_021 2385 1746 0 2385 2423 98.4%
ov_SC05_000 2383 1748 0 2386 2422 98.5%
ov_SC05_001 2428 1744 0 2433 2574 94.5%
ov_SC05_002 2395 1744 0 2398 2442 98.2%
ov_SC05_003 2391 1744 0 2392 2481 96.4%
ov_SC05_004 2384 1744 0 2386 2464 96.8%
ov_SC05_005 2401 1749 0 2402 2491 96.4%
ov_SC05_006 2390 1744 0 2390 2430 98.4%
ov_SC05_007 2401 1744 0 2406 2482 96.9%
ov_SC05_008 2411 1744 0 2413 2543 94.9%
ov_SC05_009 2390 1744 0 2394 2438 98.2%
ov_SC05_010 2423 1744 0 2427 2588 93.8%
ov_SC05_011 2381 1744 0 2382 2409 98.9%
ov_SC05_017 2522 1741 0 2533 2842 89.1%
ov_SC05_018 2448 1744 0 2461 2673 92.1%
ov_SC05_019 2385 1746 0 2385 2423 98.4%
ov_SC06_000 2483 1753 0 2486 2691 92.4%
ov_SC06_006 2407 1744 0 2408 2511 95.9%
ov_SC06_008 2431 1746 0 2437 2542 95.9%
ov_SC06_010 2412 1744 0 2417 2517 96.0%
ov_SC06_011 2394 1744 0 2398 2468 97.2%
ov_SC06_013 2385 1744 0 2386 2425 98.4%
ov_SC06_014 2394 1744 0 2396 2453 97.7%
ov_SC06_015 2389 1744 0 2389 2421 98.7%
ov_SC06_016 2411 1744 0 2413 2549 94.7%
ov_SC06_018 2437 1746 0 2444 2665 91.7%
ov_SC06_020 2406 1746 0 2407 2518 95.6%
ov_SC06_022 2434 1744 0 2442 2642 92.4%
ov_SC06_024 2445 1744 0 2451 2667 91.9%
ov_SC06_025 2418 1744 0 2423 2572 94.2%
ov_SC06_027 2375 1744 0 2376 2408 98.7%
ov_SC06_029 2442 1744 0 2454 2662 92.2%
ov_SC06_030 2388 1744 0 2388 2456 97.2%
ov_SC06_032 2430 1745 0 2437 2658 91.7%
ov_SC06_033 2430 1745 0 2437 2631 92.6%
ov_SC07_000 2404 1748 0 2406 2521 95.4%
ov_SC07_001 2388 1744 0 2390 2454 97.4%
ov_SC07_002 2418 1744 0 2422 2579 93.9%
ov_SC07_006 2280 1560 0 2360 2456 96.1%
ov_SC07_007 2308 1592 0 2392 2613 91.5%
ov_SC07_008 2370 1744 0 2370 2386 99.3%
ov_SC07_009 2380 1744 0 2382 2430 98.0%
ov_SC07_010 2292 1614 0 2375 2524 94.1%
ov_SC07_011 2303 1591 0 2383 2449 97.3%