Files
BFM-decomp/docs/progress.fleet.md
T
Drew T c7ad41c8a3 feat(phase-30 T6/S11): the propagation lag — EXTEND 31/36, and the PROPAGATE head measured
Continues the S11 lane. Fleet 96.01 -> 96.06% fn-count / 93.6 -> 93.7% instr /
88.0% distinct; dedup 1905 -> 1907 groups, 0 failed, C1 240669/240669.
R22 clean-fleet: 140 passed, 0 failed of 140. 0 NON_MATCHING (G4).

EXTEND (SC07): the 16 volatile-blocked DIFF slots banked on retry after the
data asm-label alias -> lane total 31/36.

PROPAGATE head, measured rather than projected. .run/s8_lag.json re-split: the
checkpoint's "45 classes / 20,837 ins" is really 5 classes carrying 18,545 ins
(89%) and 41 carrying 2,316. Per-class outcome:

  func_80147364  30x137 = 4,110  BANKED x137 (definition-side asm-label alias)
  func_8012f274  29x137 = 3,973  DROPPED — byte-diverges in ~130 overlays
  func_8016ba68  29x134 = 3,886  4 of 138 banked; excluded from ~130
  func_8012a598  24x137 = 3,288  SKIPPED, cause NAMED by the tool
  func_801466f0  24x137 = 3,288  no source found — the S6b D4 gap, still open

  func_80147364's byte-true definition is `(u16, u16)` while 4,046 fleet decls
  say `(u16, s32)`. u16 is a default-promotion type, so the `()` no-prototype
  escape is ILLEGAL (the documented gcc-2.7.2 dead-end) and conforming the decl
  would change caller codegen. The DEFINITION-SIDE asm-label alias gives the def
  a distinct C identifier while emitting the real symbol -- zero blast radius on
  every caller. Probed on ONE member first (1 build, not 137 -- the S29
  discipline): byte-identical 9052dc0e first try; then 137 overlays clean.
  In-tree precedent for the form: 1,725 files.

MEASURED NEGATIVE, recorded not buried: `dedup_propagate --recover` banked only
4 of 138 on func_8016ba68 and dropped func_8012f274 entirely (137 [exclude]
lines). The caller-extern reconcile that is 16/16 lifetime ON DRAFTS does NOT
transfer to PROPAGATION of these two. Cause not yet diagnosed -- probe one
excluded overlay's build output before any further attempt (§136a), do not
re-run the lever hoping.

NAMED NEXT (cheapest first): func_8012a598 skips on `missing file-scope extern
(CARRY-FIXABLE): D_801151D4, D_80126DB8_a, D_80127504` -- the SESSION-18
preamble-backscan class. Its body is 2 statements and `struct BigCopy` is
ALREADY in the shared engine_types.h (L312) with the identical statement already
macro-ized at engine_core.h:16158, so a hand-authored macro (the func_80147364
path) should take it x137 for ~0 tokens.

Process errors recorded in CURRENT_PHASE.md, all three one mechanism -- the
signal sampled is not the thing waited for: (1) a `nohup CMD &` wrapper's exit
read as the fleet check finishing (it stood at 63/140); (2) a corpus.stubs probe
mid-rebuild, which R32's coverage assertion refused rather than answer wrongly;
(3) CORRECTION to the S10 checkpoint's own rule -- `pgrep -x make` is right for
one make and WRONG for a campaign of sequential makes (it fired in a gap and
reported a live campaign done), and `pgrep -f <pattern>` SELF-MATCHES so that
waiter can never exit. Wait on the campaign process or `treelock.sh --status`.
2026-08-03 23:41:34 -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: 339777 / 353721 = 96.06% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 12311280 / 13141652 = 93.7% (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: 12310844 / 13081451 = 94.1%)

