Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 5b3697553f feat(phase-24): T6 — 13 leaf-MATCH fns propagated ×134 (fleet 64.90→65.40%)
find_site + dedup_propagate --recover + build_engine_types fixes, then re-bank
the 13 recover_integration leaf-MATCHes and propagate each across all 134 overlays.

- find_site: match INDENTED inline defs (was column-0 only, silently dropping every
  recover_integration-banked def from propagation — T6 blocker 1). Unit-tested:
  indented defs match; indented call-exprs (if/assign/bare/return) correctly rejected.
- dedup_propagate --recover: on a straggler byte-gate failure, FIRST no-proto that
  overlay's conflicting caller extern + re-gate (Part B, byte-neutral, same lever as
  fix_arity_callers --any-proto); else EXCLUDE only that overlay (Part A, ×N-1) rather
  than the historical all-or-nothing drop. Wired into gate_stage.
- build_engine_types: comment-aware find_defs/find_typedefs (blank_comments). The
  generated header's own "...typedef lift" comment was captured as a bogus `typedef
  vec`, self-colliding and blocking every --strip. NOTE: full --strip still conflicts
  with the _a/_o0 split files, so split-file overlays need a TARGETED lift.
- banked + propagated 13 fns ×134: func_8014F74C 801542A4 8015BE94 8015F380 80160F00
  801653B8 80166244 8016E778 801732C4 8017331C 80173374 80174554 801745AC.
  func_8014F74C needed PosT/MoveT lifted to engine_types.h (targeted, byte-neutral).
- dedup 1784→1797 groups (0 failed). CLEAN fleet check-all 136/136 BYTE-IDENTICAL (R22:
  make clean && extract-all && check-all). Fleet REAL 224073, byte-identical 65.40%.

R14: the confounding stale-asm/ tree (13 missing .s) that masked the first --recover
test is fixed by re-extract; the 3 pre-existing --auto-from stragglers (0x80174650/
8012A018/80165CA0) are pin/asm + uncaptured-local-macro (SHB) bodies, correctly dropped.
2026-07-03 15:00:46 -06:00

8.2 KiB

BFM FLEET matching progress (generated by tools/progress.py --fleet — authoritative)

136 binaries: main + resident + 134 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.

FLEET REAL substantive : 224073 (of which dedup-shared 221530 via 1797 groups / 221581 instances) FLEET LINKED PsyQ objs : 959 FLEET byte-identical : 225602 / 344941 = 65.40% (REAL+LINKED+empties) FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 119332 FLEET matchable : 344941

binary REAL shared LINKED byte-ident matchable byte-ident %
main 54 2 959 1055 2096 50.3%
resident 123 0 0 125 146 85.6%
ov_SC01_000 1670 1656 0 1670 2410 69.3%
ov_SC01_001 1666 1656 0 1668 2474 67.4%
ov_SC01_004 1659 1647 0 1660 2423 68.5%
ov_SC01_005 1682 1669 0 1682 2511 67.0%
ov_SC01_006 1681 1669 0 1681 2511 66.9%
ov_SC01_008 1660 1647 0 1662 2435 68.3%
ov_SC01_009 1681 1648 0 1682 2517 66.8%
ov_SC01_074 1660 1648 0 1662 2434 68.3%
ov_SC01_077 2177 1608 0 2179 2586 84.3%
ov_SC01_080 1678 1651 0 1678 2522 66.5%
ov_SC01_084 1683 1651 0 1688 2588 65.2%
ov_SC02_000 1697 1686 0 1697 2691 63.1%
ov_SC02_003 1697 1686 0 1697 2691 63.1%
ov_SC02_004 1664 1651 0 1664 2410 69.0%
ov_SC02_005 1723 1647 0 1733 2937 59.0%
ov_SC02_011 1704 1654 0 1715 2903 59.1%
ov_SC02_015 1664 1653 0 1664 2423 68.7%
ov_SC02_016 1668 1653 0 1671 2555 65.4%
ov_SC02_017 1688 1653 0 1696 2742 61.9%
ov_SC02_021 1667 1653 0 1667 2446 68.2%
ov_SC02_026 1672 1651 0 1678 2582 65.0%
ov_SC02_027 1681 1651 0 1690 2702 62.5%
ov_SC02_028 1689 1651 0 1699 2711 62.7%
ov_SC02_031 1679 1652 0 1684 2572 65.5%
ov_SC02_035 1670 1651 0 1673 2530 66.1%
ov_SC02_039 1655 1651 0 1655 2425 68.2%
ov_SC02_041 1662 1651 0 1665 2570 64.8%
ov_SC03_001 1720 1652 0 1737 2877 60.4%
ov_SC03_002 1681 1656 0 1696 2639 64.3%
ov_SC03_003 1653 1651 0 1654 2432 68.0%
ov_SC03_006 1694 1657 0 1703 2775 61.4%
ov_SC03_007 1669 1651 0 1673 2633 63.5%
ov_SC03_010 1663 1651 0 1663 2479 67.1%
ov_SC03_011 1659 1651 0 1665 2537 65.6%
ov_SC03_012 1654 1651 0 1655 2415 68.5%
ov_SC03_013 1662 1651 0 1662 2502 66.4%
ov_SC03_014 1685 1676 0 1685 2695 62.5%
ov_SC03_015 1691 1676 0 1691 2695 62.7%
ov_SC03_023 1656 1651 0 1657 2444 67.8%
ov_SC03_024 1686 1656 0 1693 2651 63.9%
ov_SC03_028 1677 1651 0 1681 2674 62.9%
ov_SC03_029 1663 1653 0 1673 2654 63.0%
ov_SC03_030 1662 1655 0 1664 2505 66.4%
ov_SC03_031 1658 1651 0 1662 2524 65.8%
ov_SC03_089 1668 1651 0 1675 2591 64.6%
ov_SC03_090 1669 1651 0 1677 2635 63.6%
ov_SC03_091 1668 1651 0 1676 2650 63.2%
ov_SC03_092 1668 1651 0 1680 2597 64.7%
ov_SC03_093 1665 1651 0 1669 2573 64.9%
ov_SC03_094 1659 1651 0 1665 2586 64.4%
ov_SC03_095 1657 1651 0 1660 2484 66.8%
ov_SC03_096 1660 1651 0 1663 2475 67.2%
ov_SC03_097 1664 1651 0 1671 2613 63.9%
ov_SC03_098 1660 1651 0 1663 2551 65.2%
ov_SC03_099 1657 1651 0 1660 2514 66.0%
ov_SC03_100 1659 1651 0 1663 2549 65.2%
ov_SC03_101 1661 1651 0 1665 2538 65.6%
ov_SC03_102 1661 1651 0 1664 2502 66.5%
ov_SC03_103 1659 1653 0 1662 2520 66.0%
ov_SC03_104 1671 1651 0 1678 2626 63.9%
ov_SC03_105 1665 1651 0 1672 2607 64.1%
ov_SC03_108 1653 1651 0 1653 2453 67.4%
ov_SC03_109 1654 1651 0 1656 2433 68.1%
ov_SC03_110 1656 1651 0 1656 2478 66.8%
ov_SC03_111 1661 1651 0 1664 2520 66.0%
ov_SC03_112 1658 1653 0 1660 2536 65.5%
ov_SC03_113 1655 1653 0 1658 2478 66.9%
ov_SC03_114 1652 1651 0 1654 2424 68.2%
ov_SC03_115 1660 1651 0 1662 2482 67.0%
ov_SC03_116 1658 1651 0 1661 2448 67.9%
ov_SC03_117 1659 1651 0 1665 2567 64.9%
ov_SC03_118 1686 1675 0 1687 2695 62.6%
ov_SC03_119 1682 1675 0 1683 2695 62.4%
ov_SC03_121 1658 1651 0 1661 2469 67.3%
ov_SC03_124 1683 1647 0 1703 2751 61.9%
ov_SC03_125 1664 1651 0 1676 2598 64.5%
ov_SC03_126 1655 1653 0 1655 2432 68.1%
ov_SC04_000 1665 1655 0 1674 2554 65.5%
ov_SC04_002 1668 1651 0 1672 2646 63.2%
ov_SC04_003 1656 1651 0 1660 2512 66.1%
ov_SC04_004 1663 1651 0 1665 2568 64.8%
ov_SC04_005 1665 1651 0 1671 2622 63.7%
ov_SC04_006 1654 1651 0 1656 2463 67.2%
ov_SC04_007 1664 1651 0 1668 2579 64.7%
ov_SC04_008 1654 1651 0 1654 2424 68.2%
ov_SC04_009 1657 1651 0 1660 2450 67.8%
ov_SC04_010 1657 1651 0 1658 2428 68.3%
ov_SC04_011 1680 1651 0 1686 2813 59.9%
ov_SC04_012 1654 1651 0 1655 2429 68.1%
ov_SC04_015 1674 1652 0 1685 2621 64.3%
ov_SC04_016 1652 1651 0 1654 2449 67.5%
ov_SC04_018 1701 1686 0 1701 2865 59.4%
ov_SC04_019 1705 1686 0 1705 2865 59.5%
ov_SC04_020 1667 1651 0 1679 2577 65.2%
ov_SC04_021 1653 1653 0 1653 2432 68.0%
ov_SC05_000 1657 1655 0 1660 2429 68.3%
ov_SC05_001 1657 1651 0 1662 2584 64.3%
ov_SC05_002 1654 1651 0 1657 2452 67.6%
ov_SC05_003 1655 1651 0 1656 2491 66.5%
ov_SC05_004 1655 1651 0 1657 2474 67.0%
ov_SC05_005 1656 1651 0 1657 2501 66.3%
ov_SC05_006 1653 1651 0 1653 2439 67.8%
ov_SC05_007 1658 1651 0 1663 2492 66.7%
ov_SC05_008 1678 1651 0 1680 2553 65.8%
ov_SC05_009 1658 1651 0 1662 2447 67.9%
ov_SC05_010 1666 1651 0 1670 2598 64.3%
ov_SC05_011 1653 1651 0 1654 2418 68.4%
ov_SC05_017 1685 1648 0 1696 2852 59.5%
ov_SC05_018 1676 1651 0 1689 2683 63.0%
ov_SC05_019 1654 1653 0 1654 2432 68.0%
ov_SC06_000 1688 1660 0 1691 2699 62.7%
ov_SC06_006 1661 1651 0 1662 2521 65.9%
ov_SC06_008 1665 1653 0 1671 2551 65.5%
ov_SC06_010 1665 1651 0 1670 2527 66.1%
ov_SC06_011 1657 1651 0 1661 2478 67.0%
ov_SC06_013 1656 1651 0 1657 2434 68.1%
ov_SC06_014 1658 1651 0 1660 2462 67.4%
ov_SC06_015 1655 1651 0 1655 2430 68.1%
ov_SC06_016 1666 1651 0 1668 2559 65.2%
ov_SC06_018 1665 1654 0 1672 2675 62.5%
ov_SC06_020 1659 1653 0 1660 2528 65.7%
ov_SC06_022 1665 1651 0 1673 2652 63.1%
ov_SC06_024 1670 1651 0 1676 2677 62.6%
ov_SC06_025 1663 1651 0 1668 2582 64.6%
ov_SC06_027 1651 1651 0 1652 2417 68.3%
ov_SC06_029 1680 1651 0 1692 2672 63.3%
ov_SC06_030 1658 1651 0 1658 2466 67.2%
ov_SC06_032 1658 1652 0 1665 2668 62.4%
ov_SC06_033 1666 1652 0 1673 2641 63.3%
ov_SC07_000 1669 1655 0 1671 2529 66.1%
ov_SC07_001 1658 1651 0 1660 2464 67.4%
ov_SC07_002 1672 1651 0 1676 2589 64.7%
ov_SC07_008 1652 1651 0 1652 2395 69.0%
ov_SC07_009 1660 1651 0 1662 2439 68.1%