Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 1670fe293c feat(phase-29): func_8016B6BC 0/137 -> 137/137 — it was a TYPE-CARRY failure, not a wall
The family that failed its sweep twice (once in the 274-member batch, once after the §91 guard) and
looked like the §86 bimodal 'some families just don't template' case. It was not.

DIAGNOSIS (§59 + §93): spliced ONE sibling and read cc1 directly. It reported `c`, `v`, `off`
undeclared — ordinary locals that ARE declared in the remapped body. cc1 says 'undeclared' because it
aborted the declaration block at an unknown TYPE and every later declaration fell out with it. Read
the FIRST error, not the loudest: a visibly-declared variable reported undeclared means suspect its
type.

THE LIFT MUST BE TRANSITIVE. Lifting the type the body names directly (M8_8016B6BC) changed nothing —
still 0/137. The real set was four, found by following each definition's own references:
M8_8016B6BC -> Prim_8016B6BC -> Vtx_8016B6BC (named only inside Prim's body) -> DVec_8016B6BC.
lift_types.py --apply, byte-gated ALONE first (neutral, d19c9580 unchanged), then swept.

RESULT 0/137 -> 137/137, zero failures. R22 clean-fleet 140/140. cookbook §94.

Cost of not diagnosing: this family sat recorded as 'doesn't template' across two sessions. Pointed
at one sibling's real stderr it took under an hour and was worth 137 members.
2026-07-27 16:26:26 -06:00

9.1 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: 317762 / 353720 = 89.83% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 10895869 / 13141652 = 82.9% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4031640 / 5634875 = 71.5% (65984/87459 unique fns; the DISTINCT-RE number) MAIN game-code weighted : 436 / 60201 = 0.7% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-06-14; 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: 10895433 / 13081451 = 83.3%)

