Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 85afa0dc81 feat(phase-19): T2 recovery tooling — canon_resident_calls + no-proto caller fix (3 matches)
- R14 finding: the 3 Phase-18 "implicit-int / propagate-first" near-misses are NOT
  implicit-int (reproduced each through the byte-gate). Real classes:
  (a) resident-callee LINK-miss: draft calls func_<ADDR> but the addr has a curated
      name (0x8004CFEC = ratan2) -> "undefined reference to func_8004CFEC". NEW
      tools/canon_resident_calls.py rewrites func_<ADDR> -> curated name (pure draft
      text, body bytes unchanged) -> run FIRST in the recovery pipeline.
  (b) shared-caller ARITY conflict: an engine_core.h caller macro declares the callee
      file-scope `extern void func_X(void)` then calls func_X(); the real def takes an
      arg -> "conflicting types". FIX = caller extern -> no-proto `extern void func_X();`
      (byte-neutral for the caller; compatible with promotion-safe params int/long/ptr).
- 3 matches banked in ov_SC01_077: func_8017209C (ratan2 rewrite), func_80147514 (s32),
  func_80168F40 (void*); 2 no-proto lines in src/shared/engine_core.h
- recovery pipeline: draft -> canon_resident_calls -> sig_unify -> harvest_verify --chunk 1
- make check-all 136/136 BYTE-IDENTICAL (full extract, R22); dedup 1450 validated/0 failed;
  0 NON_MATCHING in any default build (G4); fleet 56.64% (the 3 are ov_SC01_077-local,
  x134 propagation rides T3/Phase-20)
- cookbook §17a-3 corrected (R14/R16); SETUP tool inventory (R21); CURRENT_PHASE T2 done
2026-06-20 17:12:00 -06:00

8.2 KiB

BFM FLEET matching progress (generated by tools/progress.py --fleet — authoritative)

136 binaries: main + resident + 134 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.

FLEET REAL substantive : 193201 (of which dedup-shared 192702 via 1450 groups / 192746 instances) FLEET LINKED PsyQ objs : 959 FLEET byte-identical : 194848 / 344010 = 56.64% (REAL+LINKED+empties) FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 149155 FLEET matchable : 344010

