Files
BFM-decomp/docs/progress.fleet.md
T
Drew T f3ec6ef588 fix(phase-30): treelock.sh — an flock MUTEX for tree-writing campaigns (incident 2: a poll is not a mutex)
I gated 8 binaries in parallel while wave-2's propagation loop was still running, then ran
'make clean' on top. check-all 77/140; the corpus denominator moved, so the apparent 91.4% instr
was a half-written tree, not a gain. Reverted to commit:1245 (last R22-verified) — 140/140 restored,
all 58 drafts survived because agents only ever write .run/.

ROOT CAUSE, and it was structural not unlucky: my guard was
  while pgrep -f dedup_propagate; do sleep; done
A CAMPAIGN is a LOOP of short-lived processes (15 sequential invocations), so it has gaps where no
process matches. The poll sampled a gap and started. Presence-of-a-process cannot express 'a
campaign owns the tree'.

treelock.sh holds one flock for the WHOLE campaign, released by the kernel on exit OR kill, with
--status; both drivers refuse to run unlocked. LAW: guard the CAMPAIGN, not the process.
Corollary (twice today): a killed process performs no undo — a fleet-tier write needs a lock ABOVE
it, not cleanup inside it.
2026-07-30 22:00:32 -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: 327125 / 353691 = 92.49% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) FLEET instr-weighted : 12008151 / 13141652 = 91.4% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 4757034 / 5634875 = 84.4% (75305/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: 12007715 / 13081451 = 91.8%)

