Files
BFM-decomp/docs/progress.fleet.md
T
Drew T fda9eebb42 fix(phase-28 T4): wire all 4 SC07 overlays (6174/6457, 95.6%) + REPAIR the registry I destroyed
Completes T4 and corrects two defects I introduced, both landed in commit:0649.

- WIRED: 006 1543/1614 · 007 1544/1615 · 010 1544/1614 · 011 1543/1614 = 6174/6457 = 95.6%,
  ~0 agent tokens. Stubs/overlay ~2400 -> 831/984/898/825. Fleet instr 67.0 -> 68.9%,
  fn-count 82.16 -> 83.94%. dedup-check 1840 validated / 0 failed; groups now read
  "138 members [138 binaries]" (was 134); C1 coverage 227211 -> 233385 = exactly +6174.
  R22 make clean && extract-all && check-all -> 140 passed, 0 failed of 140 at every stage.

- FIX #1 — I DESTROYED THE REGISTRY'S DOCUMENTATION, AND EVERY GATE CALLED IT GREEN (H5).
  The first cut wrote config/dedup.us.yaml with yaml.safe_dump, round-tripping the whole file:
  47 comment lines -> 0 (including the curated Phase-11 header explaining WHY the share is
  source-level) and 1832 `vram: 0x80162FF4` -> `vram: 2148937716` (PyYAML parses YAML-1.1 hex to
  int; dumps int as decimal). 25,948 lines rewritten. It passed dedup-check 1840/0 AND check-all
  140/140 because _addr() accepts both forms: THE DATA WAS CORRECT AND THE DOCUMENT WAS RUINED.
  Fixed forward (R6, no history rewrite): restored from commit:0649~1 and re-applied the 6174
  memberships via a surgical text edit (add_members_surgical). Verified: 1545 insertions / 1545
  deletions, 0 non-`binaries:` lines changed, 47 comments + 1908 hex fields intact, and the
  rebuilt fleet is byte-identical to the destructive version (140/140).
  THE LESSON: every oracle this project owns measures BYTES, so a formatting-destructive write is
  invisible to all of them by construction. R34 says the byte-gate is a null COVERAGE oracle; this
  is the same hole one layer out — it is a null DOCUMENT oracle too.

- FIX #2 — I MIS-REPORTED THE DIFFs, TWICE (R14).
  (a) commit:0649 claims ov_SC07_006's 71 non-banks were "ALL PLUMBING, ZERO DIFF". FALSE — I read
      head -6 of the classified file and generalized. It has the same 4 DIFFs as the others.
  (b) I then built the jr guard assuming those 4 were the §53 jr class BECAUSE ov_SC01_077 hosts
      them in _jr_8017A4AC.c / _jr_80182268.c. has_mid_jr is FALSE for all four (33-52 ins, no
      jump table): they merely live in a carved jr-REGION split, which sweeps in every function in
      its address range. HOSTING FILE != FUNCTION CLASS.
  The guard is KEPT (preventive, §53-correct, currently skips 0 — no jr fn is in the extendable
  set) with its docstring corrected to record what it is NOT. The 12 DIFFs (0.19%) are UNDIAGNOSED
  and logged, correctly left as stubs by the gate — not dressed in a story.

- The 283 non-banks: 271 PLUMBING (the loose-typing conflict class + the whale, whose body lives
  in src/shared/func_80144B9C.h so no DEFINE macro exists to expand) + 12 DIFF. Existing tools
  cover the plumbing (cast_call_sites / canon_sig_reconcile / reconcile_tu).
2026-07-16 00:10:12 -06:00

