Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 60e26e07f8 feat(phase-26a): A3g — propagate the 3 fleet-wide banks ×134 (bounded, gated, R22-clean)
The 3 of A3f's 33 banks that are shared fleet-wide, stamped across all 134 overlays. Done the way
the earlier run should have been: TARGETED (--addr, not --auto-from), dry-run-sized first
(3 functions × 134 members = ~400 gates, not an unbounded fleet sweep), on a clean tree at HEAD.

  func_80130650 (31 ins) · func_80149450 (13 ins) · func_80174684 (9 ins) — each ×134.

  dedup_propagate internal gate : 134 overlays byte-identical, 3 groups registered
  R22 CLEAN-FLEET (the real proof, not the tool's incremental check that lied during the crash):
      make clean + extract-all + check-all -> 136 passed, 0 failed of 136
  dedup-check: 1823 -> 1826 validated, 0 failed | C1 coverage 225335/225335

DELTA (reconciles exactly):
    functions byte-identical  284,559 -> 284,958   (+399 = 3 fns × 133 other overlays)
    instr-weighted            66.7% -> 66.8%   (+13,167 shipped .text instructions)
    distinct-code             46.8% -> 46.8%   (flat: propagation adds MEMBERS, not new distinct
                                                code — the 3 bodies were counted at A3f)
    403 src files (3 ×134 instantiations + engine_core.h) + config/dedup.us.yaml

The other 30 of A3f's 33 are overlay-unique (×1) and need no propagation. The larger prize remains
the ~310 byte-exact stubs in the OTHER overlays (A3e), not yet attempted.
2026-07-14 16:47:42 -06:00

8.6 KiB
Raw Blame History

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.

THREE progress metrics (all matter — see the labels):

FLEET fn-count byte-ident: 284958 / 343677 = 82.91% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 8485079 / 12707182 = 66.8% (shipped .text across resident+134 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 2531879 / 5410077 = 46.8% (51862/84996 unique fns; the DISTINCT-RE number; main EXE not sig'd)

FLEET REAL substantive : 283430 (of which dedup-shared 225291 via 1826 groups / 225335 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 58712 FLEET matchable : 343677

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 2088 1684 0 2088 2403 86.9%
ov_SC01_001 2092 1684 0 2094 2466 84.9%
ov_SC01_004 2084 1675 0 2085 2414 86.4%
ov_SC01_005 2110 1697 0 2110 2503 84.3%
ov_SC01_006 2110 1697 0 2110 2503 84.3%
ov_SC01_008 2083 1675 0 2085 2426 85.9%
ov_SC01_009 2104 1676 0 2105 2507 84.0%
ov_SC01_074 2088 1676 0 2090 2425 86.2%
ov_SC01_077 2353 1644 0 2355 2585 91.1%
ov_SC01_080 2120 1679 0 2120 2512 84.4%
ov_SC01_084 2127 1679 0 2132 2579 82.7%
ov_SC02_000 2173 1714 0 2173 2683 81.0%
ov_SC02_003 2173 1714 0 2173 2683 81.0%
ov_SC02_004 2089 1679 0 2089 2401 87.0%
ov_SC02_005 2190 1675 0 2200 2927 75.2%
ov_SC02_011 2195 1682 0 2206 2893 76.3%
ov_SC02_015 2094 1681 0 2094 2414 86.7%
ov_SC02_016 2119 1681 0 2122 2545 83.4%
ov_SC02_017 2162 1681 0 2170 2732 79.4%
ov_SC02_021 2100 1681 0 2100 2437 86.2%
ov_SC02_026 2109 1679 0 2115 2572 82.2%
ov_SC02_027 2134 1679 0 2143 2692 79.6%
ov_SC02_028 2135 1679 0 2145 2701 79.4%
ov_SC02_031 2123 1680 0 2128 2562 83.1%
ov_SC02_035 2100 1679 0 2103 2520 83.5%
ov_SC02_039 2084 1679 0 2084 2416 86.3%
ov_SC02_041 2111 1679 0 2114 2561 82.5%
ov_SC03_001 2216 1680 0 2233 2869 77.8%
ov_SC03_002 2146 1684 0 2161 2631 82.1%
ov_SC03_003 2089 1679 0 2090 2423 86.3%
ov_SC03_006 2156 1685 0 2165 2767 78.2%
ov_SC03_007 2136 1679 0 2140 2623 81.6%
ov_SC03_010 2099 1679 0 2099 2470 85.0%
ov_SC03_011 2103 1679 0 2109 2527 83.5%
ov_SC03_012 2083 1679 0 2084 2406 86.6%
ov_SC03_013 2100 1679 0 2100 2492 84.3%
ov_SC03_014 2148 1704 0 2148 2685 80.0%
ov_SC03_015 2151 1704 0 2151 2685 80.1%
ov_SC03_023 2089 1679 0 2090 2435 85.8%
ov_SC03_024 2143 1684 0 2150 2641 81.4%
ov_SC03_028 2126 1679 0 2130 2664 80.0%
ov_SC03_029 2127 1681 0 2137 2644 80.8%
ov_SC03_030 2105 1684 0 2107 2495 84.4%
ov_SC03_031 2100 1679 0 2103 2514 83.7%
ov_SC03_089 2117 1679 0 2124 2581 82.3%
ov_SC03_090 2119 1679 0 2127 2625 81.0%
ov_SC03_091 2120 1679 0 2128 2640 80.6%
ov_SC03_092 2126 1679 0 2138 2587 82.6%
ov_SC03_093 2107 1679 0 2111 2563 82.4%
ov_SC03_094 2102 1679 0 2108 2577 81.8%
ov_SC03_095 2093 1679 0 2096 2474 84.7%
ov_SC03_096 2093 1679 0 2096 2465 85.0%
ov_SC03_097 2116 1679 0 2123 2603 81.6%
ov_SC03_098 2100 1679 0 2103 2541 82.8%
ov_SC03_099 2094 1679 0 2097 2504 83.7%
ov_SC03_100 2101 1679 0 2105 2539 82.9%
ov_SC03_101 2102 1679 0 2106 2528 83.3%
ov_SC03_102 2097 1679 0 2100 2492 84.3%
ov_SC03_103 2100 1681 0 2103 2510 83.8%
ov_SC03_104 2120 1679 0 2127 2616 81.3%
ov_SC03_105 2114 1679 0 2121 2597 81.7%
ov_SC03_108 2086 1679 0 2086 2443 85.4%
ov_SC03_109 2087 1679 0 2089 2424 86.2%
ov_SC03_110 2092 1679 0 2092 2468 84.8%
ov_SC03_111 2100 1679 0 2103 2510 83.8%
ov_SC03_112 2098 1681 0 2100 2526 83.1%
ov_SC03_113 2092 1681 0 2095 2468 84.9%
ov_SC03_114 2082 1679 0 2084 2415 86.3%
ov_SC03_115 2096 1679 0 2098 2472 84.9%
ov_SC03_116 2090 1679 0 2093 2438 85.8%
ov_SC03_117 2108 1679 0 2114 2557 82.7%
ov_SC03_118 2151 1703 0 2152 2685 80.1%
ov_SC03_119 2148 1703 0 2149 2685 80.0%
ov_SC03_121 2093 1679 0 2096 2459 85.2%
ov_SC03_124 2165 1675 0 2185 2741 79.7%
ov_SC03_125 2128 1679 0 2140 2588 82.7%
ov_SC03_126 2090 1681 0 2090 2423 86.3%
ov_SC04_000 2107 1683 0 2116 2546 83.1%
ov_SC04_002 2121 1679 0 2125 2636 80.6%
ov_SC04_003 2099 1679 0 2103 2502 84.1%
ov_SC04_004 2113 1679 0 2115 2558 82.7%
ov_SC04_005 2114 1679 0 2120 2612 81.2%
ov_SC04_006 2090 1679 0 2092 2454 85.2%
ov_SC04_007 2109 1679 0 2113 2569 82.2%
ov_SC04_008 2085 1679 0 2085 2415 86.3%
ov_SC04_009 2094 1679 0 2097 2441 85.9%
ov_SC04_010 2090 1679 0 2091 2419 86.4%
ov_SC04_011 2140 1679 0 2146 2803 76.6%
ov_SC04_012 2088 1679 0 2089 2420 86.3%
ov_SC04_015 2148 1680 0 2159 2611 82.7%
ov_SC04_016 2087 1679 0 2089 2440 85.6%
ov_SC04_018 2194 1714 0 2194 2857 76.8%
ov_SC04_019 2200 1714 0 2200 2857 77.0%
ov_SC04_020 2117 1679 0 2129 2567 82.9%
ov_SC04_021 2089 1681 0 2089 2423 86.2%
ov_SC05_000 2093 1683 0 2096 2422 86.5%
ov_SC05_001 2109 1679 0 2114 2574 82.1%
ov_SC05_002 2092 1679 0 2095 2442 85.8%
ov_SC05_003 2092 1679 0 2093 2481 84.4%
ov_SC05_004 2089 1679 0 2091 2464 84.9%
ov_SC05_005 2094 1679 0 2095 2491 84.1%
ov_SC05_006 2088 1679 0 2088 2430 85.9%
ov_SC05_007 2095 1679 0 2100 2482 84.6%
ov_SC05_008 2114 1679 0 2116 2543 83.2%
ov_SC05_009 2089 1679 0 2093 2438 85.8%
ov_SC05_010 2114 1679 0 2118 2588 81.8%
ov_SC05_011 2091 1679 0 2092 2409 86.8%
ov_SC05_017 2190 1676 0 2201 2842 77.4%
ov_SC05_018 2140 1679 0 2153 2673 80.5%
ov_SC05_019 2089 1681 0 2089 2423 86.2%
ov_SC06_000 2149 1688 0 2152 2691 80.0%
ov_SC06_006 2098 1679 0 2099 2511 83.6%
ov_SC06_008 2114 1681 0 2120 2542 83.4%
ov_SC06_010 2100 1679 0 2105 2517 83.6%
ov_SC06_011 2098 1679 0 2102 2468 85.2%
ov_SC06_013 2091 1679 0 2092 2425 86.3%
ov_SC06_014 2095 1679 0 2097 2453 85.5%
ov_SC06_015 2092 1679 0 2092 2421 86.4%
ov_SC06_016 2110 1679 0 2112 2549 82.9%
ov_SC06_018 2108 1682 0 2115 2665 79.4%
ov_SC06_020 2098 1681 0 2099 2518 83.4%
ov_SC06_022 2114 1679 0 2122 2642 80.3%
ov_SC06_024 2120 1679 0 2126 2667 79.7%
ov_SC06_025 2107 1679 0 2112 2572 82.1%
ov_SC06_027 2082 1679 0 2083 2408 86.5%
ov_SC06_029 2135 1679 0 2147 2662 80.7%
ov_SC06_030 2093 1679 0 2093 2456 85.2%
ov_SC06_032 2104 1680 0 2111 2658 79.4%
ov_SC06_033 2108 1680 0 2115 2631 80.4%
ov_SC07_000 2107 1683 0 2109 2521 83.7%
ov_SC07_001 2094 1679 0 2096 2454 85.4%
ov_SC07_002 2111 1679 0 2115 2579 82.0%
ov_SC07_008 2078 1679 0 2078 2386 87.1%
ov_SC07_009 2089 1679 0 2091 2430 86.0%