Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 071ce43e1c docs(phase-31): cookbook §176h — the batch-substitution hazard map (S52)
Wave P drafted at 97% and then cost a dozen clean rebuilds to bank, and not one of those rebuilds
failed on a matching problem. Banks the whole failure surface:

A. The SEVEN under-reporting holes in gate_main, all the same shape (R32): the checker never read
   the destination TU, shared headers, a draft's own definition, lines with trailing comments,
   typedef aliases, the build's own error text, or file order. Law: audit a batch-integration tool
   for what it DOESN'T look at -- its verdicts can be correct on the inputs it reads and still be
   worthless, because the compiler reads more.

B. Typedef handling, with the two wrong strategies that both look right: blanket STRIP (assumes
   the surviving definition sits above the insertion point -- src/800.c defines Rec14 at 7336
   while stubs wanting it sit at 7272), blanket RENAME (breaks drafts sharing an identical
   typedef, because their externs stop agreeing -- my regression, three drafts at once), and the
   rescan loop that deletes the definition it just renamed. The survivor is body-aware +
   position-aware in a single pass over a snapshot.

C. The remaining limit: conflict detection compares spelled type NAMES, so three drafts each
   defining their own Slot54 with different layouts all declare func_80032A74(Slot54*) and compare
   equal. Comparing struct LAYOUTS is the real fix.

D. The measured cost shape -- drafting cheap and solved, integration expensive -- and therefore the
   next lever: a STATIC pre-gate check over the substituted text, no make at all. Plus the R39
   lesson that negative controls apply to the tool you are FIXING, not just the one you ship.
2026-08-15 21:59:52 -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: 351770 / 363162 = 96.86% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 12916767 / 13523865 = 95.5% (shipped .text across main + resident + 211 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 5296975 / 5851972 = 90.5% (81764/90929 unique fns; the DISTINCT-RE number)
MAIN game-code weighted : 10029 / 79510 = 12.6% (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: 12906738 / 13444355 = 96.0%)
FLEET REAL substantive : 349600 (of which dedup-shared 254598 via 2137 groups / 254674 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 6 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 11386
FLEET matchable : 363162
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
|---|---:|---:|---:|---:|---:|---:|
| main | 252 | 2 | 959 | 1253 | 2095 | 59.8% |
| 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 | 51 | 0 | 0 | 51 | 315 | 16.2% |
| 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 | 2579 | 1888 | 0 | 2579 | 2683 | 96.1% |
| ov_SC02_003 | 2566 | 1888 | 0 | 2566 | 2683 | 95.6% |
| 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 | 2568 | 1811 | 0 | 2574 | 2803 | 91.8% |
| 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 | 1883 | 0 | 2734 | 2857 | 95.7% |
| ov_SC04_019 | 2725 | 1883 | 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 | 2395 | 1660 | 0 | 2479 | 2612 | 94.9% |
| 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% |