Files
BFM-decomp/docs/progress.fleet.md
T
Drew T e112eff601 fix(phase-29): find_site — a comment-only line halted the extern scan (§68); func_80174CB0 x1 -> x3
TWO mislabels in one tool, both found by making it print what the compiler actually said.

1) compiles_standalone() returned a bare False and the caller filed EVERY failure under
   "overlay-local TYPE (the real cap)". The dominant real cause is undeclared FILE-SCOPE EXTERNS.
   Now returns (ok, stderr) and the skip is classified by actual cc1 output.
2) find_site()'s backward walk over "preceding contiguous externs" skipped BLANK lines but not
   COMMENT-ONLY lines, so a full-line /* ---- */ between two extern groups dropped every extern
   above it. Comment lines are now skipped like blanks and filtered out of the emitted body so
   make_macro never meets a `//`.

RESULT, measured honestly: func_80174CB0 went from "not self-contained" to a 138-member PLAN, but
--recover banked only x3 (ov_SC07_006/007/011); 135 overlays excluded. Those exclusions are NOT
byte divergence (all 138 share h_exact) -- they are the CARRIED EXTERNS colliding with each target
overlay's own decls. The carry is necessary but not sufficient: it must reconcile per-target-TU
(cdecl.compatible(), the shape reconcile_tu already uses). Spec updated in CURRENT_PHASE.md.

- R22 clean-fleet 140/140, 0 failed. dedup-check 1883 validated / 0 failed, C1 coverage complete.
- fleet instr 79.9% (10,501,384 / 13,141,652); +246 ins from the x3.
- WHY THIS MATTERS beyond the numbers: the Phase-21 backlog already prescribed "macro-extern-
  injection frees them x134 (~+0.3%)" and it was never built, because the mislabel told every later
  session these were the known-hard type wall. A wrong diagnostic label cost ~4 phases.
- cookbook §68. NOTE the exclusion message is ALSO mislabelled ("byte-diverge / irreconcilable"
  conflates differing bytes with a non-compiling instantiation) -- logged to fix.
2026-07-25 00:17:08 -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: 314728 / 353717 = 88.98% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 10501384 / 13141652 = 79.9% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 3813337 / 5634875 = 67.7% (64876/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: 10500948 / 13081451 = 80.3%)

