Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 5a08180617 feat(phase-26): §8 ×134 automation — func_8012ACE0 banked fleet-wide (133/133, R22 136/136)
- the jr-function ×134 harvest pipeline, proven end-to-end: per family sibling,
  jtbl_carve (per-sibling jtbl-rodata carve, computed from THAT sibling's own jtbl
  address — the fn is at the same vram across overlays but its jtbl floats) -> make
  extract (auto ld_interleave) -> remap_hseq + canon_sig_reconcile -> whole-binary gate
- tools/jtbl_carve.py: per-overlay §8 carve generator (config data-tail split +
  <ov>_JTBL_INTERLEAVE var)
- tools/jtbl_family_bank.py: the sibling sweep driver (idempotent, revert-on-fail, byte-gated)
- tools/family_remap.py: extract_unit now carries single-line typedefs (jr-function bodies
  define local `typedef struct{} Foo_<addr>;` that must template with the body — the
  propagation cap for these; additive, byte-gate-protected)
- func_8012ACE0 family: 133/133 siblings BANKED, 0 failures; R22 clean-fleet 136/136
  byte-identical; 0 NON_MATCHING (G4)
- metrics: distinct-code 39.1% (50,698 unique fns), instr-weighted 63.0%
- opportunity (has_mid_jr families): 237 total (5,805 members) = 46 small mid/tiny
  (771 members, same mechanical pipeline) + 191 substantial (the Fable5 cores, Task 7 paused)
- NEXT: R22 profiling/parallelization; then the other 45 small jr families
2026-07-12 19:02:25 -06:00

8.6 KiB
Raw Blame History

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.

THREE progress metrics (all matter — see the labels):

