Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 65c93ea035 feat(phase-29 type-lift): func_8016CBC0 family 1->138/138 (+137) via the 6-typedef engine_types.h lift
- func_8016CBC0's 137 members were NOT self-decl-blocked (§57 survey: 0 divergent self-decls) but blocked
  on the exemplar's 6 LOCAL typedefs (Rec_/Blk_/SVEC_/CLR_/Poly_/Mtx8_8016CBC0). Lifted all 6 verbatim into
  src/shared/engine_types.h (fleet-visible via engine_core.h) + removed the locals from the exemplar TU.
  No fleet name-collision; exemplar rebuilds byte-identical d19c9580 (the type-lift is byte-neutral).
- family_sweep --hseq --only 0x8016CBC0 --no-preclassify --normalize-self-decls -> 137/137 banked, 0 failed
  (the decl-normalize stage a correct no-op here — 0 self-decls). 0 func_8016CBC0 stubs remain fleet-wide.
- R22 clean-fleet 140/140 byte-identical; tools-health OK (dedup 1846/0, C1 234205/234205); 0 NON_MATCHING
  linked (G4). fleet 74.9->75.1% instr / 60.1->60.6% distinct / 86.96->87.00% fn-count.
- R14 lesson: two families that both looked like a 'stuck 137-family' needed DIFFERENT levers
  (decl-normalize §57 vs type-lift) — route by the real cc1 error, not the shape. session-total +270 members.
2026-07-18 17:50:07 -06:00

