Files
BFM-decomp/docs/progress.fleet.md
T
Drew T bf71232d0b feat(phase-29): T87/T88 — ordinal immediate resolution (§118): 158 banked
- The T86 asm-ambiguous refusal was CORRECT (a by-value swap would corrupt the non-differing
  occurrence); the safety TEST was too strict. It compared the C literal's occurrences against
  EVERY asm use of that value, but gcc synthesises uses no C token names — e.g.
  D_80187044[*(u16 *)((s32)a0 + 0x2)]() has one C literal 0x2 and TWO asm uses of 2 (the
  per-member offset + a fixed sll ..,2 for the 4-byte stride). Unsatisfiable by construction.
- FIX (_ordinal_edits, §118): pair C occurrences to asm positions IN ORDER, accepting either
  len(spans)==len(asm_pos) (every use named) or len(spans)==len(diff_pos) (extras are implicit).
  Rewrite only occurrences whose instruction is in diff_idx. Order is a heuristic, so the
  whole-binary byte-gate stays the sole arbiter — a wrong pairing is rejected, never banked.
- T87: func_801599A4 0 -> 137 drafts, 137 banked; +12 singletons = 149 (family 0x80131eec).
- T88 blast radius: only 9 of the other 144 immediate-refusals converted (refusals 67 -> 34).
  A TARGETED lever, not a second §117 — recorded so it is not over-projected.
- GATES: R22 clean-fleet 140/140; dedup 1886/0; 0 NON_MATCHING (G4).
- METRICS: fn-count 91.79 -> 91.84% (+158, exact) · distinct-code 69,450 -> 69,593 (+143).
2026-07-30 10: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: 324845 / 353720 = 91.84% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 11476144 / 13141652 = 87.3% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4393423 / 5634875 = 78.0% (69593/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: 11475708 / 13081451 = 87.7%)

