Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 62042f65ca fix(phase-30 S11): multi-line-comment blindness in dedup_propagate; func_8012A598 x138
Fleet 96.06 -> 96.10% fn-count / 93.7% instr / 88.0% distinct; dedup 1907 -> 1908
groups, 0 failed, C1 240807/240807. R22 clean-fleet: 140 passed, 0 failed of 140.

func_8012A598 (3,288 templatable ins) was being written off as CARRY-FIXABLE.
It took TWO fixes; either alone leaves it skipped.

1. TOOL (R33) — find_site's preamble backscan. The SESSION-18 fix handled blank,
   `//`, and SINGLE-LINE `/* … */` lines, but a MULTI-LINE block comment still
   halted the walk: its middle lines start with `*` and its last line ends `*/`
   without starting `/*`. So the three externs above the body were dropped and
   the body then failed compiles_standalone on now-undeclared data. This is the
   §134 multi-line-blindness class — S6b fixed the identical shape three times in
   family_remap (D1/D2/D5) and this copy was never reached.

   Fixed by deciding skippability on `cdecl._mask` — the project's ONE masking
   oracle — instead of on line syntax: it subsumes every comment form at once and
   cannot be fooled by a `/*` inside a string, with an R32 assertion on the
   length-preservation invariant it rests on. Strictly monotone (it can only
   carry MORE preamble), and dedup_propagate is a byte-gate feeder, so a bug here
   can fail to bank but never falsely bank.

2. EXEMPLAR — the body also declared a draft-local `struct BigCopy164` tag, which
   the tool refuses by design (two macros defining one tag would redefine it in a
   single TU). The shared `struct BigCopy` (engine_types.h L312) is the identical
   layout and is ALREADY used this exact way at engine_core.h:16158, so switching
   the exemplar to it is byte-neutral and drops the alias too.

Probed on ONE member before scaling (R37/S29): byte-identical 9052dc0e first try;
then 138 overlays byte-identical.

PROPAGATE head accounting after this: 7,398 of 18,545 ins banked (func_80147364
4,110 + func_8012A598 3,288). Still open, each with a NAMED cause and none yet
diagnosed against a build: func_8012f274 (3,973, dropped), func_8016ba68 (3,886,
4/138), func_801466f0 (3,288, the S6b D4 wrapped-alias gap).
2026-08-03 23:53:50 -06:00

