Files
BFM-decomp/docs/progress.fleet.md
T
Drew T aefe2eac18 feat(phase-15): T5a — bulk-propagate 553 shared functions fleet-wide (3.82% -> 22.14%)
- dedup_propagate --auto-from ov_SC01_077: propagated 553 already-matched, self-contained
  shared engine functions across all 134 overlays, each byte-gated. 9 functions skipped
  (use 077-local struct types -> not mechanically liftable; honest, P9). One R22 CLEAN
  rebuild: 136/136 byte-identical.
- fleet REAL 947 -> 74,527; byte-identical 13,132 -> 76,174 / 344,010 = 22.14%; 561 dedup
  groups, dedup-check 561 validated / 0 failed
- tool hardening for fleet scale: registry SHORTHAND (vram + binaries; dedup.us.yaml ~4k
  lines vs ~77k verbose); per-overlay apply (one read/write per file); gate-only-changed;
  skip already-registered (additive/resumable); compile pre-filter (body must build with
  common.h alone); group_members() reader (both forms) in dedup_integrate + progress;
  progress _DEDUP_CACHE (fleet 6m -> 7s)
- the first bulk attempt fail-closed-reverted on a local-typed body (byte-gate working) ->
  added the compile filter; cookbook 14a documents the 5 fleet-bulk lessons
- ghidra/ churn NOT staged (R23)
2026-06-16 20:35:39 -06:00

7.8 KiB

BFM FLEET matching progress (generated by tools/progress.py --fleet — authoritative)

136 binaries: main + resident + 134 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.

FLEET REAL substantive : 74527 (of which dedup-shared 74126 via 561 groups / 74126 instances) FLEET LINKED PsyQ objs : 959 FLEET byte-identical : 76174 / 344010 = 22.14% (REAL+LINKED+empties) FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 267829 FLEET matchable : 344010