FLEET REAL substantive : 337922 (of which dedup-shared 240595 via 1907 groups / 240669 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 13937 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 2378 1749 0 2378 2403 99.0%
ov_SC01_001 2386 1750 0 2388 2466 96.8%
ov_SC01_004 2380 1741 0 2381 2414 98.6%
ov_SC01_005 2410 1764 0 2410 2503 96.3%
ov_SC01_006 2410 1764 0 2410 2503 96.3%
ov_SC01_008 2380 1741 0 2382 2426 98.2%
ov_SC01_009 2406 1742 0 2407 2507 96.0%
ov_SC01_074 2385 1742 0 2387 2425 98.4%
ov_SC01_077 2537 1708 0 2539 2586 98.2%
ov_SC01_080 2413 1745 0 2413 2512 96.1%
ov_SC01_084 2438 1750 0 2443 2579 94.7%
ov_SC02_000 2503 1789 0 2503 2683 93.3%
ov_SC02_003 2503 1789 0 2503 2683 93.3%
ov_SC02_004 2378 1745 0 2378 2401 99.0%
ov_SC02_005 2525 1741 0 2535 2927 86.6%
ov_SC02_011 2608 1748 0 2619 2893 90.5%
ov_SC02_015 2389 1747 0 2389 2414 99.0%
ov_SC02_016 2470 1747 0 2473 2545 97.2%
ov_SC02_017 2538 1747 0 2546 2732 93.2%
ov_SC02_021 2394 1747 0 2394 2437 98.2%
ov_SC02_026 2485 1745 0 2491 2572 96.9%
ov_SC02_027 2542 1745 0 2551 2692 94.8%
ov_SC02_028 2547 1745 0 2557 2701 94.7%
ov_SC02_031 2481 1746 0 2486 2562 97.0%
ov_SC02_035 2469 1745 0 2472 2520 98.1%
ov_SC02_039 2383 1745 0 2383 2416 98.6%
ov_SC02_041 2460 1745 0 2463 2561 96.2%
ov_SC03_001 2646 1746 0 2663 2869 92.8%
ov_SC03_002 2522 1750 0 2537 2631 96.4%
ov_SC03_003 2387 1745 0 2388 2423 98.6%
ov_SC03_006 2536 1751 0 2545 2767 92.0%
ov_SC03_007 2450 1745 0 2454 2623 93.6%
ov_SC03_010 2403 1745 0 2403 2471 97.2%
ov_SC03_011 2405 1745 0 2411 2527 95.4%
ov_SC03_012 2377 1745 0 2378 2406 98.8%
ov_SC03_013 2409 1745 0 2409 2493 96.6%
ov_SC03_014 2556 1773 0 2556 2685 95.2%
ov_SC03_015 2556 1773 0 2556 2685 95.2%
ov_SC03_023 2389 1745 0 2390 2435 98.2%
ov_SC03_024 2498 1750 0 2505 2641 94.9%
ov_SC03_028 2446 1745 0 2450 2664 92.0%
ov_SC03_029 2489 1747 0 2499 2644 94.5%
ov_SC03_030 2407 1750 0 2409 2495 96.6%
ov_SC03_031 2436 1745 0 2439 2514 97.0%
ov_SC03_089 2494 1750 0 2501 2581 96.9%
ov_SC03_090 2504 1750 0 2512 2625 95.7%
ov_SC03_091 2518 1745 0 2526 2640 95.7%
ov_SC03_092 2487 1750 0 2499 2587 96.6%
ov_SC03_093 2501 1745 0 2505 2563 97.7%
ov_SC03_094 2485 1745 0 2491 2577 96.7%
ov_SC03_095 2417 1745 0 2420 2474 97.8%
ov_SC03_096 2414 1745 0 2417 2465 98.1%
ov_SC03_097 2508 1745 0 2515 2603 96.6%
ov_SC03_098 2490 1745 0 2493 2541 98.1%
ov_SC03_099 2471 1745 0 2474 2504 98.8%
ov_SC03_100 2506 1745 0 2510 2539 98.9%
ov_SC03_101 2466 1750 0 2470 2528 97.7%
ov_SC03_102 2455 1745 0 2458 2492 98.6%
ov_SC03_103 2478 1747 0 2481 2510 98.8%
ov_SC03_104 2523 1750 0 2530 2616 96.7%
ov_SC03_105 2431 1745 0 2438 2597 93.9%
ov_SC03_108 2386 1745 0 2386 2443 97.7%
ov_SC03_109 2396 1745 0 2398 2424 98.9%
ov_SC03_110 2428 1745 0 2428 2468 98.4%
ov_SC03_111 2458 1745 0 2461 2510 98.0%
ov_SC03_112 2419 1747 0 2421 2526 95.8%
ov_SC03_113 2420 1747 0 2423 2468 98.2%
ov_SC03_114 2378 1745 0 2380 2415 98.6%
ov_SC03_115 2419 1745 0 2421 2472 97.9%
ov_SC03_116 2386 1745 0 2389 2438 98.0%
ov_SC03_117 2454 1745 0 2460 2557 96.2%
ov_SC03_118 2524 1769 0 2525 2685 94.0%
ov_SC03_119 2520 1769 0 2521 2685 93.9%
ov_SC03_121 2392 1745 0 2395 2459 97.4%
ov_SC03_124 2556 1741 0 2576 2741 94.0%
ov_SC03_125 2509 1745 0 2521 2588 97.4%
ov_SC03_126 2388 1747 0 2388 2423 98.6%
ov_SC04_000 2461 1749 0 2470 2546 97.0%
ov_SC04_002 2488 1745 0 2492 2636 94.5%
ov_SC04_003 2425 1745 0 2429 2502 97.1%
ov_SC04_004 2458 1745 0 2460 2558 96.2%
ov_SC04_005 2482 1745 0 2488 2612 95.3%
ov_SC04_006 2418 1745 0 2420 2454 98.6%
ov_SC04_007 2476 1745 0 2480 2569 96.5%
ov_SC04_008 2389 1745 0 2389 2415 98.9%
ov_SC04_009 2415 1745 0 2418 2441 99.1%
ov_SC04_010 2391 1745 0 2392 2419 98.9%
ov_SC04_011 2502 1750 0 2508 2803 89.5%
ov_SC04_012 2386 1745 0 2387 2420 98.6%
ov_SC04_015 2514 1746 0 2525 2611 96.7%
ov_SC04_016 2389 1745 0 2391 2440 98.0%
ov_SC04_018 2658 1781 0 2658 2857 93.0%
ov_SC04_019 2650 1781 0 2650 2857 92.8%
ov_SC04_020 2496 1745 0 2508 2567 97.7%
ov_SC04_021 2388 1747 0 2388 2423 98.6%
ov_SC05_000 2395 1749 0 2398 2422 99.0%
ov_SC05_001 2463 1745 0 2468 2574 95.9%
ov_SC05_002 2418 1745 0 2421 2442 99.1%
ov_SC05_003 2399 1745 0 2400 2481 96.7%
ov_SC05_004 2409 1745 0 2411 2464 97.8%
ov_SC05_005 2425 1750 0 2426 2491 97.4%
ov_SC05_006 2411 1745 0 2411 2430 99.2%
ov_SC05_007 2418 1745 0 2423 2482 97.6%
ov_SC05_008 2431 1745 0 2433 2543 95.7%
ov_SC05_009 2396 1745 0 2400 2438 98.4%
ov_SC05_010 2434 1745 0 2438 2588 94.2%
ov_SC05_011 2385 1745 0 2386 2409 99.0%
ov_SC05_017 2629 1742 0 2640 2842 92.9%
ov_SC05_018 2525 1745 0 2538 2673 94.9%
ov_SC05_019 2388 1747 0 2388 2423 98.6%
ov_SC06_000 2512 1754 0 2515 2691 93.5%
ov_SC06_006 2410 1745 0 2411 2511 96.0%
ov_SC06_008 2464 1747 0 2470 2542 97.2%
ov_SC06_010 2438 1745 0 2443 2517 97.1%
ov_SC06_011 2402 1745 0 2406 2468 97.5%
ov_SC06_013 2392 1745 0 2393 2425 98.7%
ov_SC06_014 2403 1745 0 2405 2453 98.0%
ov_SC06_015 2397 1745 0 2397 2421 99.0%
ov_SC06_016 2439 1745 0 2441 2549 95.8%
ov_SC06_018 2465 1747 0 2472 2665 92.8%
ov_SC06_020 2426 1747 0 2427 2518 96.4%
ov_SC06_022 2452 1745 0 2460 2642 93.1%
ov_SC06_024 2471 1745 0 2477 2667 92.9%
ov_SC06_025 2440 1745 0 2445 2572 95.1%
ov_SC06_027 2380 1745 0 2381 2408 98.9%
ov_SC06_029 2461 1745 0 2473 2662 92.9%
ov_SC06_030 2400 1745 0 2400 2456 97.7%
ov_SC06_032 2458 1746 0 2465 2658 92.7%
ov_SC06_033 2457 1746 0 2464 2631 93.7%
ov_SC07_000 2420 1749 0 2422 2521 96.1%
ov_SC07_001 2392 1745 0 2394 2454 97.6%
ov_SC07_002 2445 1745 0 2449 2579 95.0%
ov_SC07_006 2304 1570 0 2384 2456 97.1%
ov_SC07_007 2322 1602 0 2406 2613 92.1%
ov_SC07_008 2374 1745 0 2374 2386 99.5%
ov_SC07_009 2386 1745 0 2388 2430 98.3%
ov_SC07_010 2303 1623 0 2386 2524 94.5%
ov_SC07_011 2323 1601 0 2403 2449 98.1%