Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 9a1507462f feat(phase-29): T93/T94 — func_801759D8 137/137 via type-uniquify (§120) + two T92 corrections
- CORRECTION 1 (R14/P9): T92's "strip-if-ambient" recipe was WRONG. Stripping the draft's duplicate
  typedef breaks the extern that USES it (the TU's own copy sits below the spliced function), so the
  "second stacked blocker" T92 recorded (D_800AF634 used prior to declaration) was my own fix
  misfiring, not a real blocker. RENAME, don't remove: rtu_match CC1 FAIL -> MATCH (56 ins).
- CORRECTION 2: T91's wiring never RAN. family_sweep has THREE staging sites sharing the identical
  two lines (edit-remap / hseq / plain h_norm); I patched by rindex twice, which lands on the PLAIN
  site, so --hseq staged the draft unchanged and the lever looked ineffective. Re-anchored on the
  hseq site's unique write (func_{to_addr:08X}.c) and the draft came out renamed. T91's revert was
  right discipline on a false premise.
- RESULT: _uniquify_draft_types wired into the hseq path (byte-neutral — C type names never reach
  codegen). func_801759D8, one of the three long-standing byte-identical stragglers: 0 -> 137/137,
  0 failed. Blast radius 0 (74 further families re-swept, none moved) => TARGETED lever, like §118
  and unlike §117.
- Cookbook §120, incl. the law: before concluding a lever does not work, prove it RAN — diff the
  staged artifact for the change it is supposed to make.
- GATES: R22 clean-fleet 140/140; dedup 1886/0; 0 NON_MATCHING (G4).
- METRICS: fn-count 91.88 -> 91.92% (+137, exact) · instr 87.3 -> 87.4% (+7,672) · distinct +0
  (byte-identical family — §111 predicted exactly that).
2026-07-30 12:57:32 -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: 325143 / 353720 = 91.92% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 11486355 / 13141652 = 87.4% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4395820 / 5634875 = 78.0% (69744/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: 11485919 / 13081451 = 87.8%)

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