Files
BFM-decomp/docs/progress.fleet.md
T
Drew T c4380c19e4 feat(p31 s67): stranded-draft census + honest jtbl probe — the frontier's biggest class is carve plumbing
MEASURED (denominators in .run/S67_findings.md):
* 193 of the 530 open functions ALREADY have a draft on disk (1,885 wave targets seen,
  1,521 banked, 171 open-no-draft, 166 never drawn). Classified in their real TUs:
  37 MATCH / 67 NEAR / 89 CC1-FAIL.
* 159 open functions (30% of the frontier) reference a jump table; 96 are PLAN-REFUSED
  by build_carve (non-contiguous same-subseg .rodata), 75 non-main across 38 subsegs.
  Not a codegen wall and not a decl wall — carve plumbing.

NEW
* tools/strand_census.py — coverage-asserted census + rtu_match classifier + draft staging.
  Keys binary:fn (R48); classifies each pair once after merging every manifest's view.
* tools/o0_detect.py — the -O0 prologue tell extracted from match_one (which parses argv at
  import and therefore cannot be imported). match_one re-exports it; ONE definition (R33).
  Wiring it into the classifier turned md_MAIN_003 from 8 NEAR (7 of them >20) into 6 MATCH.
  Negative-controlled both directions.
* tools/scope_demote_drafts.py — §8d as an _xform-contract gate rung. NOT yet exercised.

FIXED
* jtbl_carve --probe now runs build_carve (a pure planner) and reports plan-refused. It
  previously called only island_probe, which answers a necessary-not-sufficient question —
  every blocked function probed "carveable", and S66 priced 32 of them as free on that.
* blocker_probe.macro_scope selects the LAST #define per macro name, matching cpp.
  engine_core.h has 1,037 duplicate DEFINE_func_ names and 4 with DIFFERENT bodies.

NOT VALIDATED — DO NOT SCALE
* jr_isolate_all: two real defects fixed (carried types deduped by name; header-provided
  types no longer re-emitted) but ov_SC02_000 STILL fails the byte gate after them.
  Open lead: file_scope_types carries a block without its enclosing #if guard. 20 of 35
  blocked overlays dry-run clean and that number means nothing until one round-trips.

0 functions banked this session. tools-health has ONE pre-existing cdecl defect
(1 of 74,749 declarations, func_8017EE08_p55352/struct ZnRec) — cdecl.py and its inputs
are byte-identical to HEAD, so it is not from this change.

Knowledge banked: cookbook §322/§323/§323a/§323b, decision-log pivot, accelerators #13/#14.
2026-08-31 01:46:16 -06:00

13 KiB
Raw Blame History

BFM FLEET matching progress (generated by tools/progress.py --fleet — authoritative)

213 binaries: main + resident + 211 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: 362441 / 362970 = 99.85% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 13411415 / 13523865 = 99.2% (shipped .text across main + resident + 211 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 5743983 / 5851972 = 98.2% (90521/90929 unique fns; the DISTINCT-RE number) MAIN game-code weighted : 35059 / 79510 = 44.1% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-08-05; 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: 13376356 / 13444355 = 99.5%)