FLEET fn-count byte-ident: 282925 / 344038 = 82.24% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 7999443 / 12707182 = 63.0% (shipped .text across resident+134 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 2116150 / 5410077 = 39.1% (50698/84996 unique fns; the DISTINCT-RE number; main EXE not sig'd)

FLEET REAL substantive : 281396 (of which dedup-shared 223275 via 1813 groups / 223725 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 61106 FLEET matchable : 344038

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 2072 1669 0 2072 2405 86.2%
ov_SC01_001 2077 1669 0 2079 2469 84.2%
ov_SC01_004 2069 1660 0 2070 2416 85.7%
ov_SC01_005 2095 1682 0 2095 2506 83.6%
ov_SC01_006 2095 1682 0 2095 2506 83.6%
ov_SC01_008 2068 1660 0 2070 2428 85.3%
ov_SC01_009 2089 1661 0 2090 2510 83.3%
ov_SC01_074 2073 1661 0 2075 2427 85.5%
ov_SC01_077 2309 1624 0 2311 2584 89.4%
ov_SC01_080 2105 1664 0 2105 2515 83.7%
ov_SC01_084 2112 1664 0 2117 2581 82.0%
ov_SC02_000 2157 1699 0 2157 2686 80.3%
ov_SC02_003 2157 1699 0 2157 2686 80.3%
ov_SC02_004 2074 1664 0 2074 2403 86.3%
ov_SC02_005 2175 1660 0 2185 2930 74.6%
ov_SC02_011 2180 1667 0 2191 2896 75.7%
ov_SC02_015 2079 1666 0 2079 2416 86.1%
ov_SC02_016 2104 1666 0 2107 2548 82.7%
ov_SC02_017 2147 1666 0 2155 2735 78.8%
ov_SC02_021 2085 1666 0 2085 2439 85.5%
ov_SC02_026 2094 1664 0 2100 2575 81.6%
ov_SC02_027 2119 1664 0 2128 2695 79.0%
ov_SC02_028 2120 1664 0 2130 2704 78.8%
ov_SC02_031 2108 1665 0 2113 2565 82.4%
ov_SC02_035 2085 1664 0 2088 2523 82.8%
ov_SC02_039 2069 1664 0 2069 2418 85.6%
ov_SC02_041 2096 1664 0 2099 2563 81.9%
ov_SC03_001 2201 1665 0 2218 2872 77.2%
ov_SC03_002 2131 1669 0 2146 2634 81.5%
ov_SC03_003 2074 1664 0 2075 2425 85.6%
ov_SC03_006 2141 1670 0 2150 2770 77.6%
ov_SC03_007 2121 1664 0 2125 2626 80.9%
ov_SC03_010 2084 1664 0 2084 2472 84.3%
ov_SC03_011 2089 1664 0 2095 2530 82.8%
ov_SC03_012 2068 1664 0 2069 2408 85.9%
ov_SC03_013 2085 1664 0 2085 2495 83.6%
ov_SC03_014 2133 1689 0 2133 2688 79.4%
ov_SC03_015 2136 1689 0 2136 2688 79.5%
ov_SC03_023 2074 1664 0 2075 2437 85.1%
ov_SC03_024 2128 1669 0 2135 2644 80.7%
ov_SC03_028 2111 1664 0 2115 2667 79.3%
ov_SC03_029 2112 1666 0 2122 2647 80.2%
ov_SC03_030 2091 1668 0 2093 2498 83.8%
ov_SC03_031 2085 1664 0 2089 2517 83.0%
ov_SC03_089 2102 1664 0 2109 2584 81.6%
ov_SC03_090 2104 1664 0 2112 2628 80.4%
ov_SC03_091 2105 1664 0 2113 2643 79.9%
ov_SC03_092 2111 1664 0 2123 2590 82.0%
ov_SC03_093 2092 1664 0 2096 2566 81.7%
ov_SC03_094 2087 1664 0 2093 2579 81.2%
ov_SC03_095 2078 1664 0 2081 2477 84.0%
ov_SC03_096 2078 1664 0 2081 2468 84.3%
ov_SC03_097 2101 1664 0 2108 2606 80.9%
ov_SC03_098 2085 1664 0 2088 2544 82.1%
ov_SC03_099 2079 1664 0 2082 2507 83.0%
ov_SC03_100 2086 1664 0 2090 2542 82.2%
ov_SC03_101 2087 1664 0 2091 2531 82.6%
ov_SC03_102 2082 1664 0 2085 2495 83.6%
ov_SC03_103 2086 1666 0 2089 2513 83.1%
ov_SC03_104 2105 1664 0 2112 2619 80.6%
ov_SC03_105 2099 1664 0 2106 2600 81.0%
ov_SC03_108 2071 1664 0 2071 2446 84.7%
ov_SC03_109 2072 1664 0 2074 2426 85.5%
ov_SC03_110 2077 1664 0 2077 2471 84.1%
ov_SC03_111 2085 1664 0 2088 2513 83.1%
ov_SC03_112 2083 1666 0 2085 2529 82.4%
ov_SC03_113 2077 1666 0 2080 2471 84.2%
ov_SC03_114 2067 1664 0 2069 2417 85.6%
ov_SC03_115 2081 1664 0 2083 2475 84.2%
ov_SC03_116 2075 1664 0 2078 2441 85.1%
ov_SC03_117 2093 1664 0 2099 2560 82.0%
ov_SC03_118 2136 1688 0 2137 2688 79.5%
ov_SC03_119 2133 1688 0 2134 2688 79.4%
ov_SC03_121 2078 1664 0 2081 2462 84.5%
ov_SC03_124 2150 1660 0 2170 2744 79.1%
ov_SC03_125 2113 1664 0 2125 2591 82.0%
ov_SC03_126 2075 1666 0 2075 2425 85.6%
ov_SC04_000 2092 1668 0 2101 2549 82.4%
ov_SC04_002 2106 1664 0 2110 2639 80.0%
ov_SC04_003 2084 1664 0 2088 2505 83.4%
ov_SC04_004 2098 1664 0 2100 2561 82.0%
ov_SC04_005 2099 1664 0 2105 2615 80.5%
ov_SC04_006 2075 1664 0 2077 2456 84.6%
ov_SC04_007 2094 1664 0 2098 2572 81.6%
ov_SC04_008 2071 1664 0 2071 2417 85.7%
ov_SC04_009 2079 1664 0 2082 2443 85.2%
ov_SC04_010 2075 1664 0 2076 2421 85.7%
ov_SC04_011 2125 1664 0 2131 2806 75.9%
ov_SC04_012 2073 1664 0 2074 2422 85.6%
ov_SC04_015 2133 1665 0 2144 2614 82.0%
ov_SC04_016 2072 1664 0 2074 2442 84.9%
ov_SC04_018 2179 1699 0 2179 2860 76.2%
ov_SC04_019 2185 1699 0 2185 2860 76.4%
ov_SC04_020 2102 1664 0 2114 2570 82.3%
ov_SC04_021 2074 1666 0 2074 2425 85.5%
ov_SC05_000 2078 1668 0 2081 2424 85.8%
ov_SC05_001 2094 1664 0 2099 2577 81.5%
ov_SC05_002 2077 1664 0 2080 2445 85.1%
ov_SC05_003 2077 1664 0 2078 2484 83.7%
ov_SC05_004 2075 1664 0 2077 2467 84.2%
ov_SC05_005 2079 1664 0 2080 2494 83.4%
ov_SC05_006 2073 1664 0 2073 2432 85.2%
ov_SC05_007 2080 1664 0 2085 2485 83.9%
ov_SC05_008 2099 1664 0 2101 2546 82.5%
ov_SC05_009 2075 1664 0 2079 2440 85.2%
ov_SC05_010 2099 1664 0 2103 2591 81.2%
ov_SC05_011 2076 1664 0 2077 2411 86.1%
ov_SC05_017 2175 1661 0 2186 2845 76.8%
ov_SC05_018 2125 1664 0 2138 2676 79.9%
ov_SC05_019 2074 1666 0 2074 2425 85.5%
ov_SC06_000 2135 1673 0 2138 2694 79.4%
ov_SC06_006 2083 1664 0 2084 2514 82.9%
ov_SC06_008 2099 1666 0 2105 2544 82.7%
ov_SC06_010 2086 1664 0 2091 2520 83.0%
ov_SC06_011 2083 1664 0 2087 2471 84.5%
ov_SC06_013 2076 1664 0 2077 2427 85.6%
ov_SC06_014 2080 1664 0 2082 2455 84.8%
ov_SC06_015 2077 1664 0 2077 2423 85.7%
ov_SC06_016 2095 1664 0 2097 2552 82.2%
ov_SC06_018 2093 1667 0 2100 2668 78.7%
ov_SC06_020 2083 1666 0 2084 2521 82.7%
ov_SC06_022 2099 1664 0 2107 2645 79.7%
ov_SC06_024 2105 1664 0 2111 2670 79.1%
ov_SC06_025 2092 1664 0 2097 2575 81.4%
ov_SC06_027 2067 1664 0 2068 2410 85.8%
ov_SC06_029 2120 1664 0 2132 2665 80.0%
ov_SC06_030 2078 1664 0 2078 2459 84.5%
ov_SC06_032 2089 1665 0 2096 2661 78.8%
ov_SC06_033 2093 1665 0 2100 2634 79.7%
ov_SC07_000 2092 1668 0 2094 2524 83.0%
ov_SC07_001 2079 1664 0 2081 2457 84.7%
ov_SC07_002 2096 1664 0 2100 2582 81.3%
ov_SC07_008 2063 1664 0 2063 2388 86.4%
ov_SC07_009 2074 1664 0 2076 2432 85.4%