FLEET REAL substantive : 322990 (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 : 28868 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 2308 1742 0 2308 2403 96.0%
ov_SC01_001 2314 1743 0 2316 2466 93.9%
ov_SC01_004 2305 1734 0 2306 2414 95.5%
ov_SC01_005 2334 1757 0 2334 2503 93.2%
ov_SC01_006 2334 1757 0 2334 2503 93.2%
ov_SC01_008 2305 1734 0 2307 2426 95.1%
ov_SC01_009 2330 1735 0 2331 2507 93.0%
ov_SC01_074 2311 1735 0 2313 2425 95.4%
ov_SC01_077 2479 1702 0 2481 2585 96.0%
ov_SC01_080 2345 1738 0 2345 2512 93.4%
ov_SC01_084 2353 1738 0 2358 2579 91.4%
ov_SC02_000 2408 1773 0 2408 2683 89.8%
ov_SC02_003 2408 1773 0 2408 2683 89.8%
ov_SC02_004 2310 1738 0 2310 2401 96.2%
ov_SC02_005 2431 1734 0 2441 2927 83.4%
ov_SC02_011 2441 1741 0 2452 2893 84.8%
ov_SC02_015 2315 1740 0 2315 2414 95.9%
ov_SC02_016 2353 1740 0 2356 2545 92.6%
ov_SC02_017 2402 1740 0 2410 2732 88.2%
ov_SC02_021 2320 1740 0 2320 2437 95.2%
ov_SC02_026 2335 1738 0 2341 2572 91.0%
ov_SC02_027 2359 1738 0 2368 2692 88.0%
ov_SC02_028 2361 1738 0 2371 2701 87.8%
ov_SC02_031 2348 1739 0 2353 2562 91.8%
ov_SC02_035 2321 1738 0 2324 2520 92.2%
ov_SC02_039 2306 1738 0 2306 2416 95.4%
ov_SC02_041 2349 1738 0 2352 2561 91.8%
ov_SC03_001 2450 1739 0 2467 2869 86.0%
ov_SC03_002 2368 1743 0 2383 2631 90.6%
ov_SC03_003 2316 1738 0 2317 2423 95.6%
ov_SC03_006 2388 1744 0 2397 2767 86.6%
ov_SC03_007 2367 1738 0 2371 2623 90.4%
ov_SC03_010 2325 1738 0 2325 2471 94.1%
ov_SC03_011 2332 1738 0 2338 2527 92.5%
ov_SC03_012 2307 1738 0 2308 2406 95.9%
ov_SC03_013 2331 1738 0 2331 2493 93.5%
ov_SC03_014 2392 1763 0 2392 2685 89.1%
ov_SC03_015 2394 1763 0 2394 2685 89.2%
ov_SC03_023 2318 1738 0 2319 2435 95.2%
ov_SC03_024 2382 1743 0 2389 2641 90.5%
ov_SC03_028 2352 1738 0 2356 2664 88.4%
ov_SC03_029 2363 1740 0 2373 2644 89.8%
ov_SC03_030 2329 1743 0 2331 2495 93.4%
ov_SC03_031 2325 1738 0 2328 2514 92.6%
ov_SC03_089 2341 1738 0 2348 2581 91.0%
ov_SC03_090 2344 1738 0 2352 2625 89.6%
ov_SC03_091 2346 1738 0 2354 2640 89.2%
ov_SC03_092 2361 1738 0 2373 2587 91.7%
ov_SC03_093 2333 1738 0 2337 2563 91.2%
ov_SC03_094 2328 1738 0 2334 2577 90.6%
ov_SC03_095 2317 1738 0 2320 2474 93.8%
ov_SC03_096 2318 1738 0 2321 2465 94.2%
ov_SC03_097 2354 1738 0 2361 2603 90.7%
ov_SC03_098 2325 1738 0 2328 2541 91.6%
ov_SC03_099 2318 1738 0 2321 2504 92.7%
ov_SC03_100 2328 1738 0 2332 2539 91.8%
ov_SC03_101 2331 1738 0 2335 2528 92.4%
ov_SC03_102 2319 1738 0 2322 2492 93.2%
ov_SC03_103 2324 1740 0 2327 2510 92.7%
ov_SC03_104 2348 1738 0 2355 2616 90.0%
ov_SC03_105 2343 1738 0 2350 2597 90.5%
ov_SC03_108 2309 1738 0 2309 2443 94.5%
ov_SC03_109 2314 1738 0 2316 2424 95.5%
ov_SC03_110 2316 1738 0 2316 2468 93.8%
ov_SC03_111 2327 1738 0 2330 2510 92.8%
ov_SC03_112 2324 1740 0 2326 2526 92.1%
ov_SC03_113 2317 1740 0 2320 2468 94.0%
ov_SC03_114 2305 1738 0 2307 2415 95.5%
ov_SC03_115 2323 1738 0 2325 2472 94.1%
ov_SC03_116 2313 1738 0 2316 2438 95.0%
ov_SC03_117 2347 1738 0 2353 2557 92.0%
ov_SC03_118 2395 1762 0 2396 2685 89.2%
ov_SC03_119 2391 1762 0 2392 2685 89.1%
ov_SC03_121 2321 1738 0 2324 2459 94.5%
ov_SC03_124 2412 1734 0 2432 2741 88.7%
ov_SC03_125 2355 1738 0 2367 2588 91.5%
ov_SC03_126 2318 1740 0 2318 2423 95.7%
ov_SC04_000 2338 1742 0 2347 2546 92.2%
ov_SC04_002 2360 1738 0 2364 2636 89.7%
ov_SC04_003 2331 1738 0 2335 2502 93.3%
ov_SC04_004 2340 1738 0 2342 2558 91.6%
ov_SC04_005 2350 1738 0 2356 2612 90.2%
ov_SC04_006 2317 1738 0 2319 2454 94.5%
ov_SC04_007 2344 1738 0 2348 2569 91.4%
ov_SC04_008 2310 1738 0 2310 2415 95.7%
ov_SC04_009 2324 1738 0 2327 2441 95.3%
ov_SC04_010 2314 1738 0 2315 2419 95.7%
ov_SC04_011 2373 1738 0 2379 2803 84.9%
ov_SC04_012 2312 1738 0 2313 2420 95.6%
ov_SC04_015 2381 1739 0 2392 2611 91.6%
ov_SC04_016 2314 1738 0 2316 2440 94.9%
ov_SC04_018 2448 1773 0 2448 2857 85.7%
ov_SC04_019 2448 1773 0 2448 2857 85.7%
ov_SC04_020 2343 1738 0 2355 2567 91.7%
ov_SC04_021 2318 1740 0 2318 2423 95.7%
ov_SC05_000 2316 1742 0 2319 2422 95.7%
ov_SC05_001 2338 1738 0 2343 2574 91.0%
ov_SC05_002 2322 1738 0 2325 2442 95.2%
ov_SC05_003 2318 1738 0 2319 2481 93.5%
ov_SC05_004 2314 1738 0 2316 2464 94.0%
ov_SC05_005 2318 1738 0 2319 2491 93.1%
ov_SC05_006 2312 1738 0 2312 2430 95.1%
ov_SC05_007 2322 1738 0 2327 2482 93.8%
ov_SC05_008 2343 1738 0 2345 2543 92.2%
ov_SC05_009 2317 1738 0 2321 2438 95.2%
ov_SC05_010 2345 1738 0 2349 2588 90.8%
ov_SC05_011 2313 1738 0 2314 2409 96.1%
ov_SC05_017 2435 1735 0 2446 2842 86.1%
ov_SC05_018 2374 1738 0 2387 2673 89.3%
ov_SC05_019 2318 1740 0 2318 2423 95.7%
ov_SC06_000 2394 1747 0 2397 2691 89.1%
ov_SC06_006 2337 1738 0 2338 2511 93.1%
ov_SC06_008 2358 1740 0 2364 2542 93.0%
ov_SC06_010 2337 1738 0 2342 2517 93.0%
ov_SC06_011 2322 1738 0 2326 2468 94.2%
ov_SC06_013 2316 1738 0 2317 2425 95.5%
ov_SC06_014 2323 1738 0 2325 2453 94.8%
ov_SC06_015 2321 1738 0 2321 2421 95.9%
ov_SC06_016 2337 1738 0 2339 2549 91.8%
ov_SC06_018 2351 1740 0 2358 2665 88.5%
ov_SC06_020 2326 1740 0 2327 2518 92.4%
ov_SC06_022 2351 1738 0 2359 2642 89.3%
ov_SC06_024 2359 1738 0 2365 2667 88.7%
ov_SC06_025 2345 1738 0 2350 2572 91.4%
ov_SC06_027 2305 1738 0 2306 2408 95.8%
ov_SC06_029 2366 1738 0 2378 2662 89.3%
ov_SC06_030 2320 1738 0 2320 2456 94.5%
ov_SC06_032 2346 1739 0 2353 2658 88.5%
ov_SC06_033 2347 1739 0 2354 2631 89.5%
ov_SC07_000 2333 1742 0 2335 2521 92.6%
ov_SC07_001 2317 1738 0 2319 2454 94.5%
ov_SC07_002 2344 1738 0 2348 2579 91.0%
ov_SC07_006 2206 1555 0 2286 2456 93.1%
ov_SC07_007 2224 1586 0 2308 2613 88.3%
ov_SC07_008 2302 1738 0 2302 2386 96.5%
ov_SC07_009 2312 1738 0 2314 2430 95.2%
ov_SC07_010 2226 1608 0 2309 2524 91.5%
ov_SC07_011 2223 1585 0 2303 2449 94.0%