Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 970559423d feat(phase-29): T77 — wire the callee-decl lever into family_sweep; func_80173A60 0/135 -> 135/135
Item 1. The T76 diagnosis was right and the fix was a lever we already owned. cast_call_sites
(§17a-1/§20) handles the callee-conflict class and lived ONLY in gate_stage, which the family sweep
deliberately does not use — the THIRD instance this session of a lever unreachable from the path that
needs it (T56 data-decl unreachable, T57 function-decl off-by-default, now T77 callee).

  the 5 byte-identical families : 0/682 -> 135/682
  func_80173A60 specifically    : 0/135 -> 135/135

Wired after scope_data_fix (orthogonal axes: data vs callee), default ON with --no-cast-callees. Two
details that matter: the canonical map is built from the TARGET sibling's TU via cpp
(canonical_map(ov, src_file=tu) -> cdecl.tu_scope) so it sees MACRO-INJECTED declarations — a
raw-text scan returns nothing for exactly the callees that conflict (§51g LAW 7) — and it is read
AFTER any tu-scope edit is on disk.

THE OTHER FOUR STILL FAIL, different causes. And the next finding is already visible:
func_8012F40C's blocker is RotTransPers, a PsyQ LIBRARY symbol — a callee conflict the cast should
have handled. It did not, because cast_call_sites' canonical map keys on
re.fullmatch(r'func_[0-9A-Fa-f]{8}'), so NAMED PsyQ callees are structurally invisible to it. That is
a one-line predicate widening with ~270 members behind it (RotTransPers + ApplyMatrixSV families).

GATES: R22 clean-fleet 140 passed, 0 failed of 140; tools-health OK; dedup 1886/0; 0 NON_MATCHING.

METRICS: instr 86.6% -> 86.7% (+7,965 ins); fn-count 91.15% -> 91.19% (+135); distinct +0
(byte-identical — §111 predicted it).