binary REAL shared LINKED byte-ident matchable byte-ident %
main 54 2 959 1055 2096 50.3%
resident 123 0 0 125 146 85.6%
ov_SC01_000 1442 1442 0 1442 2403 60.0%
ov_SC01_001 1442 1442 0 1444 2467 58.5%
ov_SC01_004 1434 1434 0 1435 2416 59.4%
ov_SC01_005 1441 1441 0 1448 2504 57.8%
ov_SC01_006 1441 1441 0 1448 2504 57.8%
ov_SC01_008 1434 1434 0 1436 2428 59.1%
ov_SC01_009 1434 1434 0 1435 2510 57.2%
ov_SC01_074 1434 1434 0 1436 2427 59.2%
ov_SC01_077 1726 1402 0 1728 2586 66.8%
ov_SC01_080 1438 1438 0 1438 2515 57.2%
ov_SC01_084 1438 1438 0 1443 2581 55.9%
ov_SC02_000 1442 1442 0 1449 2684 54.0%
ov_SC02_003 1442 1442 0 1449 2684 54.0%
ov_SC02_004 1438 1438 0 1438 2403 59.8%
ov_SC02_005 1434 1434 0 1444 2930 49.3%
ov_SC02_011 1440 1440 0 1452 2896 50.1%
ov_SC02_015 1440 1440 0 1440 2416 59.6%
ov_SC02_016 1440 1440 0 1443 2548 56.6%
ov_SC02_017 1440 1440 0 1448 2735 52.9%
ov_SC02_021 1440 1440 0 1440 2439 59.0%
ov_SC02_026 1438 1438 0 1444 2575 56.1%
ov_SC02_027 1438 1438 0 1447 2695 53.7%
ov_SC02_028 1438 1438 0 1448 2704 53.6%
ov_SC02_031 1438 1438 0 1444 2565 56.3%
ov_SC02_035 1438 1438 0 1441 2523 57.1%
ov_SC02_039 1438 1438 0 1438 2418 59.5%
ov_SC02_041 1438 1438 0 1441 2563 56.2%
ov_SC03_001 1438 1438 0 1456 2870 50.7%
ov_SC03_002 1442 1442 0 1458 2632 55.4%
ov_SC03_003 1438 1438 0 1439 2425 59.3%
ov_SC03_006 1444 1444 0 1453 2768 52.5%
ov_SC03_007 1438 1438 0 1442 2626 54.9%
ov_SC03_010 1438 1438 0 1438 2472 58.2%
ov_SC03_011 1438 1438 0 1444 2530 57.1%
ov_SC03_012 1438 1438 0 1439 2408 59.8%
ov_SC03_013 1438 1438 0 1438 2495 57.6%
ov_SC03_014 1438 1438 0 1448 2688 53.9%
ov_SC03_015 1438 1438 0 1448 2688 53.9%
ov_SC03_023 1438 1438 0 1439 2437 59.0%
ov_SC03_024 1438 1438 0 1450 2644 54.8%
ov_SC03_028 1438 1438 0 1442 2667 54.1%
ov_SC03_029 1440 1440 0 1450 2647 54.8%
ov_SC03_030 1442 1442 0 1444 2498 57.8%
ov_SC03_031 1438 1438 0 1442 2517 57.3%
ov_SC03_089 1438 1438 0 1445 2584 55.9%
ov_SC03_090 1438 1438 0 1446 2628 55.0%
ov_SC03_091 1438 1438 0 1446 2643 54.7%
ov_SC03_092 1438 1438 0 1450 2590 56.0%
ov_SC03_093 1438 1438 0 1442 2566 56.2%
ov_SC03_094 1438 1438 0 1444 2579 56.0%
ov_SC03_095 1438 1438 0 1441 2477 58.2%
ov_SC03_096 1438 1438 0 1441 2468 58.4%
ov_SC03_097 1438 1438 0 1445 2606 55.4%
ov_SC03_098 1438 1438 0 1441 2544 56.6%
ov_SC03_099 1438 1438 0 1441 2507 57.5%
ov_SC03_100 1438 1438 0 1442 2542 56.7%
ov_SC03_101 1438 1438 0 1442 2531 57.0%
ov_SC03_102 1438 1438 0 1441 2495 57.8%
ov_SC03_103 1440 1440 0 1443 2513 57.4%
ov_SC03_104 1438 1438 0 1445 2619 55.2%
ov_SC03_105 1438 1438 0 1445 2600 55.6%
ov_SC03_108 1438 1438 0 1438 2446 58.8%
ov_SC03_109 1438 1438 0 1440 2426 59.4%
ov_SC03_110 1438 1438 0 1438 2471 58.2%
ov_SC03_111 1438 1438 0 1441 2513 57.3%
ov_SC03_112 1440 1440 0 1442 2529 57.0%
ov_SC03_113 1440 1440 0 1443 2471 58.4%
ov_SC03_114 1438 1438 0 1440 2417 59.6%
ov_SC03_115 1438 1438 0 1440 2475 58.2%
ov_SC03_116 1438 1438 0 1441 2441 59.0%
ov_SC03_117 1438 1438 0 1444 2560 56.4%
ov_SC03_118 1438 1438 0 1451 2688 54.0%
ov_SC03_119 1438 1438 0 1451 2688 54.0%
ov_SC03_121 1438 1438 0 1441 2462 58.5%
ov_SC03_124 1434 1434 0 1454 2744 53.0%
ov_SC03_125 1438 1438 0 1450 2591 56.0%
ov_SC03_126 1438 1438 0 1439 2425 59.3%
ov_SC04_000 1442 1442 0 1451 2547 57.0%
ov_SC04_002 1438 1438 0 1442 2639 54.6%
ov_SC04_003 1438 1438 0 1442 2505 57.6%
ov_SC04_004 1438 1438 0 1440 2561 56.2%
ov_SC04_005 1438 1438 0 1444 2615 55.2%
ov_SC04_006 1438 1438 0 1440 2456 58.6%
ov_SC04_007 1438 1438 0 1442 2572 56.1%
ov_SC04_008 1438 1438 0 1438 2417 59.5%
ov_SC04_009 1438 1438 0 1441 2443 59.0%
ov_SC04_010 1438 1438 0 1439 2421 59.4%
ov_SC04_011 1438 1438 0 1444 2806 51.5%
ov_SC04_012 1438 1438 0 1439 2422 59.4%
ov_SC04_015 1438 1438 0 1450 2614 55.5%
ov_SC04_016 1438 1438 0 1440 2442 59.0%
ov_SC04_018 1438 1438 0 1451 2858 50.8%
ov_SC04_019 1438 1438 0 1451 2858 50.8%
ov_SC04_020 1438 1438 0 1450 2570 56.4%
ov_SC04_021 1438 1438 0 1439 2425 59.3%
ov_SC05_000 1442 1442 0 1445 2422 59.7%
ov_SC05_001 1438 1438 0 1443 2577 56.0%
ov_SC05_002 1438 1438 0 1441 2445 58.9%
ov_SC05_003 1438 1438 0 1439 2484 57.9%
ov_SC05_004 1438 1438 0 1440 2467 58.4%
ov_SC05_005 1438 1438 0 1439 2494 57.7%
ov_SC05_006 1438 1438 0 1438 2432 59.1%
ov_SC05_007 1438 1438 0 1443 2485 58.1%
ov_SC05_008 1438 1438 0 1440 2546 56.6%
ov_SC05_009 1438 1438 0 1442 2440 59.1%
ov_SC05_010 1438 1438 0 1442 2591 55.7%
ov_SC05_011 1438 1438 0 1439 2411 59.7%
ov_SC05_017 1434 1434 0 1446 2845 50.8%
ov_SC05_018 1438 1438 0 1451 2676 54.2%
ov_SC05_019 1438 1438 0 1439 2425 59.3%
ov_SC06_000 1442 1442 0 1450 2692 53.9%
ov_SC06_006 1438 1438 0 1439 2514 57.2%
ov_SC06_008 1440 1440 0 1446 2544 56.8%
ov_SC06_010 1438 1438 0 1443 2520 57.3%
ov_SC06_011 1438 1438 0 1442 2471 58.4%
ov_SC06_013 1438 1438 0 1439 2427 59.3%
ov_SC06_014 1438 1438 0 1440 2455 58.7%
ov_SC06_015 1438 1438 0 1438 2423 59.3%
ov_SC06_016 1438 1438 0 1440 2552 56.4%
ov_SC06_018 1438 1438 0 1446 2668 54.2%
ov_SC06_020 1438 1438 0 1439 2521 57.1%
ov_SC06_022 1438 1438 0 1446 2645 54.7%
ov_SC06_024 1438 1438 0 1444 2670 54.1%
ov_SC06_025 1438 1438 0 1443 2575 56.0%
ov_SC06_027 1438 1438 0 1439 2410 59.7%
ov_SC06_029 1438 1438 0 1450 2665 54.4%
ov_SC06_030 1438 1438 0 1438 2459 58.5%
ov_SC06_032 1438 1438 0 1445 2661 54.3%
ov_SC06_033 1438 1438 0 1445 2634 54.9%
ov_SC07_000 1442 1442 0 1444 2522 57.3%
ov_SC07_001 1438 1438 0 1440 2457 58.6%
ov_SC07_002 1438 1438 0 1442 2582 55.8%
ov_SC07_008 1438 1438 0 1438 2388 60.2%
ov_SC07_009 1438 1438 0 1440 2432 59.2%