FLEET REAL substantive : 360269 (of which dedup-shared 254655 via 2165 groups / 254731 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 3 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 526 FLEET matchable : 362970

binary REAL shared LINKED byte-ident matchable byte-ident %
main 827 2 959 1829 1922 95.2%
resident 138 0 0 140 145 96.6%
md_MAIN_001 11 0 0 11 11 100.0%
md_MAIN_003 37 0 0 37 51 72.5%
md_MAIN_008 6 0 0 6 6 100.0%
md_MAIN_011 17 0 0 18 21 85.7%
md_MAIN_013 15 0 0 15 16 93.8%
md_MAIN_014 12 0 0 13 13 100.0%
md_MAIN_015 20 0 0 20 20 100.0%
md_MAIN_016 11 0 0 12 12 100.0%
md_MAIN_017 10 0 0 10 10 100.0%
md_MAIN_018 10 0 0 11 11 100.0%
md_MAIN_019 22 0 0 22 22 100.0%
md_MAIN_020 12 0 0 13 13 100.0%
md_MAIN_021 10 0 0 11 11 100.0%
md_MAIN_022 31 0 0 33 33 100.0%
md_MAIN_023 5 0 0 6 6 100.0%
md_MAIN_024 4 0 0 6 6 100.0%
md_MAIN_025 29 0 0 29 30 96.7%
md_MAIN_026 24 0 0 24 24 100.0%
md_MAIN_027 26 0 0 28 29 96.6%
md_MAIN_028 21 0 0 21 22 95.5%
md_MAIN_029 10 0 0 11 11 100.0%
md_MAIN_030 10 0 0 10 10 100.0%
md_MAIN_031 17 0 0 17 18 94.4%
md_MAIN_032 10 0 0 10 10 100.0%
md_MAIN_033 18 0 0 18 19 94.7%
md_MAIN_034 25 0 0 26 28 92.9%
md_MAIN_035 15 0 0 16 16 100.0%
md_MAIN_036 27 0 0 28 28 100.0%
md_MAIN_037 17 0 0 17 17 100.0%
md_MAIN_038 20 0 0 20 20 100.0%
md_MAIN_039 26 0 0 26 26 100.0%
md_MAIN_040 19 0 0 19 19 100.0%
md_MAIN_041 14 0 0 14 15 93.3%
md_MAIN_042 4 0 0 4 4 100.0%
md_MAIN_043 22 0 0 23 23 100.0%
md_MAIN_044 41 0 0 42 43 97.7%
md_MAIN_045 19 0 0 20 21 95.2%
md_MAIN_046 38 0 0 39 39 100.0%
md_MAIN_047 11 0 0 12 12 100.0%
md_SC02_009 40 0 0 40 40 100.0%
md_SC03_073 28 10 0 28 28 100.0%
md_SC03_074 29 10 0 29 29 100.0%
md_SC03_075 41 10 0 41 41 100.0%
md_SC03_076 64 0 0 66 66 100.0%
md_SC03_077 33 0 0 35 35 100.0%
md_SC03_078 27 9 0 27 27 100.0%
md_SC03_079 27 0 0 29 29 100.0%
md_SC03_132 26 0 0 28 28 100.0%
md_SC03_133 27 1 0 29 29 100.0%
md_SC03_134 39 1 0 41 41 100.0%
md_SC03_135 63 0 0 65 66 98.5%
md_SC03_136 33 0 0 35 35 100.0%
md_SC03_137 25 1 0 27 27 100.0%
md_SC03_138 33 1 0 37 37 100.0%
md_SC04_024 26 0 0 28 28 100.0%
md_SC04_025 27 0 0 29 29 100.0%
md_SC04_026 39 0 0 41 41 100.0%
md_SC04_027 63 0 0 65 66 98.5%
md_SC04_028 33 0 0 35 35 100.0%
md_SC04_029 25 0 0 27 27 100.0%
md_SC04_030 27 0 0 31 31 100.0%
md_SC05_023 26 0 0 28 28 100.0%
md_SC05_024 27 0 0 29 29 100.0%
md_SC05_025 39 0 0 41 41 100.0%
md_SC05_026 63 0 0 65 66 98.5%
md_SC05_027 33 0 0 35 35 100.0%
md_SC05_028 25 0 0 27 27 100.0%
md_SC05_029 27 0 0 31 31 100.0%
md_SC07_003 93 0 0 93 100 93.0%
md_SC07_004 298 0 0 298 315 94.6%
ov_MAIN_012 2321 1689 0 2400 2402 99.9%
ov_SC01_000 2398 1809 0 2398 2403 99.8%
ov_SC01_001 2458 1811 0 2460 2465 99.8%
ov_SC01_004 2412 1802 0 2413 2414 100.0%
ov_SC01_005 2500 1833 0 2500 2503 99.9%
ov_SC01_006 2500 1833 0 2500 2503 99.9%
ov_SC01_008 2423 1803 0 2425 2426 100.0%
ov_SC01_009 2504 1803 0 2505 2507 99.9%
ov_SC01_074 2424 1803 0 2426 2426 100.0%
ov_SC01_077 2579 1764 0 2581 2586 99.8%
ov_SC01_080 2502 1806 0 2502 2512 99.6%
ov_SC01_084 2563 1811 0 2568 2579 99.6%
ov_SC02_000 2678 1889 0 2678 2683 99.8%
ov_SC02_003 2676 1889 0 2676 2683 99.7%
ov_SC02_004 2401 1806 0 2401 2401 100.0%
ov_SC02_005 2905 1802 0 2915 2926 99.6%
ov_SC02_011 2874 1810 0 2884 2893 99.7%
ov_SC02_015 2414 1808 0 2414 2414 100.0%
ov_SC02_016 2540 1810 0 2543 2545 99.9%
ov_SC02_017 2720 1810 0 2728 2732 99.9%
ov_SC02_021 2436 1808 0 2436 2437 100.0%
ov_SC02_026 2565 1807 0 2571 2572 100.0%
ov_SC02_027 2681 1828 0 2690 2692 99.9%
ov_SC02_028 2690 1827 0 2700 2701 100.0%
ov_SC02_031 2555 1809 0 2560 2562 99.9%
ov_SC02_035 2516 1806 0 2519 2520 100.0%
ov_SC02_037 2431 1704 0 2513 2516 99.9%
ov_SC02_039 2415 1807 0 2415 2416 100.0%
ov_SC02_041 2557 1806 0 2560 2561 100.0%
ov_SC03_001 2851 1807 0 2868 2869 100.0%
ov_SC03_002 2616 1815 0 2631 2631 100.0%
ov_SC03_003 2422 1806 0 2423 2423 100.0%
ov_SC03_006 2757 1814 0 2766 2767 100.0%
ov_SC03_007 2614 1806 0 2618 2623 99.8%
ov_SC03_010 2469 1807 0 2469 2471 99.9%
ov_SC03_011 2520 1807 0 2526 2527 100.0%
ov_SC03_012 2405 1806 0 2406 2406 100.0%
ov_SC03_013 2490 1807 0 2490 2493 99.9%
ov_SC03_014 2685 1855 0 2685 2685 100.0%
ov_SC03_015 2468 1855 0 2468 2468 100.0%
ov_SC03_023 2434 1806 0 2435 2435 100.0%
ov_SC03_024 2633 1813 0 2640 2641 100.0%
ov_SC03_028 2652 1807 0 2656 2664 99.7%
ov_SC03_029 2631 1810 0 2641 2644 99.9%
ov_SC03_030 2490 1811 0 2492 2495 99.9%
ov_SC03_031 2509 1808 0 2512 2514 99.9%
ov_SC03_089 2573 1811 0 2580 2581 100.0%
ov_SC03_090 2617 1811 0 2625 2625 100.0%
ov_SC03_091 2632 1828 0 2640 2640 100.0%
ov_SC03_092 2572 1811 0 2584 2588 99.8%
ov_SC03_093 2559 1828 0 2563 2563 100.0%
ov_SC03_094 2569 1806 0 2575 2577 99.9%
ov_SC03_095 2471 1806 0 2474 2474 100.0%
ov_SC03_096 2462 1806 0 2465 2465 100.0%
ov_SC03_097 2596 1827 0 2603 2603 100.0%
ov_SC03_098 2538 1828 0 2541 2541 100.0%
ov_SC03_099 2500 1806 0 2503 2504 100.0%
ov_SC03_100 2535 1828 0 2539 2539 100.0%
ov_SC03_101 2524 1811 0 2528 2528 100.0%
ov_SC03_102 2486 1806 0 2489 2492 99.9%
ov_SC03_103 2507 1808 0 2510 2510 100.0%
ov_SC03_104 2609 1811 0 2616 2616 100.0%
ov_SC03_105 2564 1807 0 2571 2596 99.0%
ov_SC03_107 2408 1689 0 2491 2496 99.8%
ov_SC03_108 2441 1807 0 2441 2443 99.9%
ov_SC03_109 2422 1807 0 2424 2424 100.0%
ov_SC03_110 2467 1830 0 2467 2468 100.0%
ov_SC03_111 2505 1806 0 2508 2510 99.9%
ov_SC03_112 2521 1808 0 2523 2526 99.9%
ov_SC03_113 2465 1808 0 2468 2468 100.0%
ov_SC03_114 2413 1806 0 2415 2415 100.0%
ov_SC03_115 2470 1806 0 2472 2472 100.0%
ov_SC03_116 2435 1806 0 2438 2438 100.0%
ov_SC03_117 2549 1806 0 2555 2557 99.9%
ov_SC03_118 2679 1845 0 2680 2684 99.9%
ov_SC03_119 2681 1845 0 2682 2685 99.9%
ov_SC03_121 2454 1807 0 2456 2459 99.9%
ov_SC03_124 2716 1802 0 2736 2741 99.8%
ov_SC03_125 2576 1815 0 2588 2588 100.0%
ov_SC03_126 2423 1810 0 2423 2423 100.0%
ov_SC04_000 2535 1811 0 2544 2546 99.9%
ov_SC04_002 2629 1806 0 2633 2636 99.9%
ov_SC04_003 2498 1813 0 2501 2502 100.0%
ov_SC04_004 2555 1807 0 2557 2558 100.0%
ov_SC04_005 2604 1806 0 2610 2612 99.9%
ov_SC04_006 2452 1812 0 2454 2454 100.0%
ov_SC04_007 2564 1807 0 2568 2569 100.0%
ov_SC04_008 2414 1806 0 2414 2415 100.0%
ov_SC04_009 2438 1806 0 2441 2441 100.0%
ov_SC04_010 2417 1806 0 2418 2419 100.0%
ov_SC04_011 2787 1811 0 2793 2804 99.6%
ov_SC04_012 2418 1806 0 2419 2420 100.0%
ov_SC04_015 2597 1807 0 2608 2611 99.9%
ov_SC04_016 2435 1806 0 2437 2440 99.9%
ov_SC04_018 2852 1892 0 2852 2857 99.8%
ov_SC04_019 2855 1892 0 2855 2857 99.9%
ov_SC04_020 2554 1815 0 2566 2567 100.0%
ov_SC04_021 2423 1810 0 2423 2423 100.0%
ov_SC05_000 2418 1810 0 2421 2422 100.0%
ov_SC05_001 2566 1808 0 2571 2574 99.9%
ov_SC05_002 2438 1806 0 2441 2442 100.0%
ov_SC05_003 2478 1806 0 2479 2481 99.9%
ov_SC05_004 2462 1806 0 2464 2464 100.0%
ov_SC05_005 2488 1812 0 2489 2491 99.9%
ov_SC05_006 2430 1808 0 2430 2430 100.0%
ov_SC05_007 2477 1806 0 2482 2482 100.0%
ov_SC05_008 2534 1806 0 2536 2543 99.7%
ov_SC05_009 2434 1806 0 2438 2438 100.0%
ov_SC05_010 2573 1807 0 2577 2588 99.6%
ov_SC05_011 2406 1806 0 2407 2409 99.9%
ov_SC05_017 2829 1806 0 2840 2842 99.9%
ov_SC05_018 2655 1814 0 2668 2673 99.8%
ov_SC05_019 2423 1810 0 2423 2423 100.0%
ov_SC06_000 2686 1817 0 2689 2691 99.9%
ov_SC06_006 2509 1807 0 2510 2511 100.0%
ov_SC06_008 2535 1808 0 2541 2542 100.0%
ov_SC06_010 2508 1806 0 2513 2516 99.9%
ov_SC06_011 2463 1806 0 2467 2468 100.0%
ov_SC06_013 2424 1806 0 2425 2425 100.0%
ov_SC06_014 2451 1806 0 2453 2453 100.0%
ov_SC06_015 2421 1806 0 2421 2421 100.0%
ov_SC06_016 2547 1807 0 2549 2549 100.0%
ov_SC06_018 2654 1807 0 2661 2665 99.8%
ov_SC06_020 2514 1808 0 2515 2518 99.9%
ov_SC06_022 2627 1806 0 2635 2642 99.7%
ov_SC06_024 2655 1806 0 2661 2667 99.8%
ov_SC06_025 2562 1806 0 2567 2572 99.8%
ov_SC06_027 2407 1806 0 2408 2408 100.0%
ov_SC06_029 2632 1807 0 2644 2662 99.3%
ov_SC06_030 2452 1807 0 2452 2456 99.8%
ov_SC06_032 2643 1807 0 2650 2657 99.7%
ov_SC06_033 2619 1807 0 2626 2630 99.8%
ov_SC07_000 2510 1811 0 2512 2521 99.6%
ov_SC07_001 2448 1807 0 2450 2454 99.8%
ov_SC07_002 2567 1807 0 2571 2578 99.7%
ov_SC07_006 2371 1625 0 2451 2457 99.8%
ov_SC07_007 2522 1660 0 2606 2612 99.8%
ov_SC07_008 2386 1806 0 2386 2386 100.0%
ov_SC07_009 2428 1806 0 2430 2430 100.0%
ov_SC07_010 2434 1682 0 2516 2523 99.7%
ov_SC07_011 2366 1659 0 2446 2448 99.9%