Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 427baba3bf feat(phase-27 T10): completion dashboard (main in the weighted metric) + the resident second oracle
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).
2026-07-15 18:51:43 -06:00

160 lines
8.9 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: 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% |