Files
BFM-decomp/docs/progress.fleet.md
T
Drew T b497ee1649 feat(phase-30 S33c): PROPAGATE head COMPLETE — func_801466F0 x137 took three fixes + a type-lift
Fleet 96.17 -> 96.21% fn-count / 93.8% instr / 88.0% distinct; dedup 1909 -> 1910
groups, 0 failed, C1 241216/241216. R22 clean-fleet: 140 passed, 0 failed of 140.

The head is now 5/5 classes, 18,545 templatable ins, all banked this session from
a standing start of 0.

func_801466F0 had sat since S6b behind THREE separate blockers, each of which
looked sufficient on its own to explain the failure:
 1. Its definition is under a §37/§73 ASM-LABEL ALIAS (`aF801466F0` in C, bound to
    the real symbol by `__asm__`), and dedup_propagate.find_site anchored its head
    regex on the literal `func_<ADDR>` — structurally blind to the form, returning
    None, which every caller reads as "not matched". Now reuses
    family_remap._alias_decl_for rather than growing a second matcher (R33).
 2. That matcher was itself blind to the WRAPPED (multi-line) declaration — the
    §134 shape, third tool. Fixed by matching over the joined text and mapping the
    offset back to the decl's FIRST line (extract_unit carries from there).
    Regression control: the single-line form still resolves. Fleet census after:
    2,768 of 2,768 alias sites resolve, 0 missed.
 3. Its record type was a draft-local typedef, so the body failed
    compiles_standalone. Lifted Rec801466F0 to src/shared/engine_types.h INSIDE
    the include guard (the SESSION-19 double-include note) and switched both the
    macro and the exemplar to it — byte-neutral, gate-proven.

Probed on ONE member before the fleet run: byte-identical 9052dc0e first try.

MEASURED, NOT INHERITED (R37): the S6b note frames the alias-regex gap as a CLASS
of missed work. It is ONE function — 91 distinct alias decls fleet-wide, the
per-line matcher resolved 90. Recording it so a future session does not scope a
phase against a class that does not exist.

cookbook §138 extended with the alias-form tool boundary and the three-blocker
story; index regenerated.
2026-08-04 00:44:33 -06:00

9.1 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: 340322 / 353721 = 96.21% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 12325715 / 13141652 = 93.8% (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: 12325279 / 13081451 = 94.2%)

