Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 1ab9905368 feat(phase-26): §8d scope_data_externs — the ×133 sweep blocker fixed; func_8015AE2C banked ×134
- ROOT CAUSE (R14 — the session-7 diagnosis was half right): the isolated region builds [ OK ]
  WITHOUT the body, so §8b isolation was never implicated. `family_remap.gather_externs` prepends
  carried decls at FILE scope; D_801812A4 is a fn-ptr dispatch table the sibling declares FOUR
  incompatible ways at BLOCK scope inside its own later functions, so the carried file-scope decl
  ESTABLISHES A GLOBAL THE TU NEVER HAD and every later block-scope extern must now agree with it.
  Byte-proven asymmetry: BLOCK(int)->BLOCK(struct*)->FILE(void*) builds; FILE(void*)->BLOCK(int)
  errors. It was the ONLY hard error in the build — all 27 carried function externs were fine raw.

- THE FIX (demote, don't reconcile): tools/scope_data_externs.py emits a carried D_ extern at BLOCK
  scope inside the function body when the TU has no file-scope decl of it above the insertion point.
  Byte-neutral (an extern emits no code; type + access opcodes unchanged) and never worse than raw,
  so it needs no oracle, no type comparator, no fn-ptr parser. Restores fidelity — the original
  declares these symbols at block scope in exactly this way. Wired into jtbl_family_bank as the
  `scoped` stage: raw -> scoped -> recovered -> reconciled (scoped is the base for the later stages).

- reconcile_decls is the WRONG instrument for this class, twice: its oracle answers "what does the
  FLEET call this symbol" when the question is "what can THIS TU see", and its DATA_DECL_LINE_RE
  cannot parse `extern void (*D_x[])(void *);` — silently skipping the very symbols that were
  failing (the phase's third silent-skip bug, after find_site braces + overlay_files splits).

- R17 TRIAGE RULE, first real test, held: `conflicting types` = the compiler REFUSED TO COMPILE =
  a C front-end diagnostic = our Python. Reading cse.c/global.c would have taught nothing.

- RESULT: func_8015AE2C (562 ins, reach 134) swept 133/133 siblings, 0 failures. R22 clean-fleet
  136/136 BYTE-IDENTICAL (534 changed src files); dedup-check 1813 validated / 0 failed; 0
  NON_MATCHING (G4). instr-weighted 63.0 -> 63.6%; distinct-code 39.1 -> 40.5% (+256 unique fns /
  +79,957 ins) — one core, ~0 agent tokens.

- knowledge captured during the producing session (R30/R31/R21): cookbook §8d, decision-log
  2026-07-13 session 8, SETUP tool-inventory row; CURRENT_PHASE session-8 checkpoint.
2026-07-13 20:45:15 -06:00

155 lines
8.6 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)
# 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: 283062 / 343904 = 82.31% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 8079400 / 12707182 = 63.6% (shipped .text across resident+134 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 2191904 / 5410077 = 40.5% (50954/84996 unique fns; the DISTINCT-RE number; main EXE not sig'd)
FLEET REAL substantive : 281533 (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 : 60835
FLEET matchable : 343904
| 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 | 2073 | 1669 | 0 | 2073 | 2404 | 86.2% |
| ov_SC01_001 | 2078 | 1669 | 0 | 2080 | 2468 | 84.3% |
| ov_SC01_004 | 2070 | 1660 | 0 | 2071 | 2415 | 85.8% |
| ov_SC01_005 | 2096 | 1682 | 0 | 2096 | 2505 | 83.7% |
| ov_SC01_006 | 2096 | 1682 | 0 | 2096 | 2505 | 83.7% |
| ov_SC01_008 | 2069 | 1660 | 0 | 2071 | 2427 | 85.3% |
| ov_SC01_009 | 2090 | 1661 | 0 | 2091 | 2509 | 83.3% |
| ov_SC01_074 | 2074 | 1661 | 0 | 2076 | 2426 | 85.6% |
| ov_SC01_077 | 2311 | 1624 | 0 | 2313 | 2583 | 89.5% |
| ov_SC01_080 | 2106 | 1664 | 0 | 2106 | 2514 | 83.8% |
| ov_SC01_084 | 2113 | 1664 | 0 | 2118 | 2580 | 82.1% |
| ov_SC02_000 | 2159 | 1699 | 0 | 2159 | 2685 | 80.4% |
| ov_SC02_003 | 2159 | 1699 | 0 | 2159 | 2685 | 80.4% |
| ov_SC02_004 | 2075 | 1664 | 0 | 2075 | 2402 | 86.4% |
| ov_SC02_005 | 2176 | 1660 | 0 | 2186 | 2929 | 74.6% |
| ov_SC02_011 | 2181 | 1667 | 0 | 2192 | 2895 | 75.7% |
| ov_SC02_015 | 2080 | 1666 | 0 | 2080 | 2415 | 86.1% |
| ov_SC02_016 | 2105 | 1666 | 0 | 2108 | 2547 | 82.8% |
| ov_SC02_017 | 2148 | 1666 | 0 | 2156 | 2734 | 78.9% |
| ov_SC02_021 | 2086 | 1666 | 0 | 2086 | 2438 | 85.6% |
| ov_SC02_026 | 2095 | 1664 | 0 | 2101 | 2574 | 81.6% |
| ov_SC02_027 | 2120 | 1664 | 0 | 2129 | 2694 | 79.0% |
| ov_SC02_028 | 2121 | 1664 | 0 | 2131 | 2703 | 78.8% |
| ov_SC02_031 | 2109 | 1665 | 0 | 2114 | 2564 | 82.4% |
| ov_SC02_035 | 2086 | 1664 | 0 | 2089 | 2522 | 82.8% |
| ov_SC02_039 | 2070 | 1664 | 0 | 2070 | 2417 | 85.6% |
| ov_SC02_041 | 2097 | 1664 | 0 | 2100 | 2562 | 82.0% |
| ov_SC03_001 | 2202 | 1665 | 0 | 2219 | 2871 | 77.3% |
| ov_SC03_002 | 2132 | 1669 | 0 | 2147 | 2633 | 81.5% |
| ov_SC03_003 | 2075 | 1664 | 0 | 2076 | 2424 | 85.6% |
| ov_SC03_006 | 2142 | 1670 | 0 | 2151 | 2769 | 77.7% |
| ov_SC03_007 | 2122 | 1664 | 0 | 2126 | 2625 | 81.0% |
| ov_SC03_010 | 2085 | 1664 | 0 | 2085 | 2471 | 84.4% |
| ov_SC03_011 | 2090 | 1664 | 0 | 2096 | 2529 | 82.9% |
| ov_SC03_012 | 2069 | 1664 | 0 | 2070 | 2407 | 86.0% |
| ov_SC03_013 | 2086 | 1664 | 0 | 2086 | 2494 | 83.6% |
| ov_SC03_014 | 2134 | 1689 | 0 | 2134 | 2687 | 79.4% |
| ov_SC03_015 | 2137 | 1689 | 0 | 2137 | 2687 | 79.5% |
| ov_SC03_023 | 2075 | 1664 | 0 | 2076 | 2436 | 85.2% |
| ov_SC03_024 | 2129 | 1669 | 0 | 2136 | 2643 | 80.8% |
| ov_SC03_028 | 2112 | 1664 | 0 | 2116 | 2666 | 79.4% |
| ov_SC03_029 | 2113 | 1666 | 0 | 2123 | 2646 | 80.2% |
| ov_SC03_030 | 2092 | 1668 | 0 | 2094 | 2497 | 83.9% |
| ov_SC03_031 | 2086 | 1664 | 0 | 2090 | 2516 | 83.1% |
| ov_SC03_089 | 2103 | 1664 | 0 | 2110 | 2583 | 81.7% |
| ov_SC03_090 | 2105 | 1664 | 0 | 2113 | 2627 | 80.4% |
| ov_SC03_091 | 2106 | 1664 | 0 | 2114 | 2642 | 80.0% |
| ov_SC03_092 | 2112 | 1664 | 0 | 2124 | 2589 | 82.0% |
| ov_SC03_093 | 2093 | 1664 | 0 | 2097 | 2565 | 81.8% |
| ov_SC03_094 | 2088 | 1664 | 0 | 2094 | 2578 | 81.2% |
| ov_SC03_095 | 2079 | 1664 | 0 | 2082 | 2476 | 84.1% |
| ov_SC03_096 | 2079 | 1664 | 0 | 2082 | 2467 | 84.4% |
| ov_SC03_097 | 2102 | 1664 | 0 | 2109 | 2605 | 81.0% |
| ov_SC03_098 | 2086 | 1664 | 0 | 2089 | 2543 | 82.1% |
| ov_SC03_099 | 2080 | 1664 | 0 | 2083 | 2506 | 83.1% |
| ov_SC03_100 | 2087 | 1664 | 0 | 2091 | 2541 | 82.3% |
| ov_SC03_101 | 2088 | 1664 | 0 | 2092 | 2530 | 82.7% |
| ov_SC03_102 | 2083 | 1664 | 0 | 2086 | 2494 | 83.6% |
| ov_SC03_103 | 2087 | 1666 | 0 | 2090 | 2512 | 83.2% |
| ov_SC03_104 | 2106 | 1664 | 0 | 2113 | 2618 | 80.7% |
| ov_SC03_105 | 2100 | 1664 | 0 | 2107 | 2599 | 81.1% |
| ov_SC03_108 | 2072 | 1664 | 0 | 2072 | 2445 | 84.7% |
| ov_SC03_109 | 2073 | 1664 | 0 | 2075 | 2425 | 85.6% |
| ov_SC03_110 | 2078 | 1664 | 0 | 2078 | 2470 | 84.1% |
| ov_SC03_111 | 2086 | 1664 | 0 | 2089 | 2512 | 83.2% |
| ov_SC03_112 | 2084 | 1666 | 0 | 2086 | 2528 | 82.5% |
| ov_SC03_113 | 2078 | 1666 | 0 | 2081 | 2470 | 84.3% |
| ov_SC03_114 | 2068 | 1664 | 0 | 2070 | 2416 | 85.7% |
| ov_SC03_115 | 2082 | 1664 | 0 | 2084 | 2474 | 84.2% |
| ov_SC03_116 | 2076 | 1664 | 0 | 2079 | 2440 | 85.2% |
| ov_SC03_117 | 2094 | 1664 | 0 | 2100 | 2559 | 82.1% |
| ov_SC03_118 | 2137 | 1688 | 0 | 2138 | 2687 | 79.6% |
| ov_SC03_119 | 2134 | 1688 | 0 | 2135 | 2687 | 79.5% |
| ov_SC03_121 | 2079 | 1664 | 0 | 2082 | 2461 | 84.6% |
| ov_SC03_124 | 2151 | 1660 | 0 | 2171 | 2743 | 79.1% |
| ov_SC03_125 | 2114 | 1664 | 0 | 2126 | 2590 | 82.1% |
| ov_SC03_126 | 2076 | 1666 | 0 | 2076 | 2424 | 85.6% |
| ov_SC04_000 | 2093 | 1668 | 0 | 2102 | 2548 | 82.5% |
| ov_SC04_002 | 2107 | 1664 | 0 | 2111 | 2638 | 80.0% |
| ov_SC04_003 | 2085 | 1664 | 0 | 2089 | 2504 | 83.4% |
| ov_SC04_004 | 2099 | 1664 | 0 | 2101 | 2560 | 82.1% |
| ov_SC04_005 | 2100 | 1664 | 0 | 2106 | 2614 | 80.6% |
| ov_SC04_006 | 2076 | 1664 | 0 | 2078 | 2455 | 84.6% |
| ov_SC04_007 | 2095 | 1664 | 0 | 2099 | 2571 | 81.6% |
| ov_SC04_008 | 2072 | 1664 | 0 | 2072 | 2416 | 85.8% |
| ov_SC04_009 | 2080 | 1664 | 0 | 2083 | 2442 | 85.3% |
| ov_SC04_010 | 2076 | 1664 | 0 | 2077 | 2420 | 85.8% |
| ov_SC04_011 | 2126 | 1664 | 0 | 2132 | 2805 | 76.0% |
| ov_SC04_012 | 2074 | 1664 | 0 | 2075 | 2421 | 85.7% |
| ov_SC04_015 | 2134 | 1665 | 0 | 2145 | 2613 | 82.1% |
| ov_SC04_016 | 2073 | 1664 | 0 | 2075 | 2441 | 85.0% |
| ov_SC04_018 | 2180 | 1699 | 0 | 2180 | 2859 | 76.3% |
| ov_SC04_019 | 2186 | 1699 | 0 | 2186 | 2859 | 76.5% |
| ov_SC04_020 | 2103 | 1664 | 0 | 2115 | 2569 | 82.3% |
| ov_SC04_021 | 2075 | 1666 | 0 | 2075 | 2424 | 85.6% |
| ov_SC05_000 | 2079 | 1668 | 0 | 2082 | 2423 | 85.9% |
| ov_SC05_001 | 2095 | 1664 | 0 | 2100 | 2576 | 81.5% |
| ov_SC05_002 | 2078 | 1664 | 0 | 2081 | 2444 | 85.1% |
| ov_SC05_003 | 2078 | 1664 | 0 | 2079 | 2483 | 83.7% |
| ov_SC05_004 | 2076 | 1664 | 0 | 2078 | 2466 | 84.3% |
| ov_SC05_005 | 2080 | 1664 | 0 | 2081 | 2493 | 83.5% |
| ov_SC05_006 | 2074 | 1664 | 0 | 2074 | 2431 | 85.3% |
| ov_SC05_007 | 2081 | 1664 | 0 | 2086 | 2484 | 84.0% |
| ov_SC05_008 | 2100 | 1664 | 0 | 2102 | 2545 | 82.6% |
| ov_SC05_009 | 2076 | 1664 | 0 | 2080 | 2439 | 85.3% |
| ov_SC05_010 | 2100 | 1664 | 0 | 2104 | 2590 | 81.2% |
| ov_SC05_011 | 2077 | 1664 | 0 | 2078 | 2410 | 86.2% |
| ov_SC05_017 | 2176 | 1661 | 0 | 2187 | 2844 | 76.9% |
| ov_SC05_018 | 2126 | 1664 | 0 | 2139 | 2675 | 80.0% |
| ov_SC05_019 | 2075 | 1666 | 0 | 2075 | 2424 | 85.6% |
| ov_SC06_000 | 2136 | 1673 | 0 | 2139 | 2693 | 79.4% |
| ov_SC06_006 | 2084 | 1664 | 0 | 2085 | 2513 | 83.0% |
| ov_SC06_008 | 2100 | 1666 | 0 | 2106 | 2543 | 82.8% |
| ov_SC06_010 | 2087 | 1664 | 0 | 2092 | 2519 | 83.0% |
| ov_SC06_011 | 2084 | 1664 | 0 | 2088 | 2470 | 84.5% |
| ov_SC06_013 | 2077 | 1664 | 0 | 2078 | 2426 | 85.7% |
| ov_SC06_014 | 2081 | 1664 | 0 | 2083 | 2454 | 84.9% |
| ov_SC06_015 | 2078 | 1664 | 0 | 2078 | 2422 | 85.8% |
| ov_SC06_016 | 2096 | 1664 | 0 | 2098 | 2551 | 82.2% |
| ov_SC06_018 | 2094 | 1667 | 0 | 2101 | 2667 | 78.8% |
| ov_SC06_020 | 2084 | 1666 | 0 | 2085 | 2520 | 82.7% |
| ov_SC06_022 | 2100 | 1664 | 0 | 2108 | 2644 | 79.7% |
| ov_SC06_024 | 2106 | 1664 | 0 | 2112 | 2669 | 79.1% |
| ov_SC06_025 | 2093 | 1664 | 0 | 2098 | 2574 | 81.5% |
| ov_SC06_027 | 2068 | 1664 | 0 | 2069 | 2409 | 85.9% |
| ov_SC06_029 | 2121 | 1664 | 0 | 2133 | 2664 | 80.1% |
| ov_SC06_030 | 2079 | 1664 | 0 | 2079 | 2458 | 84.6% |
| ov_SC06_032 | 2090 | 1665 | 0 | 2097 | 2660 | 78.8% |
| ov_SC06_033 | 2094 | 1665 | 0 | 2101 | 2633 | 79.8% |
| ov_SC07_000 | 2093 | 1668 | 0 | 2095 | 2523 | 83.0% |
| ov_SC07_001 | 2080 | 1664 | 0 | 2082 | 2456 | 84.8% |
| ov_SC07_002 | 2097 | 1664 | 0 | 2101 | 2581 | 81.4% |
| ov_SC07_008 | 2064 | 1664 | 0 | 2064 | 2387 | 86.5% |
| ov_SC07_009 | 2075 | 1664 | 0 | 2077 | 2431 | 85.4% |