161 lines
9.1 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: 339914 / 353721 = 96.10% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 12314568 / 13141652 = 93.7% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 4961017 / 5634875 = 88.0% (77550/87459 unique fns; the DISTINCT-RE number)
MAIN game-code weighted : 436 / 60201 = 0.7% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-06-14; caveat is R34: no independent second oracle for a PS-X EXE, NOT drift)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 12314132 / 13081451 = 94.1%)
FLEET REAL substantive : 338059 (of which dedup-shared 240733 via 1908 groups / 240807 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 13800
FLEET matchable : 353721
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
|---|---:|---:|---:|---:|---:|---:|
| main | 54 | 2 | 959 | 1055 | 2096 | 50.3% |
| resident | 129 | 0 | 0 | 131 | 145 | 90.3% |
| ov_SC01_000 | 2379 | 1750 | 0 | 2379 | 2403 | 99.0% |
| ov_SC01_001 | 2387 | 1751 | 0 | 2389 | 2466 | 96.9% |
| ov_SC01_004 | 2381 | 1742 | 0 | 2382 | 2414 | 98.7% |
| ov_SC01_005 | 2411 | 1765 | 0 | 2411 | 2503 | 96.3% |
| ov_SC01_006 | 2411 | 1765 | 0 | 2411 | 2503 | 96.3% |
| ov_SC01_008 | 2381 | 1742 | 0 | 2383 | 2426 | 98.2% |
| ov_SC01_009 | 2407 | 1743 | 0 | 2408 | 2507 | 96.1% |
| ov_SC01_074 | 2386 | 1743 | 0 | 2388 | 2425 | 98.5% |
| ov_SC01_077 | 2537 | 1709 | 0 | 2539 | 2586 | 98.2% |
| ov_SC01_080 | 2414 | 1746 | 0 | 2414 | 2512 | 96.1% |
| ov_SC01_084 | 2439 | 1751 | 0 | 2444 | 2579 | 94.8% |
| ov_SC02_000 | 2504 | 1790 | 0 | 2504 | 2683 | 93.3% |
| ov_SC02_003 | 2504 | 1790 | 0 | 2504 | 2683 | 93.3% |
| ov_SC02_004 | 2379 | 1746 | 0 | 2379 | 2401 | 99.1% |
| ov_SC02_005 | 2526 | 1742 | 0 | 2536 | 2927 | 86.6% |
| ov_SC02_011 | 2609 | 1749 | 0 | 2620 | 2893 | 90.6% |
| ov_SC02_015 | 2390 | 1748 | 0 | 2390 | 2414 | 99.0% |
| ov_SC02_016 | 2471 | 1748 | 0 | 2474 | 2545 | 97.2% |
| ov_SC02_017 | 2539 | 1748 | 0 | 2547 | 2732 | 93.2% |
| ov_SC02_021 | 2395 | 1748 | 0 | 2395 | 2437 | 98.3% |
| ov_SC02_026 | 2486 | 1746 | 0 | 2492 | 2572 | 96.9% |
| ov_SC02_027 | 2543 | 1746 | 0 | 2552 | 2692 | 94.8% |
| ov_SC02_028 | 2548 | 1746 | 0 | 2558 | 2701 | 94.7% |
| ov_SC02_031 | 2482 | 1747 | 0 | 2487 | 2562 | 97.1% |
| ov_SC02_035 | 2470 | 1746 | 0 | 2473 | 2520 | 98.1% |
| ov_SC02_039 | 2384 | 1746 | 0 | 2384 | 2416 | 98.7% |
| ov_SC02_041 | 2461 | 1746 | 0 | 2464 | 2561 | 96.2% |
| ov_SC03_001 | 2647 | 1747 | 0 | 2664 | 2869 | 92.9% |
| ov_SC03_002 | 2523 | 1751 | 0 | 2538 | 2631 | 96.5% |
| ov_SC03_003 | 2388 | 1746 | 0 | 2389 | 2423 | 98.6% |
| ov_SC03_006 | 2537 | 1752 | 0 | 2546 | 2767 | 92.0% |
| ov_SC03_007 | 2451 | 1746 | 0 | 2455 | 2623 | 93.6% |
| ov_SC03_010 | 2404 | 1746 | 0 | 2404 | 2471 | 97.3% |
| ov_SC03_011 | 2406 | 1746 | 0 | 2412 | 2527 | 95.4% |
| ov_SC03_012 | 2378 | 1746 | 0 | 2379 | 2406 | 98.9% |
| ov_SC03_013 | 2410 | 1746 | 0 | 2410 | 2493 | 96.7% |
| ov_SC03_014 | 2557 | 1774 | 0 | 2557 | 2685 | 95.2% |
| ov_SC03_015 | 2557 | 1774 | 0 | 2557 | 2685 | 95.2% |
| ov_SC03_023 | 2390 | 1746 | 0 | 2391 | 2435 | 98.2% |
| ov_SC03_024 | 2499 | 1751 | 0 | 2506 | 2641 | 94.9% |
| ov_SC03_028 | 2447 | 1746 | 0 | 2451 | 2664 | 92.0% |
| ov_SC03_029 | 2490 | 1748 | 0 | 2500 | 2644 | 94.6% |
| ov_SC03_030 | 2408 | 1751 | 0 | 2410 | 2495 | 96.6% |
| ov_SC03_031 | 2437 | 1746 | 0 | 2440 | 2514 | 97.1% |
| ov_SC03_089 | 2495 | 1751 | 0 | 2502 | 2581 | 96.9% |
| ov_SC03_090 | 2505 | 1751 | 0 | 2513 | 2625 | 95.7% |
| ov_SC03_091 | 2519 | 1746 | 0 | 2527 | 2640 | 95.7% |
| ov_SC03_092 | 2488 | 1751 | 0 | 2500 | 2587 | 96.6% |
| ov_SC03_093 | 2502 | 1746 | 0 | 2506 | 2563 | 97.8% |
| ov_SC03_094 | 2486 | 1746 | 0 | 2492 | 2577 | 96.7% |
| ov_SC03_095 | 2418 | 1746 | 0 | 2421 | 2474 | 97.9% |
| ov_SC03_096 | 2415 | 1746 | 0 | 2418 | 2465 | 98.1% |
| ov_SC03_097 | 2509 | 1746 | 0 | 2516 | 2603 | 96.7% |
| ov_SC03_098 | 2491 | 1746 | 0 | 2494 | 2541 | 98.2% |
| ov_SC03_099 | 2472 | 1746 | 0 | 2475 | 2504 | 98.8% |
| ov_SC03_100 | 2507 | 1746 | 0 | 2511 | 2539 | 98.9% |
| ov_SC03_101 | 2467 | 1751 | 0 | 2471 | 2528 | 97.7% |
| ov_SC03_102 | 2456 | 1746 | 0 | 2459 | 2492 | 98.7% |
| ov_SC03_103 | 2479 | 1748 | 0 | 2482 | 2510 | 98.9% |
| ov_SC03_104 | 2524 | 1751 | 0 | 2531 | 2616 | 96.8% |
| ov_SC03_105 | 2432 | 1746 | 0 | 2439 | 2597 | 93.9% |
| ov_SC03_108 | 2387 | 1746 | 0 | 2387 | 2443 | 97.7% |
| ov_SC03_109 | 2397 | 1746 | 0 | 2399 | 2424 | 99.0% |
| ov_SC03_110 | 2429 | 1746 | 0 | 2429 | 2468 | 98.4% |
| ov_SC03_111 | 2459 | 1746 | 0 | 2462 | 2510 | 98.1% |
| ov_SC03_112 | 2420 | 1748 | 0 | 2422 | 2526 | 95.9% |
| ov_SC03_113 | 2421 | 1748 | 0 | 2424 | 2468 | 98.2% |
| ov_SC03_114 | 2379 | 1746 | 0 | 2381 | 2415 | 98.6% |
| ov_SC03_115 | 2420 | 1746 | 0 | 2422 | 2472 | 98.0% |
| ov_SC03_116 | 2387 | 1746 | 0 | 2390 | 2438 | 98.0% |
| ov_SC03_117 | 2455 | 1746 | 0 | 2461 | 2557 | 96.2% |
| ov_SC03_118 | 2525 | 1770 | 0 | 2526 | 2685 | 94.1% |
| ov_SC03_119 | 2521 | 1770 | 0 | 2522 | 2685 | 93.9% |
| ov_SC03_121 | 2393 | 1746 | 0 | 2396 | 2459 | 97.4% |
| ov_SC03_124 | 2557 | 1742 | 0 | 2577 | 2741 | 94.0% |
| ov_SC03_125 | 2510 | 1746 | 0 | 2522 | 2588 | 97.4% |
| ov_SC03_126 | 2389 | 1748 | 0 | 2389 | 2423 | 98.6% |
| ov_SC04_000 | 2462 | 1750 | 0 | 2471 | 2546 | 97.1% |
| ov_SC04_002 | 2489 | 1746 | 0 | 2493 | 2636 | 94.6% |
| ov_SC04_003 | 2426 | 1746 | 0 | 2430 | 2502 | 97.1% |
| ov_SC04_004 | 2459 | 1746 | 0 | 2461 | 2558 | 96.2% |
| ov_SC04_005 | 2483 | 1746 | 0 | 2489 | 2612 | 95.3% |
| ov_SC04_006 | 2419 | 1746 | 0 | 2421 | 2454 | 98.7% |
| ov_SC04_007 | 2477 | 1746 | 0 | 2481 | 2569 | 96.6% |
| ov_SC04_008 | 2390 | 1746 | 0 | 2390 | 2415 | 99.0% |
| ov_SC04_009 | 2416 | 1746 | 0 | 2419 | 2441 | 99.1% |
| ov_SC04_010 | 2392 | 1746 | 0 | 2393 | 2419 | 98.9% |
| ov_SC04_011 | 2503 | 1751 | 0 | 2509 | 2803 | 89.5% |
| ov_SC04_012 | 2387 | 1746 | 0 | 2388 | 2420 | 98.7% |
| ov_SC04_015 | 2515 | 1747 | 0 | 2526 | 2611 | 96.7% |
| ov_SC04_016 | 2390 | 1746 | 0 | 2392 | 2440 | 98.0% |
| ov_SC04_018 | 2659 | 1782 | 0 | 2659 | 2857 | 93.1% |
| ov_SC04_019 | 2651 | 1782 | 0 | 2651 | 2857 | 92.8% |
| ov_SC04_020 | 2497 | 1746 | 0 | 2509 | 2567 | 97.7% |
| ov_SC04_021 | 2389 | 1748 | 0 | 2389 | 2423 | 98.6% |
| ov_SC05_000 | 2396 | 1750 | 0 | 2399 | 2422 | 99.1% |
| ov_SC05_001 | 2464 | 1746 | 0 | 2469 | 2574 | 95.9% |
| ov_SC05_002 | 2419 | 1746 | 0 | 2422 | 2442 | 99.2% |
| ov_SC05_003 | 2400 | 1746 | 0 | 2401 | 2481 | 96.8% |
| ov_SC05_004 | 2410 | 1746 | 0 | 2412 | 2464 | 97.9% |
| ov_SC05_005 | 2426 | 1751 | 0 | 2427 | 2491 | 97.4% |
| ov_SC05_006 | 2412 | 1746 | 0 | 2412 | 2430 | 99.3% |
| ov_SC05_007 | 2419 | 1746 | 0 | 2424 | 2482 | 97.7% |
| ov_SC05_008 | 2432 | 1746 | 0 | 2434 | 2543 | 95.7% |
| ov_SC05_009 | 2397 | 1746 | 0 | 2401 | 2438 | 98.5% |
| ov_SC05_010 | 2435 | 1746 | 0 | 2439 | 2588 | 94.2% |
| ov_SC05_011 | 2386 | 1746 | 0 | 2387 | 2409 | 99.1% |
| ov_SC05_017 | 2630 | 1743 | 0 | 2641 | 2842 | 92.9% |
| ov_SC05_018 | 2526 | 1746 | 0 | 2539 | 2673 | 95.0% |
| ov_SC05_019 | 2389 | 1748 | 0 | 2389 | 2423 | 98.6% |
| ov_SC06_000 | 2513 | 1755 | 0 | 2516 | 2691 | 93.5% |
| ov_SC06_006 | 2411 | 1746 | 0 | 2412 | 2511 | 96.1% |
| ov_SC06_008 | 2465 | 1748 | 0 | 2471 | 2542 | 97.2% |
| ov_SC06_010 | 2439 | 1746 | 0 | 2444 | 2517 | 97.1% |
| ov_SC06_011 | 2403 | 1746 | 0 | 2407 | 2468 | 97.5% |
| ov_SC06_013 | 2393 | 1746 | 0 | 2394 | 2425 | 98.7% |
| ov_SC06_014 | 2404 | 1746 | 0 | 2406 | 2453 | 98.1% |
| ov_SC06_015 | 2398 | 1746 | 0 | 2398 | 2421 | 99.0% |
| ov_SC06_016 | 2440 | 1746 | 0 | 2442 | 2549 | 95.8% |
| ov_SC06_018 | 2466 | 1748 | 0 | 2473 | 2665 | 92.8% |
| ov_SC06_020 | 2427 | 1748 | 0 | 2428 | 2518 | 96.4% |
| ov_SC06_022 | 2453 | 1746 | 0 | 2461 | 2642 | 93.1% |
| ov_SC06_024 | 2472 | 1746 | 0 | 2478 | 2667 | 92.9% |
| ov_SC06_025 | 2441 | 1746 | 0 | 2446 | 2572 | 95.1% |
| ov_SC06_027 | 2381 | 1746 | 0 | 2382 | 2408 | 98.9% |
| ov_SC06_029 | 2462 | 1746 | 0 | 2474 | 2662 | 92.9% |
| ov_SC06_030 | 2401 | 1746 | 0 | 2401 | 2456 | 97.8% |
| ov_SC06_032 | 2459 | 1747 | 0 | 2466 | 2658 | 92.8% |
| ov_SC06_033 | 2458 | 1747 | 0 | 2465 | 2631 | 93.7% |
| ov_SC07_000 | 2421 | 1750 | 0 | 2423 | 2521 | 96.1% |
| ov_SC07_001 | 2393 | 1746 | 0 | 2395 | 2454 | 97.6% |
| ov_SC07_002 | 2446 | 1746 | 0 | 2450 | 2579 | 95.0% |
| ov_SC07_006 | 2305 | 1571 | 0 | 2385 | 2456 | 97.1% |
| ov_SC07_007 | 2323 | 1603 | 0 | 2407 | 2613 | 92.1% |
| ov_SC07_008 | 2375 | 1746 | 0 | 2375 | 2386 | 99.5% |
| ov_SC07_009 | 2387 | 1746 | 0 | 2389 | 2430 | 98.3% |
| ov_SC07_010 | 2304 | 1624 | 0 | 2387 | 2524 | 94.6% |
| ov_SC07_011 | 2324 | 1602 | 0 | 2404 | 2449 | 98.2% |