FLEET REAL substantive : 312873 (of which dedup-shared 238827 via 1883 groups / 238901 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 38982 FLEET matchable : 353717

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 2245 1739 0 2245 2403 93.4%
ov_SC01_001 2246 1738 0 2248 2466 91.2%
ov_SC01_004 2237 1729 0 2238 2414 92.7%
ov_SC01_005 2267 1752 0 2267 2503 90.6%
ov_SC01_006 2267 1752 0 2267 2503 90.6%
ov_SC01_008 2237 1729 0 2239 2426 92.3%
ov_SC01_009 2263 1730 0 2264 2507 90.3%
ov_SC01_074 2241 1730 0 2243 2425 92.5%
ov_SC01_077 2425 1699 0 2427 2585 93.9%
ov_SC01_080 2279 1733 0 2279 2512 90.7%
ov_SC01_084 2286 1733 0 2291 2579 88.8%
ov_SC02_000 2339 1768 0 2339 2683 87.2%
ov_SC02_003 2339 1768 0 2339 2683 87.2%
ov_SC02_004 2245 1733 0 2245 2401 93.5%
ov_SC02_005 2353 1729 0 2363 2927 80.7%
ov_SC02_011 2365 1736 0 2376 2893 82.1%
ov_SC02_015 2246 1735 0 2246 2414 93.0%
ov_SC02_016 2279 1735 0 2282 2545 89.7%
ov_SC02_017 2323 1735 0 2331 2732 85.3%
ov_SC02_021 2252 1735 0 2252 2437 92.4%
ov_SC02_026 2268 1733 0 2274 2572 88.4%
ov_SC02_027 2291 1733 0 2300 2692 85.4%
ov_SC02_028 2293 1733 0 2303 2701 85.3%
ov_SC02_031 2278 1734 0 2283 2562 89.1%
ov_SC02_035 2254 1733 0 2257 2520 89.6%
ov_SC02_039 2238 1733 0 2238 2416 92.6%
ov_SC02_041 2275 1733 0 2278 2561 88.9%
ov_SC03_001 2374 1734 0 2391 2869 83.3%
ov_SC03_002 2300 1738 0 2315 2631 88.0%
ov_SC03_003 2248 1733 0 2249 2423 92.8%
ov_SC03_006 2313 1739 0 2322 2767 83.9%
ov_SC03_007 2293 1733 0 2297 2623 87.6%
ov_SC03_010 2254 1733 0 2254 2470 91.3%
ov_SC03_011 2262 1733 0 2268 2527 89.8%
ov_SC03_012 2240 1733 0 2241 2406 93.1%
ov_SC03_013 2259 1733 0 2259 2492 90.7%
ov_SC03_014 2319 1758 0 2319 2685 86.4%
ov_SC03_015 2319 1758 0 2319 2685 86.4%
ov_SC03_023 2247 1733 0 2248 2435 92.3%
ov_SC03_024 2307 1738 0 2314 2641 87.6%
ov_SC03_028 2287 1733 0 2291 2664 86.0%
ov_SC03_029 2288 1735 0 2298 2644 86.9%
ov_SC03_030 2261 1738 0 2263 2495 90.7%
ov_SC03_031 2258 1733 0 2261 2514 89.9%
ov_SC03_089 2274 1733 0 2281 2581 88.4%
ov_SC03_090 2275 1733 0 2283 2625 87.0%
ov_SC03_091 2278 1733 0 2286 2640 86.6%
ov_SC03_092 2289 1733 0 2301 2587 88.9%
ov_SC03_093 2265 1733 0 2269 2563 88.5%
ov_SC03_094 2260 1733 0 2266 2577 87.9%
ov_SC03_095 2250 1733 0 2253 2474 91.1%
ov_SC03_096 2250 1733 0 2253 2465 91.4%
ov_SC03_097 2280 1733 0 2287 2603 87.9%
ov_SC03_098 2258 1733 0 2261 2541 89.0%
ov_SC03_099 2251 1733 0 2254 2504 90.0%
ov_SC03_100 2261 1733 0 2265 2539 89.2%
ov_SC03_101 2261 1733 0 2265 2528 89.6%
ov_SC03_102 2253 1733 0 2256 2492 90.5%
ov_SC03_103 2256 1735 0 2259 2510 90.0%
ov_SC03_104 2282 1733 0 2289 2616 87.5%
ov_SC03_105 2275 1733 0 2282 2597 87.9%
ov_SC03_108 2242 1733 0 2242 2443 91.8%
ov_SC03_109 2245 1733 0 2247 2424 92.7%
ov_SC03_110 2249 1733 0 2249 2468 91.1%
ov_SC03_111 2260 1733 0 2263 2510 90.2%
ov_SC03_112 2254 1735 0 2256 2526 89.3%
ov_SC03_113 2247 1735 0 2250 2468 91.2%
ov_SC03_114 2237 1733 0 2239 2415 92.7%
ov_SC03_115 2254 1733 0 2256 2472 91.3%
ov_SC03_116 2244 1733 0 2247 2438 92.2%
ov_SC03_117 2272 1733 0 2278 2557 89.1%
ov_SC03_118 2318 1757 0 2319 2685 86.4%
ov_SC03_119 2317 1757 0 2318 2685 86.3%
ov_SC03_121 2252 1733 0 2255 2459 91.7%
ov_SC03_124 2331 1729 0 2351 2741 85.8%
ov_SC03_125 2287 1733 0 2299 2588 88.8%
ov_SC03_126 2249 1735 0 2249 2423 92.8%
ov_SC04_000 2265 1737 0 2274 2546 89.3%
ov_SC04_002 2283 1733 0 2287 2636 86.8%
ov_SC04_003 2260 1733 0 2264 2502 90.5%
ov_SC04_004 2269 1733 0 2271 2558 88.8%
ov_SC04_005 2278 1733 0 2284 2612 87.4%
ov_SC04_006 2249 1733 0 2251 2454 91.7%
ov_SC04_007 2272 1733 0 2276 2569 88.6%
ov_SC04_008 2241 1733 0 2241 2415 92.8%
ov_SC04_009 2256 1733 0 2259 2441 92.5%
ov_SC04_010 2246 1733 0 2247 2419 92.9%
ov_SC04_011 2304 1733 0 2310 2803 82.4%
ov_SC04_012 2243 1733 0 2244 2420 92.7%
ov_SC04_015 2309 1734 0 2320 2611 88.9%
ov_SC04_016 2246 1733 0 2248 2440 92.1%
ov_SC04_018 2357 1768 0 2357 2857 82.5%
ov_SC04_019 2363 1768 0 2363 2857 82.7%
ov_SC04_020 2274 1733 0 2286 2567 89.1%
ov_SC04_021 2250 1735 0 2250 2423 92.9%
ov_SC05_000 2247 1737 0 2250 2422 92.9%
ov_SC05_001 2269 1733 0 2274 2574 88.3%
ov_SC05_002 2252 1733 0 2255 2442 92.3%
ov_SC05_003 2249 1733 0 2250 2481 90.7%
ov_SC05_004 2245 1733 0 2247 2464 91.2%
ov_SC05_005 2250 1733 0 2251 2491 90.4%
ov_SC05_006 2243 1733 0 2243 2430 92.3%
ov_SC05_007 2253 1733 0 2258 2482 91.0%
ov_SC05_008 2270 1733 0 2272 2543 89.3%
ov_SC05_009 2249 1733 0 2253 2438 92.4%
ov_SC05_010 2276 1733 0 2280 2588 88.1%
ov_SC05_011 2245 1733 0 2246 2409 93.2%
ov_SC05_017 2353 1730 0 2364 2842 83.2%
ov_SC05_018 2300 1733 0 2313 2673 86.5%
ov_SC05_019 2250 1735 0 2250 2423 92.9%
ov_SC06_000 2314 1742 0 2317 2691 86.1%
ov_SC06_006 2266 1733 0 2267 2511 90.3%
ov_SC06_008 2283 1735 0 2289 2542 90.0%
ov_SC06_010 2265 1733 0 2270 2517 90.2%
ov_SC06_011 2255 1733 0 2259 2468 91.5%
ov_SC06_013 2248 1733 0 2249 2425 92.7%
ov_SC06_014 2254 1733 0 2256 2453 92.0%
ov_SC06_015 2251 1733 0 2251 2421 93.0%
ov_SC06_016 2269 1733 0 2271 2549 89.1%
ov_SC06_018 2282 1736 0 2289 2665 85.9%
ov_SC06_020 2258 1735 0 2259 2518 89.7%
ov_SC06_022 2277 1733 0 2285 2642 86.5%
ov_SC06_024 2286 1733 0 2292 2667 85.9%
ov_SC06_025 2270 1733 0 2275 2572 88.5%
ov_SC06_027 2236 1733 0 2237 2408 92.9%
ov_SC06_029 2295 1733 0 2307 2662 86.7%
ov_SC06_030 2250 1733 0 2250 2456 91.6%
ov_SC06_032 2270 1734 0 2277 2658 85.7%
ov_SC06_033 2272 1734 0 2279 2631 86.6%
ov_SC07_000 2266 1737 0 2268 2521 90.0%
ov_SC07_001 2249 1733 0 2251 2454 91.7%
ov_SC07_002 2277 1733 0 2281 2579 88.4%
ov_SC07_006 2047 1552 0 2127 2455 86.6%
ov_SC07_007 2038 1582 0 2122 2613 81.2%
ov_SC07_008 2234 1733 0 2234 2386 93.6%
ov_SC07_009 2243 1733 0 2245 2430 92.4%
ov_SC07_010 2046 1581 0 2129 2524 84.4%
ov_SC07_011 2037 1581 0 2117 2449 86.4%