binary REAL shared LINKED byte-ident matchable byte-ident %
main 54 2 959 1055 2096 50.3%
resident 123 0 0 125 146 85.6%
ov_SC01_000 557 557 0 557 2403 23.2%
ov_SC01_001 557 557 0 559 2467 22.7%
ov_SC01_004 549 549 0 550 2416 22.8%
ov_SC01_005 556 556 0 563 2504 22.5%
ov_SC01_006 556 556 0 563 2504 22.5%
ov_SC01_008 549 549 0 551 2428 22.7%
ov_SC01_009 549 549 0 550 2510 21.9%
ov_SC01_074 549 549 0 551 2427 22.7%
ov_SC01_077 783 557 0 785 2586 30.4%
ov_SC01_080 553 553 0 553 2515 22.0%
ov_SC01_084 553 553 0 558 2581 21.6%
ov_SC02_000 557 557 0 564 2684 21.0%
ov_SC02_003 557 557 0 564 2684 21.0%
ov_SC02_004 553 553 0 553 2403 23.0%
ov_SC02_005 549 549 0 559 2930 19.1%
ov_SC02_011 553 553 0 565 2896 19.5%
ov_SC02_015 553 553 0 553 2416 22.9%
ov_SC02_016 553 553 0 556 2548 21.8%
ov_SC02_017 553 553 0 561 2735 20.5%
ov_SC02_021 553 553 0 553 2439 22.7%
ov_SC02_026 553 553 0 559 2575 21.7%
ov_SC02_027 553 553 0 562 2695 20.9%
ov_SC02_028 553 553 0 563 2704 20.8%
ov_SC02_031 553 553 0 559 2565 21.8%
ov_SC02_035 553 553 0 556 2523 22.0%
ov_SC02_039 553 553 0 553 2418 22.9%
ov_SC02_041 553 553 0 556 2563 21.7%
ov_SC03_001 553 553 0 571 2870 19.9%
ov_SC03_002 557 557 0 573 2632 21.8%
ov_SC03_003 553 553 0 554 2425 22.8%
ov_SC03_006 557 557 0 566 2768 20.4%
ov_SC03_007 553 553 0 557 2626 21.2%
ov_SC03_010 553 553 0 553 2472 22.4%
ov_SC03_011 553 553 0 559 2530 22.1%
ov_SC03_012 553 553 0 554 2408 23.0%
ov_SC03_013 553 553 0 553 2495 22.2%
ov_SC03_014 553 553 0 563 2688 20.9%
ov_SC03_015 553 553 0 563 2688 20.9%
ov_SC03_023 553 553 0 554 2437 22.7%
ov_SC03_024 553 553 0 565 2644 21.4%
ov_SC03_028 553 553 0 557 2667 20.9%
ov_SC03_029 553 553 0 563 2647 21.3%
ov_SC03_030 553 553 0 555 2498 22.2%
ov_SC03_031 553 553 0 557 2517 22.1%
ov_SC03_089 553 553 0 560 2584 21.7%
ov_SC03_090 553 553 0 561 2628 21.3%
ov_SC03_091 553 553 0 561 2643 21.2%
ov_SC03_092 553 553 0 565 2590 21.8%
ov_SC03_093 553 553 0 557 2566 21.7%
ov_SC03_094 553 553 0 559 2579 21.7%
ov_SC03_095 553 553 0 556 2477 22.4%
ov_SC03_096 553 553 0 556 2468 22.5%
ov_SC03_097 553 553 0 560 2606 21.5%
ov_SC03_098 553 553 0 556 2544 21.9%
ov_SC03_099 553 553 0 556 2507 22.2%
ov_SC03_100 553 553 0 557 2542 21.9%
ov_SC03_101 553 553 0 557 2531 22.0%
ov_SC03_102 553 553 0 556 2495 22.3%
ov_SC03_103 553 553 0 556 2513 22.1%
ov_SC03_104 553 553 0 560 2619 21.4%
ov_SC03_105 553 553 0 560 2600 21.5%
ov_SC03_108 553 553 0 553 2446 22.6%
ov_SC03_109 553 553 0 555 2426 22.9%
ov_SC03_110 553 553 0 553 2471 22.4%
ov_SC03_111 553 553 0 556 2513 22.1%
ov_SC03_112 553 553 0 555 2529 21.9%
ov_SC03_113 553 553 0 556 2471 22.5%
ov_SC03_114 553 553 0 555 2417 23.0%
ov_SC03_115 553 553 0 555 2475 22.4%
ov_SC03_116 553 553 0 556 2441 22.8%
ov_SC03_117 553 553 0 559 2560 21.8%
ov_SC03_118 553 553 0 566 2688 21.1%
ov_SC03_119 553 553 0 566 2688 21.1%
ov_SC03_121 553 553 0 556 2462 22.6%
ov_SC03_124 549 549 0 569 2744 20.7%
ov_SC03_125 553 553 0 565 2591 21.8%
ov_SC03_126 553 553 0 554 2425 22.8%
ov_SC04_000 557 557 0 566 2547 22.2%
ov_SC04_002 553 553 0 557 2639 21.1%
ov_SC04_003 553 553 0 557 2505 22.2%
ov_SC04_004 553 553 0 555 2561 21.7%
ov_SC04_005 553 553 0 559 2615 21.4%
ov_SC04_006 553 553 0 555 2456 22.6%
ov_SC04_007 553 553 0 557 2572 21.7%
ov_SC04_008 553 553 0 553 2417 22.9%
ov_SC04_009 553 553 0 556 2443 22.8%
ov_SC04_010 553 553 0 554 2421 22.9%
ov_SC04_011 553 553 0 559 2806 19.9%
ov_SC04_012 553 553 0 554 2422 22.9%
ov_SC04_015 553 553 0 565 2614 21.6%
ov_SC04_016 553 553 0 555 2442 22.7%
ov_SC04_018 553 553 0 566 2858 19.8%
ov_SC04_019 553 553 0 566 2858 19.8%
ov_SC04_020 553 553 0 565 2570 22.0%
ov_SC04_021 553 553 0 554 2425 22.8%
ov_SC05_000 557 557 0 560 2422 23.1%
ov_SC05_001 553 553 0 558 2577 21.7%
ov_SC05_002 553 553 0 556 2445 22.7%
ov_SC05_003 553 553 0 554 2484 22.3%
ov_SC05_004 553 553 0 555 2467 22.5%
ov_SC05_005 553 553 0 554 2494 22.2%
ov_SC05_006 553 553 0 553 2432 22.7%
ov_SC05_007 553 553 0 558 2485 22.5%
ov_SC05_008 553 553 0 555 2546 21.8%
ov_SC05_009 553 553 0 557 2440 22.8%
ov_SC05_010 553 553 0 557 2591 21.5%
ov_SC05_011 553 553 0 554 2411 23.0%
ov_SC05_017 549 549 0 561 2845 19.7%
ov_SC05_018 553 553 0 566 2676 21.2%
ov_SC05_019 553 553 0 554 2425 22.8%
ov_SC06_000 557 557 0 565 2692 21.0%
ov_SC06_006 553 553 0 554 2514 22.0%
ov_SC06_008 553 553 0 559 2544 22.0%
ov_SC06_010 553 553 0 558 2520 22.1%
ov_SC06_011 553 553 0 557 2471 22.5%
ov_SC06_013 553 553 0 554 2427 22.8%
ov_SC06_014 553 553 0 555 2455 22.6%
ov_SC06_015 553 553 0 553 2423 22.8%
ov_SC06_016 553 553 0 555 2552 21.7%
ov_SC06_018 553 553 0 561 2668 21.0%
ov_SC06_020 553 553 0 554 2521 22.0%
ov_SC06_022 553 553 0 561 2645 21.2%
ov_SC06_024 553 553 0 559 2670 20.9%
ov_SC06_025 553 553 0 558 2575 21.7%
ov_SC06_027 553 553 0 554 2410 23.0%
ov_SC06_029 553 553 0 565 2665 21.2%
ov_SC06_030 553 553 0 553 2459 22.5%
ov_SC06_032 553 553 0 560 2661 21.0%
ov_SC06_033 553 553 0 560 2634 21.3%
ov_SC07_000 557 557 0 559 2522 22.2%
ov_SC07_001 553 553 0 555 2457 22.6%
ov_SC07_002 553 553 0 557 2582 21.6%
ov_SC07_008 553 553 0 553 2388 23.2%
ov_SC07_009 553 553 0 555 2432 22.8%