Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 7a4abddbfa feat(phase-30 S34): wave 2 — 10 heads + 18 members; the search order had a cross-overlay hole
Fleet 96.24% fn-count / 93.9 -> 94.0% instr / 88.4% distinct. R22 clean-fleet:
140 passed, 0 failed of 140. dedup 1910/0.

WAVE 2: 13 targets / 37,943 templatable ins. 19 agents, 4.5M tokens. Claimed 11
MATCH; the whole-binary gate banked 9, +1 on reconcile (func_8017E5D0 via the
§37/§124 DEFINITION-side alias — the TU declares it `(void)`, the byte-true def
takes a pointer). Reconcile lane now 19/20 lifetime. 18 members swept.

THE FINDING (an agent caught a hole in our own procedure). §136c's search order
— engine_core.h near-twin -> same-TU banked sibling -> the .s — is entirely
SAME-TU or SHARED-HEADER scoped, so no step can reach a banked twin in a
DIFFERENT overlay's TU. But the large template classes live cross-overlay by
construction. func_80188C04 (328 ins) turned out byte-identical to an
already-banked func_801833F0 in ov_SC02_028, and ONE command found it:
`grep -rn "E100000A" src/` — a magic word lifted from the target .s. The body was
then reused verbatim, only file-local suffixes renamed. Promoted to STEP 0 of
§136c, ahead of engine_core.h.

That compounds with the manifest finding this session: the family map's
`exemplar` is an IN-FAMILY pointer, so a family whose twin is banked elsewhere
looks un-cracked — and the pointer can itself name an ALREADY-BANKED instance,
hiding the family from any ranking built on it. Derive open sites from
corpus.stubs over the member list instead. Measured on this wave: ranking off the
map's exemplar gave 16,696 templatable ins; deriving from corpus.stubs gave
41,023, including a 55-ins family open in 138 overlays and a 46-ins one in 133.

HONEST ON THE SWEEP: those two big families templated 18/165. That is the known
h_seq refusal ceiling, not a new wall. One agent reported "all 10 members
distance 0" — that is NORMALIZED distance, not h_exact, which is why
dedup_propagate correctly answered reach<2. Do not read a normalized-distance
claim as an h_exact guarantee.

LEDGERED (real residual, not paperwork): func_8017F7B4 — needed its sibling's
type names AND a data asm-label alias for a u8-shaped symbol, and still refuses.
Plus func_8017C294 (DIFF close=12: 4 register/schedule permutations + a frame
where I can get the 0x138 size OR pEnd's slot at 0x108, not both) and
func_801898E4.
2026-08-04 07:14:28 -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: 340436 / 353721 = 96.24% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 12350091 / 13141652 = 94.0% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4983476 / 5634875 = 88.4% (77655/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: 12349655 / 13081451 = 94.4%)

FLEET REAL substantive : 338581 (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 : 13278 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 2384 1753 0 2384 2403 99.2%
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 2530 1745 0 2540 2927 86.8%
ov_SC02_011 2616 1752 0 2627 2893 90.8%
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 2490 1749 0 2496 2572 97.0%
ov_SC02_027 2546 1749 0 2555 2692 94.9%
ov_SC02_028 2552 1749 0 2562 2701 94.9%
ov_SC02_031 2486 1750 0 2491 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 2651 1750 0 2668 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 2541 1755 0 2550 2767 92.2%
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 2563 1777 0 2563 2685 95.5%
ov_SC03_015 2562 1777 0 2562 2685 95.4%
ov_SC03_023 2393 1749 0 2394 2435 98.3%
ov_SC03_024 2505 1754 0 2512 2641 95.1%
ov_SC03_028 2452 1749 0 2456 2664 92.2%
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 2501 1754 0 2508 2581 97.2%
ov_SC03_090 2509 1754 0 2517 2625 95.9%
ov_SC03_091 2523 1749 0 2531 2640 95.9%
ov_SC03_092 2492 1754 0 2504 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 2513 1749 0 2520 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 2471 1754 0 2475 2528 97.9%
ov_SC03_102 2459 1749 0 2462 2492 98.8%
ov_SC03_103 2483 1751 0 2486 2510 99.0%
ov_SC03_104 2528 1754 0 2535 2616 96.9%
ov_SC03_105 2436 1749 0 2443 2597 94.1%
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 2463 1749 0 2466 2510 98.2%
ov_SC03_112 2424 1751 0 2426 2526 96.0%
ov_SC03_113 2426 1751 0 2429 2468 98.4%
ov_SC03_114 2383 1749 0 2385 2415 98.8%
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 2531 1773 0 2532 2685 94.3%
ov_SC03_119 2527 1773 0 2528 2685 94.2%
ov_SC03_121 2396 1749 0 2399 2459 97.6%
ov_SC03_124 2560 1745 0 2580 2741 94.1%
ov_SC03_125 2514 1749 0 2526 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 2508 1754 0 2514 2803 89.7%
ov_SC04_012 2390 1749 0 2391 2420 98.8%
ov_SC04_015 2518 1750 0 2529 2611 96.9%
ov_SC04_016 2394 1749 0 2396 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 2501 1749 0 2513 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 2423 1749 0 2426 2442 99.3%
ov_SC05_003 2404 1749 0 2405 2481 96.9%
ov_SC05_004 2414 1749 0 2416 2464 98.1%
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 2439 1749 0 2443 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 2530 1749 0 2543 2673 95.1%
ov_SC05_019 2392 1751 0 2392 2423 98.7%
ov_SC06_000 2519 1758 0 2522 2691 93.7%
ov_SC06_006 2416 1749 0 2417 2511 96.3%
ov_SC06_008 2472 1751 0 2478 2542 97.5%
ov_SC06_010 2446 1749 0 2451 2517 97.4%
ov_SC06_011 2408 1749 0 2412 2468 97.7%
ov_SC06_013 2397 1749 0 2398 2425 98.9%
ov_SC06_014 2408 1749 0 2410 2453 98.2%
ov_SC06_015 2402 1749 0 2402 2421 99.2%
ov_SC06_016 2444 1749 0 2446 2549 96.0%
ov_SC06_018 2477 1751 0 2484 2665 93.2%
ov_SC06_020 2432 1751 0 2433 2518 96.6%
ov_SC06_022 2462 1749 0 2470 2642 93.5%
ov_SC06_024 2481 1749 0 2487 2667 93.3%
ov_SC06_025 2444 1749 0 2449 2572 95.2%
ov_SC06_027 2384 1749 0 2385 2408 99.0%
ov_SC06_029 2466 1749 0 2478 2662 93.1%
ov_SC06_030 2405 1749 0 2405 2456 97.9%
ov_SC06_032 2469 1750 0 2476 2658 93.2%
ov_SC06_033 2467 1750 0 2474 2631 94.0%
ov_SC07_000 2425 1753 0 2427 2521 96.3%
ov_SC07_001 2397 1749 0 2399 2454 97.8%
ov_SC07_002 2450 1749 0 2454 2579 95.2%
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 2327 1604 0 2407 2449 98.3%