9.0 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: 307733 / 353722 = 87.00% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 9826239 / 13081451 = 75.1% (shipped .text across resident+138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 3375766 / 5574674 = 60.6% (61329/87459 unique fns; the DISTINCT-RE number) MAIN game-code weighted : 436 / 60201 = 0.7% (Phase-27 T10; SEPARATE — LINKED-excluding Ghidra sig dated 2026-06-14, PROVISIONAL until a fresh/complete main sig; NOT folded into the fleet number)

FLEET REAL substantive : 305878 (of which dedup-shared 234161 via 1846 groups / 234205 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 45982 FLEET matchable : 353722

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 2190 1704 0 2190 2403 91.1%
ov_SC01_001 2195 1704 0 2197 2466 89.1%
ov_SC01_004 2188 1695 0 2189 2414 90.7%
ov_SC01_005 2217 1717 0 2217 2503 88.6%
ov_SC01_006 2217 1717 0 2217 2503 88.6%
ov_SC01_008 2188 1695 0 2190 2426 90.3%
ov_SC01_009 2213 1696 0 2214 2507 88.3%
ov_SC01_074 2191 1696 0 2193 2425 90.4%
ov_SC01_077 2384 1664 0 2386 2585 92.3%
ov_SC01_080 2229 1699 0 2229 2512 88.7%
ov_SC01_084 2237 1699 0 2242 2579 86.9%
ov_SC02_000 2288 1734 0 2288 2683 85.3%
ov_SC02_003 2288 1734 0 2288 2683 85.3%
ov_SC02_004 2196 1699 0 2196 2401 91.5%
ov_SC02_005 2303 1695 0 2313 2927 79.0%
ov_SC02_011 2312 1702 0 2323 2893 80.3%
ov_SC02_015 2197 1701 0 2197 2414 91.0%
ov_SC02_016 2227 1701 0 2230 2545 87.6%
ov_SC02_017 2273 1701 0 2281 2732 83.5%
ov_SC02_021 2203 1701 0 2203 2437 90.4%
ov_SC02_026 2218 1699 0 2224 2572 86.5%
ov_SC02_027 2241 1699 0 2250 2692 83.6%
ov_SC02_028 2242 1699 0 2252 2701 83.4%
ov_SC02_031 2228 1700 0 2233 2562 87.2%
ov_SC02_035 2204 1699 0 2207 2520 87.6%
ov_SC02_039 2189 1699 0 2189 2416 90.6%
ov_SC02_041 2224 1699 0 2227 2561 87.0%
ov_SC03_001 2323 1700 0 2340 2869 81.6%
ov_SC03_002 2250 1704 0 2265 2631 86.1%
ov_SC03_003 2199 1699 0 2200 2423 90.8%
ov_SC03_006 2262 1705 0 2271 2767 82.1%
ov_SC03_007 2243 1699 0 2247 2623 85.7%
ov_SC03_010 2205 1699 0 2205 2470 89.3%
ov_SC03_011 2213 1699 0 2219 2527 87.8%
ov_SC03_012 2191 1699 0 2192 2406 91.1%
ov_SC03_013 2210 1699 0 2210 2492 88.7%
ov_SC03_014 2268 1724 0 2268 2685 84.5%
ov_SC03_015 2269 1724 0 2269 2685 84.5%
ov_SC03_023 2197 1699 0 2198 2435 90.3%
ov_SC03_024 2255 1704 0 2262 2641 85.6%
ov_SC03_028 2237 1699 0 2241 2664 84.1%
ov_SC03_029 2239 1701 0 2249 2644 85.1%
ov_SC03_030 2211 1704 0 2213 2495 88.7%
ov_SC03_031 2209 1699 0 2212 2514 88.0%
ov_SC03_089 2223 1699 0 2230 2581 86.4%
ov_SC03_090 2225 1699 0 2233 2625 85.1%
ov_SC03_091 2228 1699 0 2236 2640 84.7%
ov_SC03_092 2239 1699 0 2251 2587 87.0%
ov_SC03_093 2215 1699 0 2219 2563 86.6%
ov_SC03_094 2210 1699 0 2216 2577 86.0%
ov_SC03_095 2200 1699 0 2203 2474 89.0%
ov_SC03_096 2200 1699 0 2203 2465 89.4%
ov_SC03_097 2229 1699 0 2236 2603 85.9%
ov_SC03_098 2208 1699 0 2211 2541 87.0%
ov_SC03_099 2201 1699 0 2204 2504 88.0%
ov_SC03_100 2211 1699 0 2215 2539 87.2%
ov_SC03_101 2211 1699 0 2215 2528 87.6%
ov_SC03_102 2203 1699 0 2206 2492 88.5%
ov_SC03_103 2206 1701 0 2209 2510 88.0%
ov_SC03_104 2231 1699 0 2238 2616 85.6%
ov_SC03_105 2224 1699 0 2231 2597 85.9%
ov_SC03_108 2193 1699 0 2193 2443 89.8%
ov_SC03_109 2194 1699 0 2196 2424 90.6%
ov_SC03_110 2199 1699 0 2199 2468 89.1%
ov_SC03_111 2211 1699 0 2214 2510 88.2%
ov_SC03_112 2204 1701 0 2206 2526 87.3%
ov_SC03_113 2197 1701 0 2200 2468 89.1%
ov_SC03_114 2187 1699 0 2189 2415 90.6%
ov_SC03_115 2204 1699 0 2206 2472 89.2%
ov_SC03_116 2194 1699 0 2197 2438 90.1%
ov_SC03_117 2222 1699 0 2228 2557 87.1%
ov_SC03_118 2269 1723 0 2270 2685 84.5%
ov_SC03_119 2267 1723 0 2268 2685 84.5%
ov_SC03_121 2201 1699 0 2204 2459 89.6%
ov_SC03_124 2280 1695 0 2300 2741 83.9%
ov_SC03_125 2237 1699 0 2249 2588 86.9%
ov_SC03_126 2200 1701 0 2200 2423 90.8%
ov_SC04_000 2216 1703 0 2225 2546 87.4%
ov_SC04_002 2232 1699 0 2236 2636 84.8%
ov_SC04_003 2210 1699 0 2214 2502 88.5%
ov_SC04_004 2219 1699 0 2221 2558 86.8%
ov_SC04_005 2227 1699 0 2233 2612 85.5%
ov_SC04_006 2200 1699 0 2202 2454 89.7%
ov_SC04_007 2220 1699 0 2224 2569 86.6%
ov_SC04_008 2190 1699 0 2190 2415 90.7%
ov_SC04_009 2206 1699 0 2209 2441 90.5%
ov_SC04_010 2197 1699 0 2198 2419 90.9%
ov_SC04_011 2253 1699 0 2259 2803 80.6%
ov_SC04_012 2193 1699 0 2194 2420 90.7%
ov_SC04_015 2256 1700 0 2267 2611 86.8%
ov_SC04_016 2196 1699 0 2198 2440 90.1%
ov_SC04_018 2307 1734 0 2307 2857 80.7%
ov_SC04_019 2312 1734 0 2312 2857 80.9%
ov_SC04_020 2224 1699 0 2236 2567 87.1%
ov_SC04_021 2201 1701 0 2201 2423 90.8%
ov_SC05_000 2197 1703 0 2200 2422 90.8%
ov_SC05_001 2220 1699 0 2225 2574 86.4%
ov_SC05_002 2202 1699 0 2205 2442 90.3%
ov_SC05_003 2199 1699 0 2200 2481 88.7%
ov_SC05_004 2194 1699 0 2196 2464 89.1%
ov_SC05_005 2201 1699 0 2202 2491 88.4%
ov_SC05_006 2193 1699 0 2193 2430 90.2%
ov_SC05_007 2203 1699 0 2208 2482 89.0%
ov_SC05_008 2220 1699 0 2222 2543 87.4%
ov_SC05_009 2198 1699 0 2202 2438 90.3%
ov_SC05_010 2224 1699 0 2228 2588 86.1%
ov_SC05_011 2196 1699 0 2197 2409 91.2%
ov_SC05_017 2303 1696 0 2314 2842 81.4%
ov_SC05_018 2250 1699 0 2263 2673 84.7%
ov_SC05_019 2201 1701 0 2201 2423 90.8%
ov_SC06_000 2261 1708 0 2264 2691 84.1%
ov_SC06_006 2216 1699 0 2217 2511 88.3%
ov_SC06_008 2226 1701 0 2232 2542 87.8%
ov_SC06_010 2210 1699 0 2215 2517 88.0%
ov_SC06_011 2204 1699 0 2208 2468 89.5%
ov_SC06_013 2198 1699 0 2199 2425 90.7%
ov_SC06_014 2204 1699 0 2206 2453 89.9%
ov_SC06_015 2201 1699 0 2201 2421 90.9%
ov_SC06_016 2218 1699 0 2220 2549 87.1%
ov_SC06_018 2215 1702 0 2222 2665 83.4%
ov_SC06_020 2208 1701 0 2209 2518 87.7%
ov_SC06_022 2222 1699 0 2230 2642 84.4%
ov_SC06_024 2227 1699 0 2233 2667 83.7%
ov_SC06_025 2219 1699 0 2224 2572 86.5%
ov_SC06_027 2187 1699 0 2188 2408 90.9%
ov_SC06_029 2245 1699 0 2257 2662 84.8%
ov_SC06_030 2200 1699 0 2200 2456 89.6%
ov_SC06_032 2212 1700 0 2219 2658 83.5%
ov_SC06_033 2215 1700 0 2222 2631 84.5%
ov_SC07_000 2214 1703 0 2216 2521 87.9%
ov_SC07_001 2200 1699 0 2202 2454 89.7%
ov_SC07_002 2227 1699 0 2231 2579 86.5%
ov_SC07_006 1970 1547 0 2050 2456 83.5%
ov_SC07_007 1986 1548 0 2070 2614 79.2%
ov_SC07_008 2184 1699 0 2184 2386 91.5%
ov_SC07_009 2194 1699 0 2196 2430 90.4%
ov_SC07_010 2000 1548 0 2083 2526 82.5%
ov_SC07_011 1986 1547 0 2066 2450 84.3%