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

161 lines
9.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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% |