Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 53433df1b3 feat(phase-29): func_8013D53C 14/137 + NSD hardened (rewrite-to-canonical, (void) fix) + Cmd lift
- func_8013D53C: NSD (self-decl caller-thread) + a byte-neutral Cmd_8013D53C type-lift clear the plumbing
  -> 14/137 h_seq members bank; 123 have genuine per-member codegen DIFFs (hard cse.c-wall crack -> permuter
  fuel). Reverted the 123 bankless byte-neutral NSD edits (churn on matched code, §57a NB).
- NSD hardened, 2 bug-fixes validated on D53C: REWRITE the divergent decl to canonical instead of DROPPING
  it (drop broke def-after-caller forward visibility -> 'func undeclared'); and '(void)' is a genuine 0-param
  conflict, not skippable like a true no-proto '()' (the bug that filed D53C's arity class as 'not this pass').
- earlier this session: broad --fix-def-sig sweep = HONEST +137 only (staging != banking, R14/R35); NSD is
  SURGICAL-ONLY (broad application poisons whole groups; --fix-def-sig is broad-safe). cookbook §57a.
- R22 clean-fleet 140/140 byte-identical; tools-health OK (dedup 1846/0, C1 234205/234205); 0 NON_MATCHING (G4).
  fleet 75.2% instr / 60.6% distinct / 87.04% fn-count. session-total from 74.6: +0.6pp instr, ~+421 members.
2026-07-18 20:30:43 -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: 307884 / 353722 = 87.04% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 9842328 / 13081451 = 75.2% (shipped .text across resident+138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 3379153 / 5574674 = 60.6% (61345/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 : 306029 (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 : 45831 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 2191 1704 0 2191 2403 91.2%
ov_SC01_001 2196 1704 0 2198 2466 89.1%
ov_SC01_004 2189 1695 0 2190 2414 90.7%
ov_SC01_005 2218 1717 0 2218 2503 88.6%
ov_SC01_006 2218 1717 0 2218 2503 88.6%
ov_SC01_008 2189 1695 0 2191 2426 90.3%
ov_SC01_009 2214 1696 0 2215 2507 88.4%
ov_SC01_074 2192 1696 0 2194 2425 90.5%
ov_SC01_077 2384 1664 0 2386 2585 92.3%
ov_SC01_080 2230 1699 0 2230 2512 88.8%
ov_SC01_084 2238 1699 0 2243 2579 87.0%
ov_SC02_000 2289 1734 0 2289 2683 85.3%
ov_SC02_003 2289 1734 0 2289 2683 85.3%
ov_SC02_004 2197 1699 0 2197 2401 91.5%
ov_SC02_005 2304 1695 0 2314 2927 79.1%
ov_SC02_011 2313 1702 0 2324 2893 80.3%
ov_SC02_015 2198 1701 0 2198 2414 91.1%
ov_SC02_016 2228 1701 0 2231 2545 87.7%
ov_SC02_017 2274 1701 0 2282 2732 83.5%
ov_SC02_021 2204 1701 0 2204 2437 90.4%
ov_SC02_026 2219 1699 0 2225 2572 86.5%
ov_SC02_027 2242 1699 0 2251 2692 83.6%
ov_SC02_028 2243 1699 0 2253 2701 83.4%
ov_SC02_031 2229 1700 0 2234 2562 87.2%
ov_SC02_035 2205 1699 0 2208 2520 87.6%
ov_SC02_039 2190 1699 0 2190 2416 90.6%
ov_SC02_041 2225 1699 0 2228 2561 87.0%
ov_SC03_001 2325 1700 0 2342 2869 81.6%
ov_SC03_002 2252 1704 0 2267 2631 86.2%
ov_SC03_003 2200 1699 0 2201 2423 90.8%
ov_SC03_006 2263 1705 0 2272 2767 82.1%
ov_SC03_007 2244 1699 0 2248 2623 85.7%
ov_SC03_010 2206 1699 0 2206 2470 89.3%
ov_SC03_011 2214 1699 0 2220 2527 87.9%
ov_SC03_012 2192 1699 0 2193 2406 91.1%
ov_SC03_013 2211 1699 0 2211 2492 88.7%
ov_SC03_014 2269 1724 0 2269 2685 84.5%
ov_SC03_015 2270 1724 0 2270 2685 84.5%
ov_SC03_023 2198 1699 0 2199 2435 90.3%
ov_SC03_024 2256 1704 0 2263 2641 85.7%
ov_SC03_028 2238 1699 0 2242 2664 84.2%
ov_SC03_029 2240 1701 0 2250 2644 85.1%
ov_SC03_030 2212 1704 0 2214 2495 88.7%
ov_SC03_031 2210 1699 0 2213 2514 88.0%
ov_SC03_089 2224 1699 0 2231 2581 86.4%
ov_SC03_090 2226 1699 0 2234 2625 85.1%
ov_SC03_091 2229 1699 0 2237 2640 84.7%
ov_SC03_092 2240 1699 0 2252 2587 87.1%
ov_SC03_093 2216 1699 0 2220 2563 86.6%
ov_SC03_094 2211 1699 0 2217 2577 86.0%
ov_SC03_095 2201 1699 0 2204 2474 89.1%
ov_SC03_096 2201 1699 0 2204 2465 89.4%
ov_SC03_097 2230 1699 0 2237 2603 85.9%
ov_SC03_098 2209 1699 0 2212 2541 87.1%
ov_SC03_099 2202 1699 0 2205 2504 88.1%
ov_SC03_100 2212 1699 0 2216 2539 87.3%
ov_SC03_101 2212 1699 0 2216 2528 87.7%
ov_SC03_102 2204 1699 0 2207 2492 88.6%
ov_SC03_103 2207 1701 0 2210 2510 88.0%
ov_SC03_104 2232 1699 0 2239 2616 85.6%
ov_SC03_105 2226 1699 0 2233 2597 86.0%
ov_SC03_108 2194 1699 0 2194 2443 89.8%
ov_SC03_109 2195 1699 0 2197 2424 90.6%
ov_SC03_110 2200 1699 0 2200 2468 89.1%
ov_SC03_111 2212 1699 0 2215 2510 88.2%
ov_SC03_112 2205 1701 0 2207 2526 87.4%
ov_SC03_113 2198 1701 0 2201 2468 89.2%
ov_SC03_114 2188 1699 0 2190 2415 90.7%
ov_SC03_115 2205 1699 0 2207 2472 89.3%
ov_SC03_116 2195 1699 0 2198 2438 90.2%
ov_SC03_117 2223 1699 0 2229 2557 87.2%
ov_SC03_118 2270 1723 0 2271 2685 84.6%
ov_SC03_119 2268 1723 0 2269 2685 84.5%
ov_SC03_121 2202 1699 0 2205 2459 89.7%
ov_SC03_124 2282 1695 0 2302 2741 84.0%
ov_SC03_125 2239 1699 0 2251 2588 87.0%
ov_SC03_126 2201 1701 0 2201 2423 90.8%
ov_SC04_000 2217 1703 0 2226 2546 87.4%
ov_SC04_002 2233 1699 0 2237 2636 84.9%
ov_SC04_003 2211 1699 0 2215 2502 88.5%
ov_SC04_004 2220 1699 0 2222 2558 86.9%
ov_SC04_005 2228 1699 0 2234 2612 85.5%
ov_SC04_006 2201 1699 0 2203 2454 89.8%
ov_SC04_007 2221 1699 0 2225 2569 86.6%
ov_SC04_008 2191 1699 0 2191 2415 90.7%
ov_SC04_009 2207 1699 0 2210 2441 90.5%
ov_SC04_010 2198 1699 0 2199 2419 90.9%
ov_SC04_011 2254 1699 0 2260 2803 80.6%
ov_SC04_012 2194 1699 0 2195 2420 90.7%
ov_SC04_015 2258 1700 0 2269 2611 86.9%
ov_SC04_016 2197 1699 0 2199 2440 90.1%
ov_SC04_018 2309 1734 0 2309 2857 80.8%
ov_SC04_019 2314 1734 0 2314 2857 81.0%
ov_SC04_020 2226 1699 0 2238 2567 87.2%
ov_SC04_021 2202 1701 0 2202 2423 90.9%
ov_SC05_000 2198 1703 0 2201 2422 90.9%
ov_SC05_001 2221 1699 0 2226 2574 86.5%
ov_SC05_002 2203 1699 0 2206 2442 90.3%
ov_SC05_003 2200 1699 0 2201 2481 88.7%
ov_SC05_004 2195 1699 0 2197 2464 89.2%
ov_SC05_005 2202 1699 0 2203 2491 88.4%
ov_SC05_006 2194 1699 0 2194 2430 90.3%
ov_SC05_007 2204 1699 0 2209 2482 89.0%
ov_SC05_008 2221 1699 0 2223 2543 87.4%
ov_SC05_009 2199 1699 0 2203 2438 90.4%
ov_SC05_010 2225 1699 0 2229 2588 86.1%
ov_SC05_011 2197 1699 0 2198 2409 91.2%
ov_SC05_017 2305 1696 0 2316 2842 81.5%
ov_SC05_018 2252 1699 0 2265 2673 84.7%
ov_SC05_019 2202 1701 0 2202 2423 90.9%
ov_SC06_000 2262 1708 0 2265 2691 84.2%
ov_SC06_006 2217 1699 0 2218 2511 88.3%
ov_SC06_008 2227 1701 0 2233 2542 87.8%
ov_SC06_010 2211 1699 0 2216 2517 88.0%
ov_SC06_011 2206 1699 0 2210 2468 89.5%
ov_SC06_013 2199 1699 0 2200 2425 90.7%
ov_SC06_014 2205 1699 0 2207 2453 90.0%
ov_SC06_015 2202 1699 0 2202 2421 91.0%
ov_SC06_016 2219 1699 0 2221 2549 87.1%
ov_SC06_018 2216 1702 0 2223 2665 83.4%
ov_SC06_020 2209 1701 0 2210 2518 87.8%
ov_SC06_022 2223 1699 0 2231 2642 84.4%
ov_SC06_024 2228 1699 0 2234 2667 83.8%
ov_SC06_025 2220 1699 0 2225 2572 86.5%
ov_SC06_027 2188 1699 0 2189 2408 90.9%
ov_SC06_029 2246 1699 0 2258 2662 84.8%
ov_SC06_030 2201 1699 0 2201 2456 89.6%
ov_SC06_032 2213 1700 0 2220 2658 83.5%
ov_SC06_033 2216 1700 0 2223 2631 84.5%
ov_SC07_000 2216 1703 0 2218 2521 88.0%
ov_SC07_001 2201 1699 0 2203 2454 89.8%
ov_SC07_002 2228 1699 0 2232 2579 86.5%
ov_SC07_006 1971 1547 0 2051 2456 83.5%
ov_SC07_007 1988 1548 0 2072 2614 79.3%
ov_SC07_008 2185 1699 0 2185 2386 91.6%
ov_SC07_009 2195 1699 0 2197 2430 90.4%
ov_SC07_010 2001 1548 0 2084 2526 82.5%
ov_SC07_011 1987 1547 0 2067 2450 84.4%