The metrics contract (roadmap §1) wants all three metrics WITH main in the denominators, and the
second, independent boundary oracle (R34) extended beyond the overlays. Both had landmines.
10a — main into the weighted metric, safely:
- weighted_metrics off the func_-only src_stubs regex onto corpus.stubs (R33). THE LANDMINE IS
REAL: src_stubs("SLUS_007.26") globs src/SLUS_007.26/*.c -> 0 files -> every row "matched" ->
main 100% + fleet % silently inflates. Routing through corpus.stubs is a PROVEN 0.000pp no-op on
the existing fleet (overlays are all func_) and closes the curated-name leak.
- a SEPARATE "MAIN game-code weighted" line (0.7%): main's Ghidra sig excludes the LINKED PsyQ
objects (Ghidra never analysed them), which is exactly right for a game-code metric (LINKED is
complete, counted in fn-count). Reported un-folded and caveated (month-stale sig, PROVISIONAL) —
folding a stale/incomplete value into the decomp.dev headline would mislead the flip checkpoint.
10b — the resident second oracle:
- make sig-resident: sig_image on the resident flat blob (byte-derived, not Ghidra). corpus.
sig_is_independent now covers resident -> audit-corpus checks its boundaries too. Probed clean
BEFORE wiring (144 fns, all 21 stubs present, 0 phantom), verified 0 phantom + 0 truncated.
- sig-overlays now derives its payload list from config/overlays.mk, not a 0.4.dec glob that
silently dropped the 4 SC07 index-1 overlays (the audit's own silent-skip class). tools-health
regenerates sig-overlays + sig-resident first so the audit never crashes on an absent sig.
10c — main's second oracle: docs/second-oracle.md. sig_image can't sign the PS-X EXE yet (0x800
header offset, interleaved data/linked islands, one text range); seeding from splat would destroy
independence for the PHANTOM class specifically. Honest deferral + scoped design, not a fake oracle.
- docs/progress.fleet.md regenerated: 140 binaries · fn-count 82.16% · instr-weighted 67.0%
(the honest post-T7 drop from 68.9%) · distinct 47.8% · MAIN game-code 0.7% (separate).
- SETUP §6.3 updated (R21).
8.9 KiB
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: 290626 / 353723 = 82.16% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 8760262 / 13081451 = 67.0% (shipped .text across resident+138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 2663138 / 5574674 = 47.8% (53427/87459 unique fns; the DISTINCT-RE number) MAIN game-code weighted : 436 / 60201 = 0.7% (Phase-27 T10; SEPARATE — LINKED-excluding Ghidra sig dated 2026-06-14, PROVISIONAL until a fresh/complete main sig; NOT folded into the fleet number)
FLEET REAL substantive : 288771 (of which dedup-shared 227167 via 1840 groups / 227211 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 63090 FLEET matchable : 353723
| 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 | 2123 | 1698 | 0 | 2123 | 2403 | 88.3% |
| ov_SC01_001 | 2127 | 1698 | 0 | 2129 | 2466 | 86.3% |
| ov_SC01_004 | 2119 | 1689 | 0 | 2120 | 2414 | 87.8% |
| ov_SC01_005 | 2149 | 1711 | 0 | 2149 | 2503 | 85.9% |
| ov_SC01_006 | 2149 | 1711 | 0 | 2149 | 2503 | 85.9% |
| ov_SC01_008 | 2119 | 1689 | 0 | 2121 | 2426 | 87.4% |
| ov_SC01_009 | 2143 | 1690 | 0 | 2144 | 2507 | 85.5% |
| ov_SC01_074 | 2123 | 1690 | 0 | 2125 | 2425 | 87.6% |
| ov_SC01_077 | 2360 | 1658 | 0 | 2362 | 2585 | 91.4% |
| ov_SC01_080 | 2160 | 1693 | 0 | 2160 | 2512 | 86.0% |
| ov_SC01_084 | 2168 | 1693 | 0 | 2173 | 2579 | 84.3% |
| ov_SC02_000 | 2215 | 1728 | 0 | 2215 | 2683 | 82.6% |
| ov_SC02_003 | 2215 | 1728 | 0 | 2215 | 2683 | 82.6% |
| ov_SC02_004 | 2128 | 1693 | 0 | 2128 | 2401 | 88.6% |
| ov_SC02_005 | 2235 | 1689 | 0 | 2245 | 2927 | 76.7% |
| ov_SC02_011 | 2242 | 1696 | 0 | 2253 | 2893 | 77.9% |
| ov_SC02_015 | 2130 | 1695 | 0 | 2130 | 2414 | 88.2% |
| ov_SC02_016 | 2158 | 1695 | 0 | 2161 | 2545 | 84.9% |
| ov_SC02_017 | 2202 | 1695 | 0 | 2210 | 2732 | 80.9% |
| ov_SC02_021 | 2135 | 1695 | 0 | 2135 | 2437 | 87.6% |
| ov_SC02_026 | 2148 | 1693 | 0 | 2154 | 2572 | 83.7% |
| ov_SC02_027 | 2172 | 1693 | 0 | 2181 | 2692 | 81.0% |
| ov_SC02_028 | 2173 | 1693 | 0 | 2183 | 2701 | 80.8% |
| ov_SC02_031 | 2161 | 1694 | 0 | 2166 | 2562 | 84.5% |
| ov_SC02_035 | 2135 | 1693 | 0 | 2138 | 2520 | 84.8% |
| ov_SC02_039 | 2121 | 1693 | 0 | 2121 | 2416 | 87.8% |
| ov_SC02_041 | 2155 | 1693 | 0 | 2158 | 2561 | 84.3% |
| ov_SC03_001 | 2255 | 1694 | 0 | 2272 | 2869 | 79.2% |
| ov_SC03_002 | 2182 | 1698 | 0 | 2197 | 2631 | 83.5% |
| ov_SC03_003 | 2131 | 1693 | 0 | 2132 | 2423 | 88.0% |
| ov_SC03_006 | 2194 | 1699 | 0 | 2203 | 2767 | 79.6% |
| ov_SC03_007 | 2175 | 1693 | 0 | 2179 | 2623 | 83.1% |
| ov_SC03_010 | 2138 | 1693 | 0 | 2138 | 2470 | 86.6% |
| ov_SC03_011 | 2145 | 1693 | 0 | 2151 | 2527 | 85.1% |
| ov_SC03_012 | 2123 | 1693 | 0 | 2124 | 2406 | 88.3% |
| ov_SC03_013 | 2143 | 1693 | 0 | 2143 | 2492 | 86.0% |
| ov_SC03_014 | 2198 | 1718 | 0 | 2198 | 2685 | 81.9% |
| ov_SC03_015 | 2199 | 1718 | 0 | 2199 | 2685 | 81.9% |
| ov_SC03_023 | 2129 | 1693 | 0 | 2130 | 2435 | 87.5% |
| ov_SC03_024 | 2186 | 1698 | 0 | 2193 | 2641 | 83.0% |
| ov_SC03_028 | 2169 | 1693 | 0 | 2173 | 2664 | 81.6% |
| ov_SC03_029 | 2169 | 1695 | 0 | 2179 | 2644 | 82.4% |
| ov_SC03_030 | 2144 | 1698 | 0 | 2146 | 2495 | 86.0% |
| ov_SC03_031 | 2140 | 1693 | 0 | 2143 | 2514 | 85.2% |
| ov_SC03_089 | 2154 | 1693 | 0 | 2161 | 2581 | 83.7% |
| ov_SC03_090 | 2156 | 1693 | 0 | 2164 | 2625 | 82.4% |
| ov_SC03_091 | 2159 | 1693 | 0 | 2167 | 2640 | 82.1% |
| ov_SC03_092 | 2171 | 1693 | 0 | 2183 | 2587 | 84.4% |
| ov_SC03_093 | 2146 | 1693 | 0 | 2150 | 2563 | 83.9% |
| ov_SC03_094 | 2140 | 1693 | 0 | 2146 | 2577 | 83.3% |
| ov_SC03_095 | 2131 | 1693 | 0 | 2134 | 2474 | 86.3% |
| ov_SC03_096 | 2131 | 1693 | 0 | 2134 | 2465 | 86.6% |
| ov_SC03_097 | 2159 | 1693 | 0 | 2166 | 2603 | 83.2% |
| ov_SC03_098 | 2138 | 1693 | 0 | 2141 | 2541 | 84.3% |
| ov_SC03_099 | 2132 | 1693 | 0 | 2135 | 2504 | 85.3% |
| ov_SC03_100 | 2141 | 1693 | 0 | 2145 | 2539 | 84.5% |
| ov_SC03_101 | 2142 | 1693 | 0 | 2146 | 2528 | 84.9% |
| ov_SC03_102 | 2134 | 1693 | 0 | 2137 | 2492 | 85.8% |
| ov_SC03_103 | 2137 | 1695 | 0 | 2140 | 2510 | 85.3% |
| ov_SC03_104 | 2162 | 1693 | 0 | 2169 | 2616 | 82.9% |
| ov_SC03_105 | 2156 | 1693 | 0 | 2163 | 2597 | 83.3% |
| ov_SC03_108 | 2125 | 1693 | 0 | 2125 | 2443 | 87.0% |
| ov_SC03_109 | 2126 | 1693 | 0 | 2128 | 2424 | 87.8% |
| ov_SC03_110 | 2131 | 1693 | 0 | 2131 | 2468 | 86.3% |
| ov_SC03_111 | 2141 | 1693 | 0 | 2144 | 2510 | 85.4% |
| ov_SC03_112 | 2136 | 1695 | 0 | 2138 | 2526 | 84.6% |
| ov_SC03_113 | 2129 | 1695 | 0 | 2132 | 2468 | 86.4% |
| ov_SC03_114 | 2119 | 1693 | 0 | 2121 | 2415 | 87.8% |
| ov_SC03_115 | 2136 | 1693 | 0 | 2138 | 2472 | 86.5% |
| ov_SC03_116 | 2127 | 1693 | 0 | 2130 | 2438 | 87.4% |
| ov_SC03_117 | 2152 | 1693 | 0 | 2158 | 2557 | 84.4% |
| ov_SC03_118 | 2200 | 1717 | 0 | 2201 | 2685 | 82.0% |
| ov_SC03_119 | 2197 | 1717 | 0 | 2198 | 2685 | 81.9% |
| ov_SC03_121 | 2132 | 1693 | 0 | 2135 | 2459 | 86.8% |
| ov_SC03_124 | 2212 | 1689 | 0 | 2232 | 2741 | 81.4% |
| ov_SC03_125 | 2169 | 1693 | 0 | 2181 | 2588 | 84.3% |
| ov_SC03_126 | 2131 | 1695 | 0 | 2131 | 2423 | 87.9% |
| ov_SC04_000 | 2148 | 1697 | 0 | 2157 | 2546 | 84.7% |
| ov_SC04_002 | 2163 | 1693 | 0 | 2167 | 2636 | 82.2% |
| ov_SC04_003 | 2141 | 1693 | 0 | 2145 | 2502 | 85.7% |
| ov_SC04_004 | 2151 | 1693 | 0 | 2153 | 2558 | 84.2% |
| ov_SC04_005 | 2158 | 1693 | 0 | 2164 | 2612 | 82.8% |
| ov_SC04_006 | 2131 | 1693 | 0 | 2133 | 2454 | 86.9% |
| ov_SC04_007 | 2151 | 1693 | 0 | 2155 | 2569 | 83.9% |
| ov_SC04_008 | 2122 | 1693 | 0 | 2122 | 2415 | 87.9% |
| ov_SC04_009 | 2137 | 1693 | 0 | 2140 | 2441 | 87.7% |
| ov_SC04_010 | 2128 | 1693 | 0 | 2129 | 2419 | 88.0% |
| ov_SC04_011 | 2185 | 1693 | 0 | 2191 | 2803 | 78.2% |
| ov_SC04_012 | 2126 | 1693 | 0 | 2127 | 2420 | 87.9% |
| ov_SC04_015 | 2188 | 1694 | 0 | 2199 | 2611 | 84.2% |
| ov_SC04_016 | 2128 | 1693 | 0 | 2130 | 2440 | 87.3% |
| ov_SC04_018 | 2239 | 1728 | 0 | 2239 | 2857 | 78.4% |
| ov_SC04_019 | 2244 | 1728 | 0 | 2244 | 2857 | 78.5% |
| ov_SC04_020 | 2156 | 1693 | 0 | 2168 | 2567 | 84.5% |
| ov_SC04_021 | 2132 | 1695 | 0 | 2132 | 2423 | 88.0% |
| ov_SC05_000 | 2129 | 1697 | 0 | 2132 | 2422 | 88.0% |
| ov_SC05_001 | 2152 | 1693 | 0 | 2157 | 2574 | 83.8% |
| ov_SC05_002 | 2133 | 1693 | 0 | 2136 | 2442 | 87.5% |
| ov_SC05_003 | 2130 | 1693 | 0 | 2131 | 2481 | 85.9% |
| ov_SC05_004 | 2126 | 1693 | 0 | 2128 | 2464 | 86.4% |
| ov_SC05_005 | 2133 | 1693 | 0 | 2134 | 2491 | 85.7% |
| ov_SC05_006 | 2125 | 1693 | 0 | 2125 | 2430 | 87.4% |
| ov_SC05_007 | 2135 | 1693 | 0 | 2140 | 2482 | 86.2% |
| ov_SC05_008 | 2153 | 1693 | 0 | 2155 | 2543 | 84.7% |
| ov_SC05_009 | 2130 | 1693 | 0 | 2134 | 2438 | 87.5% |
| ov_SC05_010 | 2155 | 1693 | 0 | 2159 | 2588 | 83.4% |
| ov_SC05_011 | 2128 | 1693 | 0 | 2129 | 2409 | 88.4% |
| ov_SC05_017 | 2235 | 1690 | 0 | 2246 | 2842 | 79.0% |
| ov_SC05_018 | 2182 | 1693 | 0 | 2195 | 2673 | 82.1% |
| ov_SC05_019 | 2132 | 1695 | 0 | 2132 | 2423 | 88.0% |
| ov_SC06_000 | 2193 | 1702 | 0 | 2196 | 2691 | 81.6% |
| ov_SC06_006 | 2148 | 1693 | 0 | 2149 | 2511 | 85.6% |
| ov_SC06_008 | 2156 | 1695 | 0 | 2162 | 2542 | 85.1% |
| ov_SC06_010 | 2141 | 1693 | 0 | 2146 | 2517 | 85.3% |
| ov_SC06_011 | 2135 | 1693 | 0 | 2139 | 2468 | 86.7% |
| ov_SC06_013 | 2129 | 1693 | 0 | 2130 | 2425 | 87.8% |
| ov_SC06_014 | 2134 | 1693 | 0 | 2136 | 2453 | 87.1% |
| ov_SC06_015 | 2131 | 1693 | 0 | 2131 | 2421 | 88.0% |
| ov_SC06_016 | 2150 | 1693 | 0 | 2152 | 2549 | 84.4% |
| ov_SC06_018 | 2145 | 1696 | 0 | 2152 | 2665 | 80.8% |
| ov_SC06_020 | 2138 | 1695 | 0 | 2139 | 2518 | 84.9% |
| ov_SC06_022 | 2151 | 1693 | 0 | 2159 | 2642 | 81.7% |
| ov_SC06_024 | 2158 | 1693 | 0 | 2164 | 2667 | 81.1% |
| ov_SC06_025 | 2150 | 1693 | 0 | 2155 | 2572 | 83.8% |
| ov_SC06_027 | 2119 | 1693 | 0 | 2120 | 2408 | 88.0% |
| ov_SC06_029 | 2175 | 1693 | 0 | 2187 | 2662 | 82.2% |
| ov_SC06_030 | 2131 | 1693 | 0 | 2131 | 2456 | 86.8% |
| ov_SC06_032 | 2142 | 1694 | 0 | 2149 | 2658 | 80.9% |
| ov_SC06_033 | 2145 | 1694 | 0 | 2152 | 2631 | 81.8% |
| ov_SC07_000 | 2146 | 1697 | 0 | 2148 | 2521 | 85.2% |
| ov_SC07_001 | 2132 | 1693 | 0 | 2134 | 2454 | 87.0% |
| ov_SC07_002 | 2159 | 1693 | 0 | 2163 | 2579 | 83.9% |
| ov_SC07_006 | 0 | 0 | 0 | 80 | 2456 | 3.3% |
| ov_SC07_007 | 0 | 0 | 0 | 84 | 2614 | 3.2% |
| ov_SC07_008 | 2116 | 1693 | 0 | 2116 | 2386 | 88.7% |
| ov_SC07_009 | 2127 | 1693 | 0 | 2129 | 2430 | 87.6% |
| ov_SC07_010 | 0 | 0 | 0 | 83 | 2526 | 3.3% |
| ov_SC07_011 | 0 | 0 | 0 | 80 | 2450 | 3.3% |