Fleet 96.23 -> 96.24% fn-count / 93.9% instr / 88.3 -> 88.4% distinct. R22 clean-fleet: 140 passed, 0 failed of 140. dedup 1910/0. func_8017D318 (184 ins) + func_80181EE0 (198 ins) both banked, + 6 members swept (6 per-overlay variants failed — ledger material, not a lever). THE RECONCILE DIRECTION DEPENDS ON WHERE THE TU'S DECL IS, and picking wrong CREATES the next error (-> cookbook §138): - decl ABOVE the splice point -> DELETE the draft's duplicate (§100). func_8017D318: the TU defines MATRIX_/SVECTOR_8017C290, D_801EA8C0 AND a `struct PW8017C290` tag above it; I missed the tag on the first pass, so it took two rounds. - decl BELOW the splice point -> KEEP a decl in the TU's EXACT shape and cast at the use (§17a-1 D2). func_80181EE0: I removed its decl assuming the TU provided one; the TU's `extern int func_80143C74(short *, int);` is at L5082, ~180 lines BELOW the splice at 4901, so the identifier went undeclared. Grep the TU for the symbol and compare line numbers with the stub line first. MY OWN §136a VIOLATION, recorded: the blocker-capture filtered the build log for `error|conflicting|undefined reference` and reported "NO COMPILE ERROR" on a build that was failing with `redefinition of struct PW8017C290` and `'func_80143C74' undeclared` — neither phrase matched. A narrow keyword filter is exactly how a real error goes unseen, which is the thing §136a exists to say. Widened to keep any line naming a source position.
9.1 KiB
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: 340408 / 353721 = 96.24% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 12344917 / 13141652 = 93.9% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4978834 / 5634875 = 88.4% (77631/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: 12344481 / 13081451 = 94.4%)
FLEET REAL substantive : 338553 (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 : 13306 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 | 2530 | 1745 | 0 | 2540 | 2927 | 86.8% |
| ov_SC02_011 | 2614 | 1752 | 0 | 2625 | 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 | 2552 | 1749 | 0 | 2562 | 2701 | 94.9% |
| 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 | 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 | 2504 | 1754 | 0 | 2511 | 2641 | 95.1% |
| ov_SC03_028 | 2451 | 1749 | 0 | 2455 | 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 | 2499 | 1754 | 0 | 2506 | 2581 | 97.1% |
| 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 | 2462 | 1749 | 0 | 2465 | 2510 | 98.2% |
| ov_SC03_112 | 2424 | 1751 | 0 | 2426 | 2526 | 96.0% |
| ov_SC03_113 | 2425 | 1751 | 0 | 2428 | 2468 | 98.4% |
| 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 | 2530 | 1773 | 0 | 2531 | 2685 | 94.3% |
| ov_SC03_119 | 2526 | 1773 | 0 | 2527 | 2685 | 94.1% |
| 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 | 2507 | 1754 | 0 | 2513 | 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 | 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 | 2423 | 1749 | 0 | 2426 | 2442 | 99.3% |
| ov_SC05_003 | 2404 | 1749 | 0 | 2405 | 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 | 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 | 2529 | 1749 | 0 | 2542 | 2673 | 95.1% |
| ov_SC05_019 | 2392 | 1751 | 0 | 2392 | 2423 | 98.7% |
| ov_SC06_000 | 2518 | 1758 | 0 | 2521 | 2691 | 93.7% |
| ov_SC06_006 | 2415 | 1749 | 0 | 2416 | 2511 | 96.2% |
| ov_SC06_008 | 2472 | 1751 | 0 | 2478 | 2542 | 97.5% |
| ov_SC06_010 | 2446 | 1749 | 0 | 2451 | 2517 | 97.4% |
| ov_SC06_011 | 2407 | 1749 | 0 | 2411 | 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 | 2476 | 1751 | 0 | 2483 | 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 | 2468 | 1750 | 0 | 2475 | 2658 | 93.1% |
| 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% |