Files
BFM-decomp/docs/progress.fleet.md
T
Drew T a4bc49a23d feat(phase-30 S8): the x10-99 band closes 23/23; §137 makes REGALLOC-PERM arithmetic, not a permuter job
- S8-3 (23 fresh x10-99 families, 121-328 ins — the hardest band this session): draft 16/23 ->
  capture (1 PLUMBING / 6 DIFF) -> reconcile 1/1 -> redraft 6/6 => **23/23 (100%)**.
  Propagated 206 + 81 = 287 member-matches across 80+54 overlays. R22 clean-fleet 140/140.
  FLEET 95.97% fn / 93.4% instr / 87.5% distinct (77,404 uniq); dedup 1905/0; 0 NON_MATCHING.
- §136b CLOSES AT 15/15 — no function ledgered "genuine byte-DIFF" survived a redraft, all session.
- §137 (NEW, the session's most reusable result): REGALLOC-PERM — a clean 2-register swap — is a
  TWO-COMPILE ARITHMETIC PROBLEM. global.c:allocno_compare ranks by floor_log2(R)*R/L*1e4*size;
  read R and L out of `cc1 -dl -dg` for BOTH contenders AND their ranked neighbours to get the
  admissible priority WINDOW, then place a zero-byte `__asm__ __volatile__("" ::"r"(v))` so L lands
  inside it. func_801833F0: contenders ONE unit apart (1297 vs 1296), window (1228,1296), five
  placements probed, only L=219 -> pri 1232 worked. R and L are FORCED BY THE EMITTED CODE (L is
  recomputed post-sched1), which is exactly why source-reordering is a dead end for this class.
  Converts a class the permuter banked 0 from all session into a deterministic calculation.
  Companion: floor_log2 makes ref-count a STEP function (5/6/7 refs are worthless, you must reach 8)
  — func_8017EFA8 closed 30 register-name mismatches by taking a pseudo 4 refs -> 8 with a dead read.
- §136j — the failure MIX FLIPS WITH SIZE: <=120 ins fails ~70% on declarations; 121-328 ins fails
  86% on genuine codegen. Budget reconcile for the small band, redraft for the big one — and do NOT
  read 70% on a big-function wave as a broken pipeline; that is the expected shape.
- §137a — a gate verdict has a TIMESTAMP. Two "DIFF" ledger entries were STALE (draft rewritten 28
  min after the gate ran, never re-gated); both were already byte-perfect. Compare verdict time to
  draft mtime before redrafting. Plus two offline oracles an agent built: a FULL RELOCATION RESOLVE
  (catches wrong jal/%hi/%lo targets that match_one's mask hides) and a COLLATERAL CHECK (whole-TU
  objdump with/without splice). Together they discriminate all three causes of "match_one says MATCH
  but the overlay SHA differs" without running make.
- §136f addendum — the collider is often an already-banked SIBLING BELOW the splice; locate it by
  arithmetic (draft grows the file N lines, so TU line L reports at L+N).
- cookbook-index 380 -> 382 sections.
2026-08-03 16:25:06 -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: 339450 / 353721 = 95.97% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 12271975 / 13141652 = 93.4% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4930696 / 5634875 = 87.5% (77404/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: 12271539 / 13081451 = 93.8%)

FLEET REAL substantive : 337595 (of which dedup-shared 240422 via 1905 groups / 240496 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 14264 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 2377 1748 0 2377 2403 98.9%
ov_SC01_001 2385 1749 0 2387 2466 96.8%
ov_SC01_004 2379 1740 0 2380 2414 98.6%
ov_SC01_005 2409 1763 0 2409 2503 96.2%
ov_SC01_006 2409 1763 0 2409 2503 96.2%
ov_SC01_008 2379 1740 0 2381 2426 98.1%
ov_SC01_009 2405 1741 0 2406 2507 96.0%
ov_SC01_074 2383 1741 0 2385 2425 98.4%
ov_SC01_077 2536 1707 0 2538 2586 98.1%
ov_SC01_080 2412 1744 0 2412 2512 96.0%
ov_SC01_084 2437 1749 0 2442 2579 94.7%
ov_SC02_000 2500 1788 0 2500 2683 93.2%
ov_SC02_003 2500 1788 0 2500 2683 93.2%
ov_SC02_004 2377 1744 0 2377 2401 99.0%
ov_SC02_005 2524 1740 0 2534 2927 86.6%
ov_SC02_011 2605 1747 0 2616 2893 90.4%
ov_SC02_015 2388 1746 0 2388 2414 98.9%
ov_SC02_016 2468 1746 0 2471 2545 97.1%
ov_SC02_017 2536 1746 0 2544 2732 93.1%
ov_SC02_021 2393 1746 0 2393 2437 98.2%
ov_SC02_026 2483 1744 0 2489 2572 96.8%
ov_SC02_027 2540 1744 0 2549 2692 94.7%
ov_SC02_028 2545 1744 0 2555 2701 94.6%
ov_SC02_031 2480 1745 0 2485 2562 97.0%
ov_SC02_035 2467 1744 0 2470 2520 98.0%
ov_SC02_039 2382 1744 0 2382 2416 98.6%
ov_SC02_041 2458 1744 0 2461 2561 96.1%
ov_SC03_001 2641 1745 0 2658 2869 92.6%
ov_SC03_002 2519 1749 0 2534 2631 96.3%
ov_SC03_003 2386 1744 0 2387 2423 98.5%
ov_SC03_006 2534 1750 0 2543 2767 91.9%
ov_SC03_007 2449 1744 0 2453 2623 93.5%
ov_SC03_010 2402 1744 0 2402 2471 97.2%
ov_SC03_011 2404 1744 0 2410 2527 95.4%
ov_SC03_012 2376 1744 0 2377 2406 98.8%
ov_SC03_013 2408 1744 0 2408 2493 96.6%
ov_SC03_014 2553 1772 0 2553 2685 95.1%
ov_SC03_015 2554 1772 0 2554 2685 95.1%
ov_SC03_023 2388 1744 0 2389 2435 98.1%
ov_SC03_024 2497 1749 0 2504 2641 94.8%
ov_SC03_028 2443 1744 0 2447 2664 91.9%
ov_SC03_029 2486 1746 0 2496 2644 94.4%
ov_SC03_030 2405 1749 0 2407 2495 96.5%
ov_SC03_031 2435 1744 0 2438 2514 97.0%
ov_SC03_089 2492 1749 0 2499 2581 96.8%
ov_SC03_090 2501 1749 0 2509 2625 95.6%
ov_SC03_091 2515 1744 0 2523 2640 95.6%
ov_SC03_092 2486 1749 0 2498 2587 96.6%
ov_SC03_093 2500 1744 0 2504 2563 97.7%
ov_SC03_094 2483 1744 0 2489 2577 96.6%
ov_SC03_095 2416 1744 0 2419 2474 97.8%
ov_SC03_096 2413 1744 0 2416 2465 98.0%
ov_SC03_097 2507 1744 0 2514 2603 96.6%
ov_SC03_098 2488 1744 0 2491 2541 98.0%
ov_SC03_099 2469 1744 0 2472 2504 98.7%
ov_SC03_100 2504 1744 0 2508 2539 98.8%
ov_SC03_101 2464 1749 0 2468 2528 97.6%
ov_SC03_102 2453 1744 0 2456 2492 98.6%
ov_SC03_103 2476 1746 0 2479 2510 98.8%
ov_SC03_104 2521 1749 0 2528 2616 96.6%
ov_SC03_105 2428 1744 0 2435 2597 93.8%
ov_SC03_108 2385 1744 0 2385 2443 97.6%
ov_SC03_109 2395 1744 0 2397 2424 98.9%
ov_SC03_110 2427 1744 0 2427 2468 98.3%
ov_SC03_111 2454 1744 0 2457 2510 97.9%
ov_SC03_112 2416 1746 0 2418 2526 95.7%
ov_SC03_113 2417 1746 0 2420 2468 98.1%
ov_SC03_114 2376 1744 0 2378 2415 98.5%
ov_SC03_115 2418 1744 0 2420 2472 97.9%
ov_SC03_116 2385 1744 0 2388 2438 97.9%
ov_SC03_117 2451 1744 0 2457 2557 96.1%
ov_SC03_118 2520 1768 0 2521 2685 93.9%
ov_SC03_119 2516 1768 0 2517 2685 93.7%
ov_SC03_121 2391 1744 0 2394 2459 97.4%
ov_SC03_124 2552 1740 0 2572 2741 93.8%
ov_SC03_125 2506 1744 0 2518 2588 97.3%
ov_SC03_126 2387 1746 0 2387 2423 98.5%
ov_SC04_000 2460 1748 0 2469 2546 97.0%
ov_SC04_002 2486 1744 0 2490 2636 94.5%
ov_SC04_003 2424 1744 0 2428 2502 97.0%
ov_SC04_004 2456 1744 0 2458 2558 96.1%
ov_SC04_005 2481 1744 0 2487 2612 95.2%
ov_SC04_006 2417 1744 0 2419 2454 98.6%
ov_SC04_007 2475 1744 0 2479 2569 96.5%
ov_SC04_008 2388 1744 0 2388 2415 98.9%
ov_SC04_009 2414 1744 0 2417 2441 99.0%
ov_SC04_010 2390 1744 0 2391 2419 98.8%
ov_SC04_011 2498 1749 0 2504 2803 89.3%
ov_SC04_012 2385 1744 0 2386 2420 98.6%
ov_SC04_015 2512 1745 0 2523 2611 96.6%
ov_SC04_016 2385 1744 0 2387 2440 97.8%
ov_SC04_018 2652 1780 0 2652 2857 92.8%
ov_SC04_019 2644 1780 0 2644 2857 92.5%
ov_SC04_020 2493 1744 0 2505 2567 97.6%
ov_SC04_021 2387 1746 0 2387 2423 98.5%
ov_SC05_000 2394 1748 0 2397 2422 99.0%
ov_SC05_001 2462 1744 0 2467 2574 95.8%
ov_SC05_002 2417 1744 0 2420 2442 99.1%
ov_SC05_003 2397 1744 0 2398 2481 96.7%
ov_SC05_004 2406 1744 0 2408 2464 97.7%
ov_SC05_005 2423 1749 0 2424 2491 97.3%
ov_SC05_006 2410 1744 0 2410 2430 99.2%
ov_SC05_007 2417 1744 0 2422 2482 97.6%
ov_SC05_008 2430 1744 0 2432 2543 95.6%
ov_SC05_009 2395 1744 0 2399 2438 98.4%
ov_SC05_010 2432 1744 0 2436 2588 94.1%
ov_SC05_011 2384 1744 0 2385 2409 99.0%
ov_SC05_017 2624 1741 0 2635 2842 92.7%
ov_SC05_018 2523 1744 0 2536 2673 94.9%
ov_SC05_019 2387 1746 0 2387 2423 98.5%
ov_SC06_000 2510 1753 0 2513 2691 93.4%
ov_SC06_006 2408 1744 0 2409 2511 95.9%
ov_SC06_008 2459 1746 0 2465 2542 97.0%
ov_SC06_010 2433 1744 0 2438 2517 96.9%
ov_SC06_011 2401 1744 0 2405 2468 97.4%
ov_SC06_013 2391 1744 0 2392 2425 98.6%
ov_SC06_014 2402 1744 0 2404 2453 98.0%
ov_SC06_015 2396 1744 0 2396 2421 99.0%
ov_SC06_016 2438 1744 0 2440 2549 95.7%
ov_SC06_018 2454 1746 0 2461 2665 92.3%
ov_SC06_020 2422 1746 0 2423 2518 96.2%
ov_SC06_022 2443 1744 0 2451 2642 92.8%
ov_SC06_024 2462 1744 0 2468 2667 92.5%
ov_SC06_025 2439 1744 0 2444 2572 95.0%
ov_SC06_027 2379 1744 0 2380 2408 98.8%
ov_SC06_029 2459 1744 0 2471 2662 92.8%
ov_SC06_030 2399 1744 0 2399 2456 97.7%
ov_SC06_032 2446 1745 0 2453 2658 92.3%
ov_SC06_033 2448 1745 0 2455 2631 93.3%
ov_SC07_000 2419 1748 0 2421 2521 96.0%
ov_SC07_001 2391 1744 0 2393 2454 97.5%
ov_SC07_002 2443 1744 0 2447 2579 94.9%
ov_SC07_006 2296 1560 0 2376 2456 96.7%
ov_SC07_007 2313 1592 0 2397 2613 91.7%
ov_SC07_008 2373 1744 0 2373 2386 99.5%
ov_SC07_009 2382 1744 0 2384 2430 98.1%
ov_SC07_010 2295 1614 0 2378 2524 94.2%
ov_SC07_011 2314 1591 0 2394 2449 97.8%