FLEET REAL substantive : 315907 (of which dedup-shared 239530 via 1886 groups / 239604 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 35951 FLEET matchable : 353720

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 2263 1742 0 2263 2403 94.2%
ov_SC01_001 2268 1743 0 2270 2466 92.1%
ov_SC01_004 2258 1734 0 2259 2414 93.6%
ov_SC01_005 2288 1757 0 2288 2503 91.4%
ov_SC01_006 2288 1757 0 2288 2503 91.4%
ov_SC01_008 2258 1734 0 2260 2426 93.2%
ov_SC01_009 2284 1735 0 2285 2507 91.1%
ov_SC01_074 2262 1735 0 2264 2425 93.4%
ov_SC01_077 2441 1702 0 2443 2585 94.5%
ov_SC01_080 2300 1738 0 2300 2512 91.6%
ov_SC01_084 2307 1738 0 2312 2579 89.6%
ov_SC02_000 2360 1773 0 2360 2683 88.0%
ov_SC02_003 2360 1773 0 2360 2683 88.0%
ov_SC02_004 2266 1738 0 2266 2401 94.4%
ov_SC02_005 2374 1734 0 2384 2927 81.4%
ov_SC02_011 2387 1741 0 2398 2893 82.9%
ov_SC02_015 2268 1740 0 2268 2414 94.0%
ov_SC02_016 2302 1740 0 2305 2545 90.6%
ov_SC02_017 2345 1740 0 2353 2732 86.1%
ov_SC02_021 2274 1740 0 2274 2437 93.3%
ov_SC02_026 2289 1738 0 2295 2572 89.2%
ov_SC02_027 2312 1738 0 2321 2692 86.2%
ov_SC02_028 2314 1738 0 2324 2701 86.0%
ov_SC02_031 2300 1739 0 2305 2562 90.0%
ov_SC02_035 2275 1738 0 2278 2520 90.4%
ov_SC02_039 2259 1738 0 2259 2416 93.5%
ov_SC02_041 2297 1738 0 2300 2561 89.8%
ov_SC03_001 2394 1739 0 2411 2869 84.0%
ov_SC03_002 2320 1743 0 2335 2631 88.7%
ov_SC03_003 2269 1738 0 2270 2423 93.7%
ov_SC03_006 2336 1744 0 2345 2767 84.7%
ov_SC03_007 2314 1738 0 2318 2623 88.4%
ov_SC03_010 2277 1738 0 2277 2471 92.1%
ov_SC03_011 2283 1738 0 2289 2527 90.6%
ov_SC03_012 2261 1738 0 2262 2406 94.0%
ov_SC03_013 2282 1738 0 2282 2493 91.5%
ov_SC03_014 2340 1763 0 2340 2685 87.2%
ov_SC03_015 2340 1763 0 2340 2685 87.2%
ov_SC03_023 2268 1738 0 2269 2435 93.2%
ov_SC03_024 2328 1743 0 2335 2641 88.4%
ov_SC03_028 2308 1738 0 2312 2664 86.8%
ov_SC03_029 2310 1740 0 2320 2644 87.7%
ov_SC03_030 2283 1743 0 2285 2495 91.6%
ov_SC03_031 2279 1738 0 2282 2514 90.8%
ov_SC03_089 2296 1738 0 2303 2581 89.2%
ov_SC03_090 2297 1738 0 2305 2625 87.8%
ov_SC03_091 2300 1738 0 2308 2640 87.4%
ov_SC03_092 2310 1738 0 2322 2587 89.8%
ov_SC03_093 2286 1738 0 2290 2563 89.3%
ov_SC03_094 2281 1738 0 2287 2577 88.7%
ov_SC03_095 2271 1738 0 2274 2474 91.9%
ov_SC03_096 2271 1738 0 2274 2465 92.3%
ov_SC03_097 2301 1738 0 2308 2603 88.7%
ov_SC03_098 2279 1738 0 2282 2541 89.8%
ov_SC03_099 2272 1738 0 2275 2504 90.9%
ov_SC03_100 2282 1738 0 2286 2539 90.0%
ov_SC03_101 2282 1738 0 2286 2528 90.4%
ov_SC03_102 2275 1738 0 2278 2492 91.4%
ov_SC03_103 2278 1740 0 2281 2510 90.9%
ov_SC03_104 2304 1738 0 2311 2616 88.3%
ov_SC03_105 2295 1738 0 2302 2597 88.6%
ov_SC03_108 2262 1738 0 2262 2443 92.6%
ov_SC03_109 2266 1738 0 2268 2424 93.6%
ov_SC03_110 2270 1738 0 2270 2468 92.0%
ov_SC03_111 2281 1738 0 2284 2510 91.0%
ov_SC03_112 2277 1740 0 2279 2526 90.2%
ov_SC03_113 2270 1740 0 2273 2468 92.1%
ov_SC03_114 2259 1738 0 2261 2415 93.6%
ov_SC03_115 2276 1738 0 2278 2472 92.2%
ov_SC03_116 2267 1738 0 2270 2438 93.1%
ov_SC03_117 2294 1738 0 2300 2557 89.9%
ov_SC03_118 2340 1762 0 2341 2685 87.2%
ov_SC03_119 2339 1762 0 2340 2685 87.2%
ov_SC03_121 2274 1738 0 2277 2459 92.6%
ov_SC03_124 2352 1734 0 2372 2741 86.5%
ov_SC03_125 2308 1738 0 2320 2588 89.6%
ov_SC03_126 2271 1740 0 2271 2423 93.7%
ov_SC04_000 2287 1742 0 2296 2546 90.2%
ov_SC04_002 2306 1738 0 2310 2636 87.6%
ov_SC04_003 2282 1738 0 2286 2502 91.4%
ov_SC04_004 2291 1738 0 2293 2558 89.6%
ov_SC04_005 2301 1738 0 2307 2612 88.3%
ov_SC04_006 2271 1738 0 2273 2454 92.6%
ov_SC04_007 2295 1738 0 2299 2569 89.5%
ov_SC04_008 2263 1738 0 2263 2415 93.7%
ov_SC04_009 2278 1738 0 2281 2441 93.4%
ov_SC04_010 2268 1738 0 2269 2419 93.8%
ov_SC04_011 2326 1738 0 2332 2803 83.2%
ov_SC04_012 2265 1738 0 2266 2420 93.6%
ov_SC04_015 2330 1739 0 2341 2611 89.7%
ov_SC04_016 2268 1738 0 2270 2440 93.0%
ov_SC04_018 2378 1773 0 2378 2857 83.2%
ov_SC04_019 2384 1773 0 2384 2857 83.4%
ov_SC04_020 2295 1738 0 2307 2567 89.9%
ov_SC04_021 2272 1740 0 2272 2423 93.8%
ov_SC05_000 2269 1742 0 2272 2422 93.8%
ov_SC05_001 2291 1738 0 2296 2574 89.2%
ov_SC05_002 2274 1738 0 2277 2442 93.2%
ov_SC05_003 2271 1738 0 2272 2481 91.6%
ov_SC05_004 2267 1738 0 2269 2464 92.1%
ov_SC05_005 2272 1738 0 2273 2491 91.2%
ov_SC05_006 2265 1738 0 2265 2430 93.2%
ov_SC05_007 2275 1738 0 2280 2482 91.9%
ov_SC05_008 2292 1738 0 2294 2543 90.2%
ov_SC05_009 2271 1738 0 2275 2438 93.3%
ov_SC05_010 2298 1738 0 2302 2588 88.9%
ov_SC05_011 2267 1738 0 2268 2409 94.1%
ov_SC05_017 2374 1735 0 2385 2842 83.9%
ov_SC05_018 2321 1738 0 2334 2673 87.3%
ov_SC05_019 2272 1740 0 2272 2423 93.8%
ov_SC06_000 2336 1747 0 2339 2691 86.9%
ov_SC06_006 2288 1738 0 2289 2511 91.2%
ov_SC06_008 2308 1740 0 2314 2542 91.0%
ov_SC06_010 2288 1738 0 2293 2517 91.1%
ov_SC06_011 2276 1738 0 2280 2468 92.4%
ov_SC06_013 2270 1738 0 2271 2425 93.6%
ov_SC06_014 2276 1738 0 2278 2453 92.9%
ov_SC06_015 2273 1738 0 2273 2421 93.9%
ov_SC06_016 2291 1738 0 2293 2549 90.0%
ov_SC06_018 2302 1740 0 2309 2665 86.6%
ov_SC06_020 2280 1740 0 2281 2518 90.6%
ov_SC06_022 2299 1738 0 2307 2642 87.3%
ov_SC06_024 2309 1738 0 2315 2667 86.8%
ov_SC06_025 2293 1738 0 2298 2572 89.3%
ov_SC06_027 2258 1738 0 2259 2408 93.8%
ov_SC06_029 2319 1738 0 2331 2662 87.6%
ov_SC06_030 2272 1738 0 2272 2456 92.5%
ov_SC06_032 2294 1739 0 2301 2658 86.6%
ov_SC06_033 2296 1739 0 2303 2631 87.5%
ov_SC07_000 2287 1742 0 2289 2521 90.8%
ov_SC07_001 2271 1738 0 2273 2454 92.6%
ov_SC07_002 2299 1738 0 2303 2579 89.3%
ov_SC07_006 2072 1555 0 2152 2456 87.6%
ov_SC07_007 2066 1586 0 2150 2613 82.3%
ov_SC07_008 2256 1738 0 2256 2386 94.6%
ov_SC07_009 2265 1738 0 2267 2430 93.3%
ov_SC07_010 2098 1608 0 2181 2524 86.4%
ov_SC07_011 2066 1585 0 2146 2449 87.6%