FLEET REAL substantive : 338467 (of which dedup-shared 241142 via 1910 groups / 241216 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 13392 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 2382 1753 0 2382 2403 99.1%
ov_SC01_001 2390 1754 0 2392 2466 97.0%
ov_SC01_004 2384 1745 0 2385 2414 98.8%
ov_SC01_005 2414 1768 0 2414 2503 96.4%
ov_SC01_006 2414 1768 0 2414 2503 96.4%
ov_SC01_008 2384 1745 0 2386 2426 98.4%
ov_SC01_009 2410 1746 0 2411 2507 96.2%
ov_SC01_074 2389 1746 0 2391 2425 98.6%
ov_SC01_077 2538 1711 0 2540 2586 98.2%
ov_SC01_080 2417 1749 0 2417 2512 96.2%
ov_SC01_084 2442 1754 0 2447 2579 94.9%
ov_SC02_000 2507 1793 0 2507 2683 93.4%
ov_SC02_003 2507 1793 0 2507 2683 93.4%
ov_SC02_004 2382 1749 0 2382 2401 99.2%
ov_SC02_005 2529 1745 0 2539 2927 86.7%
ov_SC02_011 2612 1752 0 2623 2893 90.7%
ov_SC02_015 2393 1751 0 2393 2414 99.1%
ov_SC02_016 2474 1751 0 2477 2545 97.3%
ov_SC02_017 2542 1751 0 2550 2732 93.3%
ov_SC02_021 2398 1751 0 2398 2437 98.4%
ov_SC02_026 2489 1749 0 2495 2572 97.0%
ov_SC02_027 2546 1749 0 2555 2692 94.9%
ov_SC02_028 2551 1749 0 2561 2701 94.8%
ov_SC02_031 2485 1750 0 2490 2562 97.2%
ov_SC02_035 2473 1749 0 2476 2520 98.3%
ov_SC02_039 2387 1749 0 2387 2416 98.8%
ov_SC02_041 2464 1749 0 2467 2561 96.3%
ov_SC03_001 2650 1750 0 2667 2869 93.0%
ov_SC03_002 2526 1754 0 2541 2631 96.6%
ov_SC03_003 2391 1749 0 2392 2423 98.7%
ov_SC03_006 2540 1755 0 2549 2767 92.1%
ov_SC03_007 2454 1749 0 2458 2623 93.7%
ov_SC03_010 2407 1749 0 2407 2471 97.4%
ov_SC03_011 2409 1749 0 2415 2527 95.6%
ov_SC03_012 2381 1749 0 2382 2406 99.0%
ov_SC03_013 2413 1749 0 2413 2493 96.8%
ov_SC03_014 2560 1777 0 2560 2685 95.3%
ov_SC03_015 2560 1777 0 2560 2685 95.3%
ov_SC03_023 2393 1749 0 2394 2435 98.3%
ov_SC03_024 2502 1754 0 2509 2641 95.0%
ov_SC03_028 2450 1749 0 2454 2664 92.1%
ov_SC03_029 2493 1751 0 2503 2644 94.7%
ov_SC03_030 2411 1754 0 2413 2495 96.7%
ov_SC03_031 2440 1749 0 2443 2514 97.2%
ov_SC03_089 2498 1754 0 2505 2581 97.1%
ov_SC03_090 2508 1754 0 2516 2625 95.8%
ov_SC03_091 2522 1749 0 2530 2640 95.8%
ov_SC03_092 2491 1754 0 2503 2587 96.8%
ov_SC03_093 2505 1749 0 2509 2563 97.9%
ov_SC03_094 2489 1749 0 2495 2577 96.8%
ov_SC03_095 2421 1749 0 2424 2474 98.0%
ov_SC03_096 2418 1749 0 2421 2465 98.2%
ov_SC03_097 2512 1749 0 2519 2603 96.8%
ov_SC03_098 2494 1749 0 2497 2541 98.3%
ov_SC03_099 2475 1749 0 2478 2504 99.0%
ov_SC03_100 2510 1749 0 2514 2539 99.0%
ov_SC03_101 2470 1754 0 2474 2528 97.9%
ov_SC03_102 2459 1749 0 2462 2492 98.8%
ov_SC03_103 2482 1751 0 2485 2510 99.0%
ov_SC03_104 2527 1754 0 2534 2616 96.9%
ov_SC03_105 2435 1749 0 2442 2597 94.0%
ov_SC03_108 2390 1749 0 2390 2443 97.8%
ov_SC03_109 2400 1749 0 2402 2424 99.1%
ov_SC03_110 2432 1749 0 2432 2468 98.5%
ov_SC03_111 2462 1749 0 2465 2510 98.2%
ov_SC03_112 2423 1751 0 2425 2526 96.0%
ov_SC03_113 2424 1751 0 2427 2468 98.3%
ov_SC03_114 2382 1749 0 2384 2415 98.7%
ov_SC03_115 2423 1749 0 2425 2472 98.1%
ov_SC03_116 2390 1749 0 2393 2438 98.2%
ov_SC03_117 2458 1749 0 2464 2557 96.4%
ov_SC03_118 2528 1773 0 2529 2685 94.2%
ov_SC03_119 2524 1773 0 2525 2685 94.0%
ov_SC03_121 2396 1749 0 2399 2459 97.6%
ov_SC03_124 2560 1745 0 2580 2741 94.1%
ov_SC03_125 2513 1749 0 2525 2588 97.6%
ov_SC03_126 2392 1751 0 2392 2423 98.7%
ov_SC04_000 2465 1753 0 2474 2546 97.2%
ov_SC04_002 2492 1749 0 2496 2636 94.7%
ov_SC04_003 2429 1749 0 2433 2502 97.2%
ov_SC04_004 2462 1749 0 2464 2558 96.3%
ov_SC04_005 2486 1749 0 2492 2612 95.4%
ov_SC04_006 2422 1749 0 2424 2454 98.8%
ov_SC04_007 2480 1749 0 2484 2569 96.7%
ov_SC04_008 2393 1749 0 2393 2415 99.1%
ov_SC04_009 2419 1749 0 2422 2441 99.2%
ov_SC04_010 2395 1749 0 2396 2419 99.0%
ov_SC04_011 2506 1754 0 2512 2803 89.6%
ov_SC04_012 2390 1749 0 2391 2420 98.8%
ov_SC04_015 2518 1750 0 2529 2611 96.9%
ov_SC04_016 2393 1749 0 2395 2440 98.2%
ov_SC04_018 2662 1785 0 2662 2857 93.2%
ov_SC04_019 2654 1785 0 2654 2857 92.9%
ov_SC04_020 2500 1749 0 2512 2567 97.9%
ov_SC04_021 2392 1751 0 2392 2423 98.7%
ov_SC05_000 2399 1753 0 2402 2422 99.2%
ov_SC05_001 2467 1749 0 2472 2574 96.0%
ov_SC05_002 2422 1749 0 2425 2442 99.3%
ov_SC05_003 2403 1749 0 2404 2481 96.9%
ov_SC05_004 2413 1749 0 2415 2464 98.0%
ov_SC05_005 2429 1754 0 2430 2491 97.6%
ov_SC05_006 2415 1749 0 2415 2430 99.4%
ov_SC05_007 2422 1749 0 2427 2482 97.8%
ov_SC05_008 2435 1749 0 2437 2543 95.8%
ov_SC05_009 2400 1749 0 2404 2438 98.6%
ov_SC05_010 2438 1749 0 2442 2588 94.4%
ov_SC05_011 2389 1749 0 2390 2409 99.2%
ov_SC05_017 2633 1746 0 2644 2842 93.0%
ov_SC05_018 2529 1749 0 2542 2673 95.1%
ov_SC05_019 2392 1751 0 2392 2423 98.7%
ov_SC06_000 2516 1758 0 2519 2691 93.6%
ov_SC06_006 2414 1749 0 2415 2511 96.2%
ov_SC06_008 2468 1751 0 2474 2542 97.3%
ov_SC06_010 2442 1749 0 2447 2517 97.2%
ov_SC06_011 2406 1749 0 2410 2468 97.6%
ov_SC06_013 2396 1749 0 2397 2425 98.8%
ov_SC06_014 2407 1749 0 2409 2453 98.2%
ov_SC06_015 2401 1749 0 2401 2421 99.2%
ov_SC06_016 2443 1749 0 2445 2549 95.9%
ov_SC06_018 2469 1751 0 2476 2665 92.9%
ov_SC06_020 2430 1751 0 2431 2518 96.5%
ov_SC06_022 2456 1749 0 2464 2642 93.3%
ov_SC06_024 2475 1749 0 2481 2667 93.0%
ov_SC06_025 2444 1749 0 2449 2572 95.2%
ov_SC06_027 2384 1749 0 2385 2408 99.0%
ov_SC06_029 2465 1749 0 2477 2662 93.1%
ov_SC06_030 2404 1749 0 2404 2456 97.9%
ov_SC06_032 2462 1750 0 2469 2658 92.9%
ov_SC06_033 2461 1750 0 2468 2631 93.8%
ov_SC07_000 2424 1753 0 2426 2521 96.2%
ov_SC07_001 2396 1749 0 2398 2454 97.7%
ov_SC07_002 2449 1749 0 2453 2579 95.1%
ov_SC07_006 2307 1573 0 2387 2456 97.2%
ov_SC07_007 2325 1605 0 2409 2613 92.2%
ov_SC07_008 2378 1749 0 2378 2386 99.7%
ov_SC07_009 2390 1749 0 2392 2430 98.4%
ov_SC07_010 2306 1626 0 2389 2524 94.7%
ov_SC07_011 2326 1604 0 2406 2449 98.2%