cookbook §114 — the three decl axes, and "conflicting types for X: READ X".
2026-07-29 20:34:09 -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: 322567 / 353720 = 91.19% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 11387545 / 13141652 = 86.7% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 4334529 / 5634875 = 76.9% (68196/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: 11387109 / 13081451 = 87.0%)
FLEET REAL substantive : 320712 (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 : 31146
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 | 2298 | 1742 | 0 | 2298 | 2403 | 95.6% |
| ov_SC01_001 | 2303 | 1743 | 0 | 2305 | 2466 | 93.5% |
| ov_SC01_004 | 2293 | 1734 | 0 | 2294 | 2414 | 95.0% |
| ov_SC01_005 | 2323 | 1757 | 0 | 2323 | 2503 | 92.8% |
| ov_SC01_006 | 2323 | 1757 | 0 | 2323 | 2503 | 92.8% |
| ov_SC01_008 | 2293 | 1734 | 0 | 2295 | 2426 | 94.6% |
| ov_SC01_009 | 2319 | 1735 | 0 | 2320 | 2507 | 92.5% |
| ov_SC01_074 | 2297 | 1735 | 0 | 2299 | 2425 | 94.8% |
| ov_SC01_077 | 2473 | 1702 | 0 | 2475 | 2585 | 95.7% |
| ov_SC01_080 | 2335 | 1738 | 0 | 2335 | 2512 | 93.0% |
| ov_SC01_084 | 2342 | 1738 | 0 | 2347 | 2579 | 91.0% |
| ov_SC02_000 | 2395 | 1773 | 0 | 2395 | 2683 | 89.3% |
| ov_SC02_003 | 2395 | 1773 | 0 | 2395 | 2683 | 89.3% |
| ov_SC02_004 | 2301 | 1738 | 0 | 2301 | 2401 | 95.8% |
| ov_SC02_005 | 2409 | 1734 | 0 | 2419 | 2927 | 82.6% |
| ov_SC02_011 | 2422 | 1741 | 0 | 2433 | 2893 | 84.1% |
| ov_SC02_015 | 2303 | 1740 | 0 | 2303 | 2414 | 95.4% |
| ov_SC02_016 | 2337 | 1740 | 0 | 2340 | 2545 | 91.9% |
| ov_SC02_017 | 2381 | 1740 | 0 | 2389 | 2732 | 87.4% |
| ov_SC02_021 | 2309 | 1740 | 0 | 2309 | 2437 | 94.7% |
| ov_SC02_026 | 2324 | 1738 | 0 | 2330 | 2572 | 90.6% |
| ov_SC02_027 | 2347 | 1738 | 0 | 2356 | 2692 | 87.5% |
| ov_SC02_028 | 2349 | 1738 | 0 | 2359 | 2701 | 87.3% |
| ov_SC02_031 | 2335 | 1739 | 0 | 2340 | 2562 | 91.3% |
| ov_SC02_035 | 2310 | 1738 | 0 | 2313 | 2520 | 91.8% |
| ov_SC02_039 | 2294 | 1738 | 0 | 2294 | 2416 | 95.0% |
| ov_SC02_041 | 2332 | 1738 | 0 | 2335 | 2561 | 91.2% |
| ov_SC03_001 | 2429 | 1739 | 0 | 2446 | 2869 | 85.3% |
| ov_SC03_002 | 2355 | 1743 | 0 | 2370 | 2631 | 90.1% |
| ov_SC03_003 | 2304 | 1738 | 0 | 2305 | 2423 | 95.1% |
| ov_SC03_006 | 2372 | 1744 | 0 | 2381 | 2767 | 86.0% |
| ov_SC03_007 | 2349 | 1738 | 0 | 2353 | 2623 | 89.7% |
| ov_SC03_010 | 2312 | 1738 | 0 | 2312 | 2471 | 93.6% |
| ov_SC03_011 | 2318 | 1738 | 0 | 2324 | 2527 | 92.0% |
| ov_SC03_012 | 2296 | 1738 | 0 | 2297 | 2406 | 95.5% |
| ov_SC03_013 | 2317 | 1738 | 0 | 2317 | 2493 | 92.9% |
| ov_SC03_014 | 2375 | 1763 | 0 | 2375 | 2685 | 88.5% |
| ov_SC03_015 | 2375 | 1763 | 0 | 2375 | 2685 | 88.5% |
| ov_SC03_023 | 2303 | 1738 | 0 | 2304 | 2435 | 94.6% |
| ov_SC03_024 | 2363 | 1743 | 0 | 2370 | 2641 | 89.7% |
| ov_SC03_028 | 2343 | 1738 | 0 | 2347 | 2664 | 88.1% |
| ov_SC03_029 | 2345 | 1740 | 0 | 2355 | 2644 | 89.1% |
| ov_SC03_030 | 2318 | 1743 | 0 | 2320 | 2495 | 93.0% |
| ov_SC03_031 | 2314 | 1738 | 0 | 2317 | 2514 | 92.2% |
| ov_SC03_089 | 2331 | 1738 | 0 | 2338 | 2581 | 90.6% |
| ov_SC03_090 | 2332 | 1738 | 0 | 2340 | 2625 | 89.1% |
| ov_SC03_091 | 2335 | 1738 | 0 | 2343 | 2640 | 88.8% |
| ov_SC03_092 | 2345 | 1738 | 0 | 2357 | 2587 | 91.1% |
| ov_SC03_093 | 2321 | 1738 | 0 | 2325 | 2563 | 90.7% |
| ov_SC03_094 | 2316 | 1738 | 0 | 2322 | 2577 | 90.1% |
| ov_SC03_095 | 2306 | 1738 | 0 | 2309 | 2474 | 93.3% |
| ov_SC03_096 | 2306 | 1738 | 0 | 2309 | 2465 | 93.7% |
| ov_SC03_097 | 2336 | 1738 | 0 | 2343 | 2603 | 90.0% |
| ov_SC03_098 | 2314 | 1738 | 0 | 2317 | 2541 | 91.2% |
| ov_SC03_099 | 2307 | 1738 | 0 | 2310 | 2504 | 92.3% |
| ov_SC03_100 | 2317 | 1738 | 0 | 2321 | 2539 | 91.4% |
| ov_SC03_101 | 2317 | 1738 | 0 | 2321 | 2528 | 91.8% |
| ov_SC03_102 | 2310 | 1738 | 0 | 2313 | 2492 | 92.8% |
| ov_SC03_103 | 2313 | 1740 | 0 | 2316 | 2510 | 92.3% |
| ov_SC03_104 | 2339 | 1738 | 0 | 2346 | 2616 | 89.7% |
| ov_SC03_105 | 2330 | 1738 | 0 | 2337 | 2597 | 90.0% |
| ov_SC03_108 | 2297 | 1738 | 0 | 2297 | 2443 | 94.0% |
| ov_SC03_109 | 2301 | 1738 | 0 | 2303 | 2424 | 95.0% |
| ov_SC03_110 | 2305 | 1738 | 0 | 2305 | 2468 | 93.4% |
| ov_SC03_111 | 2316 | 1738 | 0 | 2319 | 2510 | 92.4% |
| ov_SC03_112 | 2312 | 1740 | 0 | 2314 | 2526 | 91.6% |
| ov_SC03_113 | 2305 | 1740 | 0 | 2308 | 2468 | 93.5% |
| ov_SC03_114 | 2294 | 1738 | 0 | 2296 | 2415 | 95.1% |
| ov_SC03_115 | 2311 | 1738 | 0 | 2313 | 2472 | 93.6% |
| ov_SC03_116 | 2302 | 1738 | 0 | 2305 | 2438 | 94.5% |
| ov_SC03_117 | 2329 | 1738 | 0 | 2335 | 2557 | 91.3% |
| ov_SC03_118 | 2375 | 1762 | 0 | 2376 | 2685 | 88.5% |
| ov_SC03_119 | 2374 | 1762 | 0 | 2375 | 2685 | 88.5% |
| ov_SC03_121 | 2309 | 1738 | 0 | 2312 | 2459 | 94.0% |
| ov_SC03_124 | 2387 | 1734 | 0 | 2407 | 2741 | 87.8% |
| ov_SC03_125 | 2343 | 1738 | 0 | 2355 | 2588 | 91.0% |
| ov_SC03_126 | 2306 | 1740 | 0 | 2306 | 2423 | 95.2% |
| ov_SC04_000 | 2322 | 1742 | 0 | 2331 | 2546 | 91.6% |
| ov_SC04_002 | 2341 | 1738 | 0 | 2345 | 2636 | 89.0% |
| ov_SC04_003 | 2317 | 1738 | 0 | 2321 | 2502 | 92.8% |
| ov_SC04_004 | 2326 | 1738 | 0 | 2328 | 2558 | 91.0% |
| ov_SC04_005 | 2336 | 1738 | 0 | 2342 | 2612 | 89.7% |
| ov_SC04_006 | 2306 | 1738 | 0 | 2308 | 2454 | 94.1% |
| ov_SC04_007 | 2330 | 1738 | 0 | 2334 | 2569 | 90.9% |
| ov_SC04_008 | 2298 | 1738 | 0 | 2298 | 2415 | 95.2% |
| ov_SC04_009 | 2313 | 1738 | 0 | 2316 | 2441 | 94.9% |
| ov_SC04_010 | 2303 | 1738 | 0 | 2304 | 2419 | 95.2% |
| ov_SC04_011 | 2361 | 1738 | 0 | 2367 | 2803 | 84.4% |
| ov_SC04_012 | 2300 | 1738 | 0 | 2301 | 2420 | 95.1% |
| ov_SC04_015 | 2365 | 1739 | 0 | 2376 | 2611 | 91.0% |
| ov_SC04_016 | 2303 | 1738 | 0 | 2305 | 2440 | 94.5% |
| ov_SC04_018 | 2413 | 1773 | 0 | 2413 | 2857 | 84.5% |
| ov_SC04_019 | 2419 | 1773 | 0 | 2419 | 2857 | 84.7% |
| ov_SC04_020 | 2330 | 1738 | 0 | 2342 | 2567 | 91.2% |
| ov_SC04_021 | 2307 | 1740 | 0 | 2307 | 2423 | 95.2% |
| ov_SC05_000 | 2304 | 1742 | 0 | 2307 | 2422 | 95.3% |
| ov_SC05_001 | 2326 | 1738 | 0 | 2331 | 2574 | 90.6% |
| ov_SC05_002 | 2309 | 1738 | 0 | 2312 | 2442 | 94.7% |
| ov_SC05_003 | 2306 | 1738 | 0 | 2307 | 2481 | 93.0% |
| ov_SC05_004 | 2302 | 1738 | 0 | 2304 | 2464 | 93.5% |
| ov_SC05_005 | 2307 | 1738 | 0 | 2308 | 2491 | 92.7% |
| ov_SC05_006 | 2300 | 1738 | 0 | 2300 | 2430 | 94.7% |
| ov_SC05_007 | 2310 | 1738 | 0 | 2315 | 2482 | 93.3% |
| ov_SC05_008 | 2327 | 1738 | 0 | 2329 | 2543 | 91.6% |
| ov_SC05_009 | 2306 | 1738 | 0 | 2310 | 2438 | 94.7% |
| ov_SC05_010 | 2333 | 1738 | 0 | 2337 | 2588 | 90.3% |
| ov_SC05_011 | 2302 | 1738 | 0 | 2303 | 2409 | 95.6% |
| ov_SC05_017 | 2409 | 1735 | 0 | 2420 | 2842 | 85.2% |
| ov_SC05_018 | 2357 | 1738 | 0 | 2370 | 2673 | 88.7% |
| ov_SC05_019 | 2307 | 1740 | 0 | 2307 | 2423 | 95.2% |
| ov_SC06_000 | 2371 | 1747 | 0 | 2374 | 2691 | 88.2% |
| ov_SC06_006 | 2323 | 1738 | 0 | 2324 | 2511 | 92.6% |
| ov_SC06_008 | 2343 | 1740 | 0 | 2349 | 2542 | 92.4% |
| ov_SC06_010 | 2323 | 1738 | 0 | 2328 | 2517 | 92.5% |
| ov_SC06_011 | 2311 | 1738 | 0 | 2315 | 2468 | 93.8% |
| ov_SC06_013 | 2305 | 1738 | 0 | 2306 | 2425 | 95.1% |
| ov_SC06_014 | 2311 | 1738 | 0 | 2313 | 2453 | 94.3% |
| ov_SC06_015 | 2308 | 1738 | 0 | 2308 | 2421 | 95.3% |
| ov_SC06_016 | 2326 | 1738 | 0 | 2328 | 2549 | 91.3% |
| ov_SC06_018 | 2335 | 1740 | 0 | 2342 | 2665 | 87.9% |
| ov_SC06_020 | 2315 | 1740 | 0 | 2316 | 2518 | 92.0% |
| ov_SC06_022 | 2334 | 1738 | 0 | 2342 | 2642 | 88.6% |
| ov_SC06_024 | 2344 | 1738 | 0 | 2350 | 2667 | 88.1% |
| ov_SC06_025 | 2328 | 1738 | 0 | 2333 | 2572 | 90.7% |
| ov_SC06_027 | 2293 | 1738 | 0 | 2294 | 2408 | 95.3% |
| ov_SC06_029 | 2354 | 1738 | 0 | 2366 | 2662 | 88.9% |
| ov_SC06_030 | 2307 | 1738 | 0 | 2307 | 2456 | 93.9% |
| ov_SC06_032 | 2329 | 1739 | 0 | 2336 | 2658 | 87.9% |
| ov_SC06_033 | 2331 | 1739 | 0 | 2338 | 2631 | 88.9% |
| ov_SC07_000 | 2322 | 1742 | 0 | 2324 | 2521 | 92.2% |
| ov_SC07_001 | 2306 | 1738 | 0 | 2308 | 2454 | 94.1% |
| ov_SC07_002 | 2334 | 1738 | 0 | 2338 | 2579 | 90.7% |
| ov_SC07_006 | 2094 | 1555 | 0 | 2174 | 2456 | 88.5% |
| ov_SC07_007 | 2098 | 1586 | 0 | 2182 | 2613 | 83.5% |
| ov_SC07_008 | 2291 | 1738 | 0 | 2291 | 2386 | 96.0% |
| ov_SC07_009 | 2300 | 1738 | 0 | 2302 | 2430 | 94.7% |
| ov_SC07_010 | 2130 | 1608 | 0 | 2213 | 2524 | 87.7% |
| ov_SC07_011 | 2097 | 1585 | 0 | 2177 | 2449 | 88.9% |