Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 1c0d29d91d feat(phase-29): §30#2 widen batch — func_8014F3E8 + func_8014D4C0 banked; §73 (the two axes)
- FLEET WIDEN (T2, one edit): extern void -> extern s32 for func_8014F3E8 + func_8014D4C0
  across src/** (16 decls in engine_core.h + 5,079 in 3,459 overlay .c; 0 `extern void`
  left, 0 pre-existing `extern s32`). Scope re-verified against the tree first (R14/R35):
  the SESSION-18 counts reproduce exactly and no decl exists outside the `extern void <name>`
  shape in any .c/.h under src/.
- BYTE-NEUTRALITY OF THE WIDEN ISOLATED FIRST: ov_SC07_006 7ca772be + ov_SC01_000 9052dc0e
  BYTE-IDENTICAL before splicing any draft (ov_SC01_000 chosen because it instantiates the two
  return-CASTING macros — the only sites a decl's return type could touch codegen).
- BANKED into ov_SC07_006 (both ×1, both reach ×138 by sig: single h_exact across 138/138):
  func_8014F3E8 (32 ins) on gate 1; func_8014D4C0 (84 ins) on gate 2.
- FINDING -> cookbook §73: the widen fixed only HALF the conflict. A def-side self-decl
  conflict has TWO independent axes — RETURN (fleet macro-widen, T2, R22-mandatory) and
  PARAMS (canonical param types + casts at each USE, T0, no fleet edit). func_8014D4C0
  failed the first gate on the PARAM axis (canon `void*` vs draft `u16*`); the §17a-1 move
  applied to the def's own signature banked it with nothing outside the draft touched.
  Diagnose the axis before reaching for the expensive fix.
- R22 clean-fleet: make clean && extract-all && check-all -> 140 passed, 0 failed of 140.
  make report: dedup 1884 validated / 0 failed, C1 coverage 239039/239039, 0 NON_MATCHING (G4).
  Fleet 80.0% instr / 67.7% distinct / 89.02% fn-count (the ×138 propagation is the value).
2026-07-25 12:24:30 -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: 314868 / 353717 = 89.02% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 10509642 / 13141652 = 80.0% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 3813512 / 5634875 = 67.7% (64879/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: 10509206 / 13081451 = 80.3%)

FLEET REAL substantive : 313013 (of which dedup-shared 238965 via 1884 groups / 239039 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 38842 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 2246 1740 0 2246 2403 93.5%
ov_SC01_001 2247 1739 0 2249 2466 91.2%
ov_SC01_004 2238 1730 0 2239 2414 92.8%
ov_SC01_005 2268 1753 0 2268 2503 90.6%
ov_SC01_006 2268 1753 0 2268 2503 90.6%
ov_SC01_008 2238 1730 0 2240 2426 92.3%
ov_SC01_009 2264 1731 0 2265 2507 90.3%
ov_SC01_074 2242 1731 0 2244 2425 92.5%
ov_SC01_077 2426 1700 0 2428 2585 93.9%
ov_SC01_080 2280 1734 0 2280 2512 90.8%
ov_SC01_084 2287 1734 0 2292 2579 88.9%
ov_SC02_000 2340 1769 0 2340 2683 87.2%
ov_SC02_003 2340 1769 0 2340 2683 87.2%
ov_SC02_004 2246 1734 0 2246 2401 93.5%
ov_SC02_005 2354 1730 0 2364 2927 80.8%
ov_SC02_011 2366 1737 0 2377 2893 82.2%
ov_SC02_015 2247 1736 0 2247 2414 93.1%
ov_SC02_016 2280 1736 0 2283 2545 89.7%
ov_SC02_017 2324 1736 0 2332 2732 85.4%
ov_SC02_021 2253 1736 0 2253 2437 92.4%
ov_SC02_026 2269 1734 0 2275 2572 88.5%
ov_SC02_027 2292 1734 0 2301 2692 85.5%
ov_SC02_028 2294 1734 0 2304 2701 85.3%
ov_SC02_031 2279 1735 0 2284 2562 89.1%
ov_SC02_035 2255 1734 0 2258 2520 89.6%
ov_SC02_039 2239 1734 0 2239 2416 92.7%
ov_SC02_041 2276 1734 0 2279 2561 89.0%
ov_SC03_001 2375 1735 0 2392 2869 83.4%
ov_SC03_002 2301 1739 0 2316 2631 88.0%
ov_SC03_003 2249 1734 0 2250 2423 92.9%
ov_SC03_006 2314 1740 0 2323 2767 84.0%
ov_SC03_007 2294 1734 0 2298 2623 87.6%
ov_SC03_010 2255 1734 0 2255 2470 91.3%
ov_SC03_011 2263 1734 0 2269 2527 89.8%
ov_SC03_012 2241 1734 0 2242 2406 93.2%
ov_SC03_013 2260 1734 0 2260 2492 90.7%
ov_SC03_014 2320 1759 0 2320 2685 86.4%
ov_SC03_015 2320 1759 0 2320 2685 86.4%
ov_SC03_023 2248 1734 0 2249 2435 92.4%
ov_SC03_024 2308 1739 0 2315 2641 87.7%
ov_SC03_028 2288 1734 0 2292 2664 86.0%
ov_SC03_029 2289 1736 0 2299 2644 87.0%
ov_SC03_030 2262 1739 0 2264 2495 90.7%
ov_SC03_031 2259 1734 0 2262 2514 90.0%
ov_SC03_089 2275 1734 0 2282 2581 88.4%
ov_SC03_090 2276 1734 0 2284 2625 87.0%
ov_SC03_091 2279 1734 0 2287 2640 86.6%
ov_SC03_092 2290 1734 0 2302 2587 89.0%
ov_SC03_093 2266 1734 0 2270 2563 88.6%
ov_SC03_094 2261 1734 0 2267 2577 88.0%
ov_SC03_095 2251 1734 0 2254 2474 91.1%
ov_SC03_096 2251 1734 0 2254 2465 91.4%
ov_SC03_097 2281 1734 0 2288 2603 87.9%
ov_SC03_098 2259 1734 0 2262 2541 89.0%
ov_SC03_099 2252 1734 0 2255 2504 90.1%
ov_SC03_100 2262 1734 0 2266 2539 89.2%
ov_SC03_101 2262 1734 0 2266 2528 89.6%
ov_SC03_102 2254 1734 0 2257 2492 90.6%
ov_SC03_103 2257 1736 0 2260 2510 90.0%
ov_SC03_104 2283 1734 0 2290 2616 87.5%
ov_SC03_105 2276 1734 0 2283 2597 87.9%
ov_SC03_108 2243 1734 0 2243 2443 91.8%
ov_SC03_109 2246 1734 0 2248 2424 92.7%
ov_SC03_110 2250 1734 0 2250 2468 91.2%
ov_SC03_111 2261 1734 0 2264 2510 90.2%
ov_SC03_112 2255 1736 0 2257 2526 89.4%
ov_SC03_113 2248 1736 0 2251 2468 91.2%
ov_SC03_114 2238 1734 0 2240 2415 92.8%
ov_SC03_115 2255 1734 0 2257 2472 91.3%
ov_SC03_116 2245 1734 0 2248 2438 92.2%
ov_SC03_117 2273 1734 0 2279 2557 89.1%
ov_SC03_118 2319 1758 0 2320 2685 86.4%
ov_SC03_119 2318 1758 0 2319 2685 86.4%
ov_SC03_121 2253 1734 0 2256 2459 91.7%
ov_SC03_124 2332 1730 0 2352 2741 85.8%
ov_SC03_125 2288 1734 0 2300 2588 88.9%
ov_SC03_126 2250 1736 0 2250 2423 92.9%
ov_SC04_000 2266 1738 0 2275 2546 89.4%
ov_SC04_002 2284 1734 0 2288 2636 86.8%
ov_SC04_003 2261 1734 0 2265 2502 90.5%
ov_SC04_004 2270 1734 0 2272 2558 88.8%
ov_SC04_005 2279 1734 0 2285 2612 87.5%
ov_SC04_006 2250 1734 0 2252 2454 91.8%
ov_SC04_007 2273 1734 0 2277 2569 88.6%
ov_SC04_008 2242 1734 0 2242 2415 92.8%
ov_SC04_009 2257 1734 0 2260 2441 92.6%
ov_SC04_010 2247 1734 0 2248 2419 92.9%
ov_SC04_011 2305 1734 0 2311 2803 82.4%
ov_SC04_012 2244 1734 0 2245 2420 92.8%
ov_SC04_015 2310 1735 0 2321 2611 88.9%
ov_SC04_016 2247 1734 0 2249 2440 92.2%
ov_SC04_018 2358 1769 0 2358 2857 82.5%
ov_SC04_019 2364 1769 0 2364 2857 82.7%
ov_SC04_020 2275 1734 0 2287 2567 89.1%
ov_SC04_021 2251 1736 0 2251 2423 92.9%
ov_SC05_000 2248 1738 0 2251 2422 92.9%
ov_SC05_001 2270 1734 0 2275 2574 88.4%
ov_SC05_002 2253 1734 0 2256 2442 92.4%
ov_SC05_003 2250 1734 0 2251 2481 90.7%
ov_SC05_004 2246 1734 0 2248 2464 91.2%
ov_SC05_005 2251 1734 0 2252 2491 90.4%
ov_SC05_006 2244 1734 0 2244 2430 92.3%
ov_SC05_007 2254 1734 0 2259 2482 91.0%
ov_SC05_008 2271 1734 0 2273 2543 89.4%
ov_SC05_009 2250 1734 0 2254 2438 92.5%
ov_SC05_010 2277 1734 0 2281 2588 88.1%
ov_SC05_011 2246 1734 0 2247 2409 93.3%
ov_SC05_017 2354 1731 0 2365 2842 83.2%
ov_SC05_018 2301 1734 0 2314 2673 86.6%
ov_SC05_019 2251 1736 0 2251 2423 92.9%
ov_SC06_000 2315 1743 0 2318 2691 86.1%
ov_SC06_006 2267 1734 0 2268 2511 90.3%
ov_SC06_008 2284 1736 0 2290 2542 90.1%
ov_SC06_010 2266 1734 0 2271 2517 90.2%
ov_SC06_011 2256 1734 0 2260 2468 91.6%
ov_SC06_013 2249 1734 0 2250 2425 92.8%
ov_SC06_014 2255 1734 0 2257 2453 92.0%
ov_SC06_015 2252 1734 0 2252 2421 93.0%
ov_SC06_016 2270 1734 0 2272 2549 89.1%
ov_SC06_018 2283 1737 0 2290 2665 85.9%
ov_SC06_020 2259 1736 0 2260 2518 89.8%
ov_SC06_022 2278 1734 0 2286 2642 86.5%
ov_SC06_024 2287 1734 0 2293 2667 86.0%
ov_SC06_025 2271 1734 0 2276 2572 88.5%
ov_SC06_027 2237 1734 0 2238 2408 92.9%
ov_SC06_029 2296 1734 0 2308 2662 86.7%
ov_SC06_030 2251 1734 0 2251 2456 91.7%
ov_SC06_032 2271 1735 0 2278 2658 85.7%
ov_SC06_033 2273 1735 0 2280 2631 86.7%
ov_SC07_000 2267 1738 0 2269 2521 90.0%
ov_SC07_001 2250 1734 0 2252 2454 91.8%
ov_SC07_002 2278 1734 0 2282 2579 88.5%
ov_SC07_006 2050 1553 0 2130 2455 86.8%
ov_SC07_007 2039 1583 0 2123 2613 81.2%
ov_SC07_008 2235 1734 0 2235 2386 93.7%
ov_SC07_009 2244 1734 0 2246 2430 92.4%
ov_SC07_010 2047 1582 0 2130 2524 84.4%
ov_SC07_011 2038 1582 0 2118 2449 86.5%