FLEET REAL substantive : 325270 (of which dedup-shared 240625 via 1894 groups / 240699 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) FLEET INCLUDE_ASM stubs : 26559 FLEET matchable : 353691

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 2323 1750 0 2323 2403 96.7%
ov_SC01_001 2330 1751 0 2332 2466 94.6%
ov_SC01_004 2321 1742 0 2322 2414 96.2%
ov_SC01_005 2352 1765 0 2352 2503 94.0%
ov_SC01_006 2352 1765 0 2352 2503 94.0%
ov_SC01_008 2321 1742 0 2323 2426 95.8%
ov_SC01_009 2346 1743 0 2347 2507 93.6%
ov_SC01_074 2327 1743 0 2329 2425 96.0%
ov_SC01_077 2512 1710 0 2514 2586 97.2%
ov_SC01_080 2361 1746 0 2361 2512 94.0%
ov_SC01_084 2374 1746 0 2379 2579 92.2%
ov_SC02_000 2424 1781 0 2424 2683 90.3%
ov_SC02_003 2424 1781 0 2424 2683 90.3%
ov_SC02_004 2326 1746 0 2326 2401 96.9%
ov_SC02_005 2455 1742 0 2465 2927 84.2%
ov_SC02_011 2463 1749 0 2474 2893 85.5%
ov_SC02_015 2331 1748 0 2331 2414 96.6%
ov_SC02_016 2369 1748 0 2372 2545 93.2%
ov_SC02_017 2418 1748 0 2426 2732 88.8%
ov_SC02_021 2336 1748 0 2336 2437 95.9%
ov_SC02_026 2357 1746 0 2363 2572 91.9%
ov_SC02_027 2375 1746 0 2384 2692 88.6%
ov_SC02_028 2377 1746 0 2387 2701 88.4%
ov_SC02_031 2364 1747 0 2369 2562 92.5%
ov_SC02_035 2338 1746 0 2341 2520 92.9%
ov_SC02_039 2322 1746 0 2322 2416 96.1%
ov_SC02_041 2365 1746 0 2368 2561 92.5%
ov_SC03_001 2466 1747 0 2483 2869 86.5%
ov_SC03_002 2384 1751 0 2399 2631 91.2%
ov_SC03_003 2332 1746 0 2333 2423 96.3%
ov_SC03_006 2406 1752 0 2415 2767 87.3%
ov_SC03_007 2383 1746 0 2387 2623 91.0%
ov_SC03_010 2341 1746 0 2341 2471 94.7%
ov_SC03_011 2348 1746 0 2354 2527 93.2%
ov_SC03_012 2323 1746 0 2324 2406 96.6%
ov_SC03_013 2347 1746 0 2347 2493 94.1%
ov_SC03_014 2409 1771 0 2409 2685 89.7%
ov_SC03_015 2410 1771 0 2410 2685 89.8%
ov_SC03_023 2334 1746 0 2335 2435 95.9%
ov_SC03_024 2399 1751 0 2406 2641 91.1%
ov_SC03_028 2368 1746 0 2372 2664 89.0%
ov_SC03_029 2379 1748 0 2389 2644 90.4%
ov_SC03_030 2345 1751 0 2347 2495 94.1%
ov_SC03_031 2341 1746 0 2344 2514 93.2%
ov_SC03_089 2357 1746 0 2364 2581 91.6%
ov_SC03_090 2360 1746 0 2368 2625 90.2%
ov_SC03_091 2362 1746 0 2370 2640 89.8%
ov_SC03_092 2378 1746 0 2390 2587 92.4%
ov_SC03_093 2349 1746 0 2353 2563 91.8%
ov_SC03_094 2344 1746 0 2350 2577 91.2%
ov_SC03_095 2333 1746 0 2336 2474 94.4%
ov_SC03_096 2334 1746 0 2337 2465 94.8%
ov_SC03_097 2370 1746 0 2377 2603 91.3%
ov_SC03_098 2341 1746 0 2344 2541 92.2%
ov_SC03_099 2335 1746 0 2338 2504 93.4%
ov_SC03_100 2344 1746 0 2348 2539 92.5%
ov_SC03_101 2347 1746 0 2351 2528 93.0%
ov_SC03_102 2335 1746 0 2338 2492 93.8%
ov_SC03_103 2340 1748 0 2343 2510 93.3%
ov_SC03_104 2364 1746 0 2371 2616 90.6%
ov_SC03_105 2359 1746 0 2366 2597 91.1%
ov_SC03_108 2325 1746 0 2325 2443 95.2%
ov_SC03_109 2330 1746 0 2332 2424 96.2%
ov_SC03_110 2332 1746 0 2332 2468 94.5%
ov_SC03_111 2344 1746 0 2347 2510 93.5%
ov_SC03_112 2341 1748 0 2343 2526 92.8%
ov_SC03_113 2335 1748 0 2338 2468 94.7%
ov_SC03_114 2321 1746 0 2323 2415 96.2%
ov_SC03_115 2341 1746 0 2343 2472 94.8%
ov_SC03_116 2329 1746 0 2332 2438 95.7%
ov_SC03_117 2365 1746 0 2371 2556 92.8%
ov_SC03_118 2412 1770 0 2413 2685 89.9%
ov_SC03_119 2408 1770 0 2409 2685 89.7%
ov_SC03_121 2337 1746 0 2340 2459 95.2%
ov_SC03_124 2428 1742 0 2448 2741 89.3%
ov_SC03_125 2371 1746 0 2383 2588 92.1%
ov_SC03_126 2334 1748 0 2334 2423 96.3%
ov_SC04_000 2354 1750 0 2363 2546 92.8%
ov_SC04_002 2376 1746 0 2380 2636 90.3%
ov_SC04_003 2347 1746 0 2351 2502 94.0%
ov_SC04_004 2356 1746 0 2358 2558 92.2%
ov_SC04_005 2366 1746 0 2372 2612 90.8%
ov_SC04_006 2333 1746 0 2335 2454 95.2%
ov_SC04_007 2360 1746 0 2364 2569 92.0%
ov_SC04_008 2326 1746 0 2326 2415 96.3%
ov_SC04_009 2340 1746 0 2343 2441 96.0%
ov_SC04_010 2330 1746 0 2331 2418 96.4%
ov_SC04_011 2389 1746 0 2395 2802 85.5%
ov_SC04_012 2328 1746 0 2329 2419 96.3%
ov_SC04_015 2398 1747 0 2409 2610 92.3%
ov_SC04_016 2330 1746 0 2332 2439 95.6%
ov_SC04_018 2465 1781 0 2465 2856 86.3%
ov_SC04_019 2464 1781 0 2464 2856 86.3%
ov_SC04_020 2359 1746 0 2371 2566 92.4%
ov_SC04_021 2334 1748 0 2334 2422 96.4%
ov_SC05_000 2332 1750 0 2335 2421 96.4%
ov_SC05_001 2354 1746 0 2359 2573 91.7%
ov_SC05_002 2339 1746 0 2342 2441 95.9%
ov_SC05_003 2334 1746 0 2335 2480 94.2%
ov_SC05_004 2331 1746 0 2333 2463 94.7%
ov_SC05_005 2335 1746 0 2336 2490 93.8%
ov_SC05_006 2328 1746 0 2328 2429 95.8%
ov_SC05_007 2339 1746 0 2344 2481 94.5%
ov_SC05_008 2359 1746 0 2361 2542 92.9%
ov_SC05_009 2333 1746 0 2337 2437 95.9%
ov_SC05_010 2361 1746 0 2365 2587 91.4%
ov_SC05_011 2329 1746 0 2330 2408 96.8%
ov_SC05_017 2451 1743 0 2462 2841 86.7%
ov_SC05_018 2390 1746 0 2403 2672 89.9%
ov_SC05_019 2334 1748 0 2334 2422 96.4%
ov_SC06_000 2410 1755 0 2413 2690 89.7%
ov_SC06_006 2353 1746 0 2354 2511 93.7%
ov_SC06_008 2374 1748 0 2380 2542 93.6%
ov_SC06_010 2353 1746 0 2358 2517 93.7%
ov_SC06_011 2338 1746 0 2342 2468 94.9%
ov_SC06_013 2332 1746 0 2333 2425 96.2%
ov_SC06_014 2339 1746 0 2341 2453 95.4%
ov_SC06_015 2337 1746 0 2337 2421 96.5%
ov_SC06_016 2353 1746 0 2355 2549 92.4%
ov_SC06_018 2370 1748 0 2377 2665 89.2%
ov_SC06_020 2342 1748 0 2343 2518 93.1%
ov_SC06_022 2367 1746 0 2375 2642 89.9%
ov_SC06_024 2376 1746 0 2382 2667 89.3%
ov_SC06_025 2361 1746 0 2366 2572 92.0%
ov_SC06_027 2321 1746 0 2322 2408 96.4%
ov_SC06_029 2382 1746 0 2394 2662 89.9%
ov_SC06_030 2336 1746 0 2336 2456 95.1%
ov_SC06_032 2362 1747 0 2369 2658 89.1%
ov_SC06_033 2363 1747 0 2370 2631 90.1%
ov_SC07_000 2349 1750 0 2351 2521 93.3%
ov_SC07_001 2333 1746 0 2335 2454 95.2%
ov_SC07_002 2360 1746 0 2364 2579 91.7%
ov_SC07_006 2220 1560 0 2300 2456 93.6%
ov_SC07_007 2240 1592 0 2324 2613 88.9%
ov_SC07_008 2318 1746 0 2318 2385 97.2%
ov_SC07_009 2328 1746 0 2330 2429 95.9%
ov_SC07_010 2243 1614 0 2326 2523 92.2%
ov_SC07_011 2240 1591 0 2320 2448 94.8%