Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 6d09d35b6d feat(phase-31): wave H — 34 banked (1 gate group); cookbook §175 caller-saved pin hazard
- wave H: 40 atlas mass cards on ov_SC02_005 -> 38/40 standalone (95%), 34 banked, ONE gate
  group. R22 213/213. stubs 11,788 -> 11,751. fleet 95.4%.
- §175 (NEW): a register pin to a CALLER-SAVED reg is not a scheduling hint, it changes program
  meaning. func_80182EB0: value written before a jal and read after it; the $2 pin let gcc treat
  the pre-call store as dead across the call and SILENTLY DELETE addiu v0,zero,-1 (49 vs 50 ins),
  post-call read = garbage. Fix was to DROP the pin and kill the cross-call live range in C.
  Rule: never pin a caller-saved reg to a value whose live range crosses a jal — use a
  callee-saved $s0-$s7 (safe by ABI, the §17 lever) or restructure. A one-instruction count
  mismatch on a caller-saved-pinned draft is this bug until proven otherwise.
- 2 NEARs enqueued with full diagnoses (prologue $ra-save scheduling; S3 chain-priority).
2026-08-15 02:50:57 -06:00

234 lines
12 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)
# 213 binaries: main + resident + 211 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: 351405 / 363163 = 96.76% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 12897344 / 13523865 = 95.4% (shipped .text across main + resident + 211 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 5279625 / 5851972 = 90.2% (81631/90929 unique fns; the DISTINCT-RE number)
MAIN game-code weighted : 436 / 79510 = 0.5% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-08-05; 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: 12896908 / 13444355 = 95.9%)
FLEET REAL substantive : 349235 (of which dedup-shared 254534 via 2105 groups / 254610 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 11751
FLEET matchable : 363163
| 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% |
| md_MAIN_001 | 1 | 0 | 0 | 1 | 11 | 9.1% |
| md_MAIN_003 | 3 | 0 | 0 | 3 | 60 | 5.0% |
| md_MAIN_008 | 0 | 0 | 0 | 0 | 6 | 0.0% |
| md_MAIN_011 | 0 | 0 | 0 | 0 | 21 | 0.0% |
| md_MAIN_013 | 5 | 0 | 0 | 5 | 16 | 31.2% |
| md_MAIN_014 | 5 | 0 | 0 | 6 | 13 | 46.2% |
| md_MAIN_015 | 8 | 0 | 0 | 8 | 20 | 40.0% |
| md_MAIN_016 | 4 | 0 | 0 | 5 | 13 | 38.5% |
| md_MAIN_017 | 4 | 0 | 0 | 4 | 10 | 40.0% |
| md_MAIN_018 | 3 | 0 | 0 | 4 | 11 | 36.4% |
| md_MAIN_019 | 9 | 0 | 0 | 9 | 22 | 40.9% |
| md_MAIN_020 | 9 | 0 | 0 | 10 | 14 | 71.4% |
| md_MAIN_021 | 4 | 0 | 0 | 5 | 11 | 45.5% |
| md_MAIN_022 | 19 | 0 | 0 | 21 | 33 | 63.6% |
| md_MAIN_023 | 3 | 0 | 0 | 4 | 6 | 66.7% |
| md_MAIN_024 | 3 | 0 | 0 | 5 | 6 | 83.3% |
| md_MAIN_025 | 6 | 0 | 0 | 6 | 30 | 20.0% |
| md_MAIN_026 | 7 | 0 | 0 | 7 | 24 | 29.2% |
| md_MAIN_027 | 11 | 0 | 0 | 13 | 29 | 44.8% |
| md_MAIN_028 | 6 | 0 | 0 | 6 | 22 | 27.3% |
| md_MAIN_029 | 3 | 0 | 0 | 4 | 11 | 36.4% |
| md_MAIN_030 | 4 | 0 | 0 | 4 | 10 | 40.0% |
| md_MAIN_031 | 4 | 0 | 0 | 4 | 18 | 22.2% |
| md_MAIN_032 | 5 | 0 | 0 | 5 | 10 | 50.0% |
| md_MAIN_033 | 4 | 0 | 0 | 4 | 19 | 21.1% |
| md_MAIN_034 | 5 | 0 | 0 | 6 | 28 | 21.4% |
| md_MAIN_035 | 11 | 0 | 0 | 12 | 16 | 75.0% |
| md_MAIN_036 | 9 | 0 | 0 | 10 | 28 | 35.7% |
| md_MAIN_037 | 5 | 0 | 0 | 5 | 17 | 29.4% |
| md_MAIN_038 | 7 | 0 | 0 | 7 | 20 | 35.0% |
| md_MAIN_039 | 5 | 0 | 0 | 5 | 26 | 19.2% |
| md_MAIN_040 | 4 | 0 | 0 | 4 | 19 | 21.1% |
| md_MAIN_041 | 5 | 0 | 0 | 5 | 15 | 33.3% |
| md_MAIN_042 | 0 | 0 | 0 | 0 | 4 | 0.0% |
| md_MAIN_043 | 4 | 0 | 0 | 5 | 23 | 21.7% |
| md_MAIN_044 | 13 | 0 | 0 | 14 | 44 | 31.8% |
| md_MAIN_045 | 5 | 0 | 0 | 6 | 21 | 28.6% |
| md_MAIN_046 | 10 | 0 | 0 | 11 | 39 | 28.2% |
| md_MAIN_047 | 3 | 0 | 0 | 4 | 12 | 33.3% |
| md_SC02_009 | 5 | 0 | 0 | 5 | 40 | 12.5% |
| md_SC03_073 | 27 | 10 | 0 | 27 | 28 | 96.4% |
| md_SC03_074 | 26 | 10 | 0 | 26 | 29 | 89.7% |
| md_SC03_075 | 29 | 10 | 0 | 29 | 41 | 70.7% |
| md_SC03_076 | 35 | 0 | 0 | 37 | 66 | 56.1% |
| md_SC03_077 | 24 | 0 | 0 | 26 | 35 | 74.3% |
| md_SC03_078 | 25 | 9 | 0 | 25 | 27 | 92.6% |
| md_SC03_079 | 24 | 0 | 0 | 26 | 29 | 89.7% |
| md_SC03_132 | 25 | 0 | 0 | 27 | 28 | 96.4% |
| md_SC03_133 | 23 | 1 | 0 | 25 | 29 | 86.2% |
| md_SC03_134 | 27 | 1 | 0 | 29 | 41 | 70.7% |
| md_SC03_135 | 34 | 0 | 0 | 36 | 66 | 54.5% |
| md_SC03_136 | 24 | 0 | 0 | 26 | 35 | 74.3% |
| md_SC03_137 | 23 | 1 | 0 | 25 | 27 | 92.6% |
| md_SC03_138 | 26 | 1 | 0 | 30 | 37 | 81.1% |
| md_SC04_024 | 24 | 0 | 0 | 26 | 28 | 92.9% |
| md_SC04_025 | 22 | 0 | 0 | 24 | 29 | 82.8% |
| md_SC04_026 | 26 | 0 | 0 | 28 | 41 | 68.3% |
| md_SC04_027 | 33 | 0 | 0 | 35 | 66 | 53.0% |
| md_SC04_028 | 24 | 0 | 0 | 26 | 35 | 74.3% |
| md_SC04_029 | 22 | 0 | 0 | 24 | 27 | 88.9% |
| md_SC04_030 | 24 | 0 | 0 | 28 | 31 | 90.3% |
| md_SC05_023 | 24 | 0 | 0 | 26 | 28 | 92.9% |
| md_SC05_024 | 21 | 0 | 0 | 23 | 29 | 79.3% |
| md_SC05_025 | 25 | 0 | 0 | 27 | 41 | 65.9% |
| md_SC05_026 | 32 | 0 | 0 | 34 | 66 | 51.5% |
| md_SC05_027 | 23 | 0 | 0 | 25 | 35 | 71.4% |
| md_SC05_028 | 21 | 0 | 0 | 23 | 27 | 85.2% |
| md_SC05_029 | 23 | 0 | 0 | 27 | 31 | 87.1% |
| md_SC07_003 | 18 | 0 | 0 | 18 | 100 | 18.0% |
| md_SC07_004 | 43 | 0 | 0 | 43 | 315 | 13.7% |
| ov_MAIN_012 | 2236 | 1689 | 0 | 2315 | 2403 | 96.3% |
| ov_SC01_000 | 2391 | 1809 | 0 | 2391 | 2403 | 99.5% |
| ov_SC01_001 | 2401 | 1811 | 0 | 2403 | 2466 | 97.4% |
| ov_SC01_004 | 2399 | 1802 | 0 | 2400 | 2414 | 99.4% |
| ov_SC01_005 | 2441 | 1832 | 0 | 2441 | 2503 | 97.5% |
| ov_SC01_006 | 2440 | 1832 | 0 | 2440 | 2503 | 97.5% |
| ov_SC01_008 | 2400 | 1803 | 0 | 2402 | 2426 | 99.0% |
| ov_SC01_009 | 2428 | 1803 | 0 | 2429 | 2507 | 96.9% |
| ov_SC01_074 | 2400 | 1803 | 0 | 2402 | 2426 | 99.0% |
| ov_SC01_077 | 2568 | 1764 | 0 | 2570 | 2586 | 99.4% |
| ov_SC01_080 | 2426 | 1806 | 0 | 2426 | 2512 | 96.6% |
| ov_SC01_084 | 2451 | 1811 | 0 | 2456 | 2579 | 95.2% |
| ov_SC02_000 | 2536 | 1857 | 0 | 2536 | 2683 | 94.5% |
| ov_SC02_003 | 2535 | 1857 | 0 | 2535 | 2683 | 94.5% |
| ov_SC02_004 | 2391 | 1806 | 0 | 2391 | 2401 | 99.6% |
| ov_SC02_005 | 2581 | 1802 | 0 | 2591 | 2927 | 88.5% |
| ov_SC02_011 | 2704 | 1810 | 0 | 2714 | 2893 | 93.8% |
| ov_SC02_015 | 2402 | 1808 | 0 | 2402 | 2414 | 99.5% |
| ov_SC02_016 | 2485 | 1810 | 0 | 2488 | 2545 | 97.8% |
| ov_SC02_017 | 2559 | 1810 | 0 | 2567 | 2732 | 94.0% |
| ov_SC02_021 | 2407 | 1808 | 0 | 2407 | 2437 | 98.8% |
| ov_SC02_026 | 2513 | 1807 | 0 | 2519 | 2572 | 97.9% |
| ov_SC02_027 | 2567 | 1828 | 0 | 2576 | 2692 | 95.7% |
| ov_SC02_028 | 2578 | 1827 | 0 | 2588 | 2701 | 95.8% |
| ov_SC02_031 | 2502 | 1809 | 0 | 2507 | 2562 | 97.9% |
| ov_SC02_035 | 2497 | 1806 | 0 | 2500 | 2520 | 99.2% |
| ov_SC02_037 | 2339 | 1704 | 0 | 2421 | 2516 | 96.2% |
| ov_SC02_039 | 2397 | 1806 | 0 | 2397 | 2416 | 99.2% |
| ov_SC02_041 | 2495 | 1806 | 0 | 2498 | 2561 | 97.5% |
| ov_SC03_001 | 2700 | 1807 | 0 | 2717 | 2869 | 94.7% |
| ov_SC03_002 | 2551 | 1815 | 0 | 2566 | 2631 | 97.5% |
| ov_SC03_003 | 2402 | 1806 | 0 | 2403 | 2423 | 99.2% |
| ov_SC03_006 | 2607 | 1814 | 0 | 2616 | 2767 | 94.5% |
| ov_SC03_007 | 2470 | 1806 | 0 | 2474 | 2623 | 94.3% |
| ov_SC03_010 | 2423 | 1807 | 0 | 2423 | 2471 | 98.1% |
| ov_SC03_011 | 2426 | 1807 | 0 | 2432 | 2527 | 96.2% |
| ov_SC03_012 | 2391 | 1806 | 0 | 2392 | 2406 | 99.4% |
| ov_SC03_013 | 2427 | 1807 | 0 | 2427 | 2493 | 97.4% |
| ov_SC03_014 | 2598 | 1843 | 0 | 2598 | 2685 | 96.8% |
| ov_SC03_015 | 2377 | 1843 | 0 | 2377 | 2468 | 96.3% |
| ov_SC03_023 | 2404 | 1806 | 0 | 2405 | 2435 | 98.8% |
| ov_SC03_024 | 2531 | 1813 | 0 | 2538 | 2641 | 96.1% |
| ov_SC03_028 | 2466 | 1807 | 0 | 2470 | 2664 | 92.7% |
| ov_SC03_029 | 2505 | 1810 | 0 | 2515 | 2644 | 95.1% |
| ov_SC03_030 | 2428 | 1811 | 0 | 2430 | 2495 | 97.4% |
| ov_SC03_031 | 2449 | 1808 | 0 | 2452 | 2514 | 97.5% |
| ov_SC03_089 | 2526 | 1811 | 0 | 2533 | 2581 | 98.1% |
| ov_SC03_090 | 2543 | 1811 | 0 | 2551 | 2625 | 97.2% |
| ov_SC03_091 | 2557 | 1828 | 0 | 2565 | 2640 | 97.2% |
| ov_SC03_092 | 2515 | 1811 | 0 | 2527 | 2588 | 97.6% |
| ov_SC03_093 | 2530 | 1828 | 0 | 2534 | 2563 | 98.9% |
| ov_SC03_094 | 2519 | 1806 | 0 | 2525 | 2577 | 98.0% |
| ov_SC03_095 | 2440 | 1806 | 0 | 2443 | 2474 | 98.7% |
| ov_SC03_096 | 2437 | 1806 | 0 | 2440 | 2465 | 99.0% |
| ov_SC03_097 | 2540 | 1827 | 0 | 2547 | 2603 | 97.8% |
| ov_SC03_098 | 2517 | 1828 | 0 | 2520 | 2541 | 99.2% |
| ov_SC03_099 | 2489 | 1806 | 0 | 2492 | 2504 | 99.5% |
| ov_SC03_100 | 2524 | 1828 | 0 | 2528 | 2539 | 99.6% |
| ov_SC03_101 | 2490 | 1811 | 0 | 2494 | 2528 | 98.7% |
| ov_SC03_102 | 2473 | 1806 | 0 | 2476 | 2492 | 99.4% |
| ov_SC03_103 | 2497 | 1808 | 0 | 2500 | 2510 | 99.6% |
| ov_SC03_104 | 2551 | 1811 | 0 | 2558 | 2616 | 97.8% |
| ov_SC03_105 | 2452 | 1807 | 0 | 2459 | 2597 | 94.7% |
| ov_SC03_107 | 2310 | 1689 | 0 | 2393 | 2497 | 95.8% |
| ov_SC03_108 | 2406 | 1806 | 0 | 2406 | 2443 | 98.5% |
| ov_SC03_109 | 2409 | 1807 | 0 | 2411 | 2424 | 99.5% |
| ov_SC03_110 | 2444 | 1830 | 0 | 2444 | 2468 | 99.0% |
| ov_SC03_111 | 2482 | 1806 | 0 | 2485 | 2510 | 99.0% |
| ov_SC03_112 | 2453 | 1808 | 0 | 2455 | 2526 | 97.2% |
| ov_SC03_113 | 2445 | 1808 | 0 | 2448 | 2468 | 99.2% |
| ov_SC03_114 | 2391 | 1806 | 0 | 2393 | 2415 | 99.1% |
| ov_SC03_115 | 2437 | 1806 | 0 | 2439 | 2472 | 98.7% |
| ov_SC03_116 | 2404 | 1806 | 0 | 2407 | 2438 | 98.7% |
| ov_SC03_117 | 2484 | 1806 | 0 | 2490 | 2557 | 97.4% |
| ov_SC03_118 | 2575 | 1843 | 0 | 2576 | 2684 | 96.0% |
| ov_SC03_119 | 2572 | 1843 | 0 | 2573 | 2685 | 95.8% |
| ov_SC03_121 | 2407 | 1807 | 0 | 2409 | 2459 | 98.0% |
| ov_SC03_124 | 2597 | 1802 | 0 | 2617 | 2741 | 95.5% |
| ov_SC03_125 | 2535 | 1815 | 0 | 2547 | 2588 | 98.4% |
| ov_SC03_126 | 2406 | 1809 | 0 | 2406 | 2423 | 99.3% |
| ov_SC04_000 | 2479 | 1811 | 0 | 2488 | 2546 | 97.7% |
| ov_SC04_002 | 2520 | 1806 | 0 | 2524 | 2636 | 95.8% |
| ov_SC04_003 | 2443 | 1813 | 0 | 2446 | 2502 | 97.8% |
| ov_SC04_004 | 2476 | 1807 | 0 | 2478 | 2558 | 96.9% |
| ov_SC04_005 | 2512 | 1806 | 0 | 2518 | 2612 | 96.4% |
| ov_SC04_006 | 2432 | 1812 | 0 | 2434 | 2454 | 99.2% |
| ov_SC04_007 | 2503 | 1807 | 0 | 2507 | 2569 | 97.6% |
| ov_SC04_008 | 2402 | 1806 | 0 | 2402 | 2415 | 99.5% |
| ov_SC04_009 | 2428 | 1806 | 0 | 2431 | 2441 | 99.6% |
| ov_SC04_010 | 2405 | 1806 | 0 | 2406 | 2419 | 99.5% |
| ov_SC04_011 | 2524 | 1811 | 0 | 2530 | 2803 | 90.3% |
| ov_SC04_012 | 2402 | 1806 | 0 | 2403 | 2420 | 99.3% |
| ov_SC04_015 | 2545 | 1807 | 0 | 2556 | 2611 | 97.9% |
| ov_SC04_016 | 2403 | 1806 | 0 | 2405 | 2440 | 98.6% |
| ov_SC04_018 | 2734 | 1882 | 0 | 2734 | 2857 | 95.7% |
| ov_SC04_019 | 2725 | 1882 | 0 | 2725 | 2857 | 95.4% |
| ov_SC04_020 | 2520 | 1815 | 0 | 2532 | 2567 | 98.6% |
| ov_SC04_021 | 2404 | 1809 | 0 | 2404 | 2423 | 99.2% |
| ov_SC05_000 | 2407 | 1810 | 0 | 2410 | 2422 | 99.5% |
| ov_SC05_001 | 2486 | 1807 | 0 | 2491 | 2574 | 96.8% |
| ov_SC05_002 | 2431 | 1806 | 0 | 2434 | 2442 | 99.7% |
| ov_SC05_003 | 2419 | 1806 | 0 | 2420 | 2481 | 97.5% |
| ov_SC05_004 | 2433 | 1806 | 0 | 2435 | 2464 | 98.8% |
| ov_SC05_005 | 2439 | 1812 | 0 | 2440 | 2491 | 98.0% |
| ov_SC05_006 | 2424 | 1807 | 0 | 2424 | 2430 | 99.8% |
| ov_SC05_007 | 2436 | 1806 | 0 | 2441 | 2482 | 98.3% |
| ov_SC05_008 | 2444 | 1806 | 0 | 2446 | 2543 | 96.2% |
| ov_SC05_009 | 2410 | 1806 | 0 | 2414 | 2438 | 99.0% |
| ov_SC05_010 | 2454 | 1807 | 0 | 2458 | 2588 | 95.0% |
| ov_SC05_011 | 2397 | 1806 | 0 | 2398 | 2409 | 99.5% |
| ov_SC05_017 | 2673 | 1806 | 0 | 2684 | 2842 | 94.4% |
| ov_SC05_018 | 2553 | 1814 | 0 | 2566 | 2673 | 96.0% |
| ov_SC05_019 | 2404 | 1809 | 0 | 2404 | 2423 | 99.2% |
| ov_SC06_000 | 2543 | 1817 | 0 | 2546 | 2691 | 94.6% |
| ov_SC06_006 | 2433 | 1807 | 0 | 2434 | 2511 | 96.9% |
| ov_SC06_008 | 2502 | 1808 | 0 | 2508 | 2542 | 98.7% |
| ov_SC06_010 | 2473 | 1806 | 0 | 2478 | 2517 | 98.5% |
| ov_SC06_011 | 2418 | 1806 | 0 | 2422 | 2468 | 98.1% |
| ov_SC06_013 | 2407 | 1806 | 0 | 2408 | 2425 | 99.3% |
| ov_SC06_014 | 2418 | 1806 | 0 | 2420 | 2453 | 98.7% |
| ov_SC06_015 | 2412 | 1806 | 0 | 2412 | 2421 | 99.6% |
| ov_SC06_016 | 2456 | 1807 | 0 | 2458 | 2549 | 96.4% |
| ov_SC06_018 | 2551 | 1807 | 0 | 2558 | 2665 | 96.0% |
| ov_SC06_020 | 2472 | 1808 | 0 | 2473 | 2518 | 98.2% |
| ov_SC06_022 | 2523 | 1806 | 0 | 2531 | 2642 | 95.8% |
| ov_SC06_024 | 2542 | 1806 | 0 | 2548 | 2667 | 95.5% |
| ov_SC06_025 | 2455 | 1806 | 0 | 2460 | 2572 | 95.6% |
| ov_SC06_027 | 2392 | 1806 | 0 | 2393 | 2408 | 99.4% |
| ov_SC06_029 | 2480 | 1807 | 0 | 2492 | 2662 | 93.6% |
| ov_SC06_030 | 2415 | 1807 | 0 | 2415 | 2456 | 98.3% |
| ov_SC06_032 | 2535 | 1807 | 0 | 2542 | 2658 | 95.6% |
| ov_SC06_033 | 2531 | 1807 | 0 | 2538 | 2631 | 96.5% |
| ov_SC07_000 | 2439 | 1811 | 0 | 2441 | 2521 | 96.8% |
| ov_SC07_001 | 2407 | 1807 | 0 | 2409 | 2454 | 98.2% |
| ov_SC07_002 | 2467 | 1807 | 0 | 2471 | 2579 | 95.8% |
| ov_SC07_006 | 2330 | 1625 | 0 | 2410 | 2456 | 98.1% |
| ov_SC07_007 | 2354 | 1660 | 0 | 2438 | 2612 | 93.3% |
| ov_SC07_008 | 2386 | 1806 | 0 | 2386 | 2386 | 100.0% |
| ov_SC07_009 | 2400 | 1806 | 0 | 2402 | 2430 | 98.8% |
| ov_SC07_010 | 2324 | 1682 | 0 | 2406 | 2523 | 95.4% |
| ov_SC07_011 | 2341 | 1659 | 0 | 2421 | 2448 | 98.9% |