9.0 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: 296906 / 353723 = 83.94% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 9017152 / 13081451 = 68.9% (shipped .text across resident+138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 2757078 / 5574674 = 49.5% (53528/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 : 295051 (of which dedup-shared 233341 via 1840 groups / 233385 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 56810 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 2128 1698 0 2130 2466 86.4%
ov_SC01_004 2120 1689 0 2121 2414 87.9%
ov_SC01_005 2150 1711 0 2150 2503 85.9%
ov_SC01_006 2150 1711 0 2150 2503 85.9%
ov_SC01_008 2120 1689 0 2122 2426 87.5%
ov_SC01_009 2144 1690 0 2145 2507 85.6%
ov_SC01_074 2124 1690 0 2126 2425 87.7%
ov_SC01_077 2360 1658 0 2362 2585 91.4%
ov_SC01_080 2160 1693 0 2160 2512 86.0%
ov_SC01_084 2169 1693 0 2174 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 2159 1695 0 2162 2545 85.0%
ov_SC02_017 2203 1695 0 2211 2732 80.9%
ov_SC02_021 2136 1695 0 2136 2437 87.6%
ov_SC02_026 2149 1693 0 2155 2572 83.8%
ov_SC02_027 2173 1693 0 2182 2692 81.1%
ov_SC02_028 2174 1693 0 2184 2701 80.9%
ov_SC02_031 2161 1694 0 2166 2562 84.5%
ov_SC02_035 2136 1693 0 2139 2520 84.9%
ov_SC02_039 2122 1693 0 2122 2416 87.8%
ov_SC02_041 2156 1693 0 2159 2561 84.3%
ov_SC03_001 2255 1694 0 2272 2869 79.2%
ov_SC03_002 2183 1698 0 2198 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 2146 1693 0 2152 2527 85.2%
ov_SC03_012 2123 1693 0 2124 2406 88.3%
ov_SC03_013 2143 1693 0 2143 2492 86.0%
ov_SC03_014 2199 1718 0 2199 2685 81.9%
ov_SC03_015 2200 1718 0 2200 2685 81.9%
ov_SC03_023 2129 1693 0 2130 2435 87.5%
ov_SC03_024 2187 1698 0 2194 2641 83.1%
ov_SC03_028 2169 1693 0 2173 2664 81.6%
ov_SC03_029 2170 1695 0 2180 2644 82.5%
ov_SC03_030 2144 1698 0 2146 2495 86.0%
ov_SC03_031 2141 1693 0 2144 2514 85.3%
ov_SC03_089 2155 1693 0 2162 2581 83.8%
ov_SC03_090 2157 1693 0 2165 2625 82.5%
ov_SC03_091 2160 1693 0 2168 2640 82.1%
ov_SC03_092 2171 1693 0 2183 2587 84.4%
ov_SC03_093 2147 1693 0 2151 2563 83.9%
ov_SC03_094 2141 1693 0 2147 2577 83.3%
ov_SC03_095 2132 1693 0 2135 2474 86.3%
ov_SC03_096 2132 1693 0 2135 2465 86.6%
ov_SC03_097 2160 1693 0 2167 2603 83.3%
ov_SC03_098 2139 1693 0 2142 2541 84.3%
ov_SC03_099 2133 1693 0 2136 2504 85.3%
ov_SC03_100 2142 1693 0 2146 2539 84.5%
ov_SC03_101 2143 1693 0 2147 2528 84.9%
ov_SC03_102 2135 1693 0 2138 2492 85.8%
ov_SC03_103 2138 1695 0 2141 2510 85.3%
ov_SC03_104 2163 1693 0 2170 2616 83.0%
ov_SC03_105 2157 1693 0 2164 2597 83.3%
ov_SC03_108 2126 1693 0 2126 2443 87.0%
ov_SC03_109 2127 1693 0 2129 2424 87.8%
ov_SC03_110 2132 1693 0 2132 2468 86.4%
ov_SC03_111 2142 1693 0 2145 2510 85.5%
ov_SC03_112 2137 1695 0 2139 2526 84.7%
ov_SC03_113 2130 1695 0 2133 2468 86.4%
ov_SC03_114 2120 1693 0 2122 2415 87.9%
ov_SC03_115 2137 1693 0 2139 2472 86.5%
ov_SC03_116 2127 1693 0 2130 2438 87.4%
ov_SC03_117 2153 1693 0 2159 2557 84.4%
ov_SC03_118 2201 1717 0 2202 2685 82.0%
ov_SC03_119 2198 1717 0 2199 2685 81.9%
ov_SC03_121 2133 1693 0 2136 2459 86.9%
ov_SC03_124 2212 1689 0 2232 2741 81.4%
ov_SC03_125 2170 1693 0 2182 2588 84.3%
ov_SC03_126 2132 1695 0 2132 2423 88.0%
ov_SC04_000 2149 1697 0 2158 2546 84.8%
ov_SC04_002 2164 1693 0 2168 2636 82.2%
ov_SC04_003 2142 1693 0 2146 2502 85.8%
ov_SC04_004 2151 1693 0 2153 2558 84.2%
ov_SC04_005 2159 1693 0 2165 2612 82.9%
ov_SC04_006 2132 1693 0 2134 2454 87.0%
ov_SC04_007 2152 1693 0 2156 2569 83.9%
ov_SC04_008 2122 1693 0 2122 2415 87.9%
ov_SC04_009 2138 1693 0 2141 2441 87.7%
ov_SC04_010 2129 1693 0 2130 2419 88.1%
ov_SC04_011 2186 1693 0 2192 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 2129 1693 0 2131 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 2157 1693 0 2169 2567 84.5%
ov_SC04_021 2133 1695 0 2133 2423 88.0%
ov_SC05_000 2130 1697 0 2133 2422 88.1%
ov_SC05_001 2153 1693 0 2158 2574 83.8%
ov_SC05_002 2134 1693 0 2137 2442 87.5%
ov_SC05_003 2131 1693 0 2132 2481 85.9%
ov_SC05_004 2127 1693 0 2129 2464 86.4%
ov_SC05_005 2134 1693 0 2135 2491 85.7%
ov_SC05_006 2126 1693 0 2126 2430 87.5%
ov_SC05_007 2136 1693 0 2141 2482 86.3%
ov_SC05_008 2153 1693 0 2155 2543 84.7%
ov_SC05_009 2131 1693 0 2135 2438 87.6%
ov_SC05_010 2156 1693 0 2160 2588 83.5%
ov_SC05_011 2129 1693 0 2130 2409 88.4%
ov_SC05_017 2235 1690 0 2246 2842 79.0%
ov_SC05_018 2183 1693 0 2196 2673 82.2%
ov_SC05_019 2133 1695 0 2133 2423 88.0%
ov_SC06_000 2193 1702 0 2196 2691 81.6%
ov_SC06_006 2149 1693 0 2150 2511 85.6%
ov_SC06_008 2157 1695 0 2163 2542 85.1%
ov_SC06_010 2141 1693 0 2146 2517 85.3%
ov_SC06_011 2136 1693 0 2140 2468 86.7%
ov_SC06_013 2130 1693 0 2131 2425 87.9%
ov_SC06_014 2135 1693 0 2137 2453 87.1%
ov_SC06_015 2132 1693 0 2132 2421 88.1%
ov_SC06_016 2151 1693 0 2153 2549 84.5%
ov_SC06_018 2146 1696 0 2153 2665 80.8%
ov_SC06_020 2139 1695 0 2140 2518 85.0%
ov_SC06_022 2152 1693 0 2160 2642 81.8%
ov_SC06_024 2159 1693 0 2165 2667 81.2%
ov_SC06_025 2151 1693 0 2156 2572 83.8%
ov_SC06_027 2120 1693 0 2121 2408 88.1%
ov_SC06_029 2175 1693 0 2187 2662 82.2%
ov_SC06_030 2132 1693 0 2132 2456 86.8%
ov_SC06_032 2143 1694 0 2150 2658 80.9%
ov_SC06_033 2146 1694 0 2153 2631 81.8%
ov_SC07_000 2147 1697 0 2149 2521 85.2%
ov_SC07_001 2133 1693 0 2135 2454 87.0%
ov_SC07_002 2160 1693 0 2164 2579 83.9%
ov_SC07_006 1545 1543 0 1625 2456 66.2%
ov_SC07_007 1546 1544 0 1630 2614 62.4%
ov_SC07_008 2117 1693 0 2117 2386 88.7%
ov_SC07_009 2127 1693 0 2129 2430 87.6%
ov_SC07_010 1545 1544 0 1628 2526 64.4%
ov_SC07_011 1545 1543 0 1625 2450 66.3%