Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 138e21c7d4 feat(phase-30 S33e): both gate-refused drafts reconciled — the lane is 18/18 lifetime
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.
2026-08-04 03:34:51 -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: 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%