mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
ed53a68f18
The S67 FINAL-3 OPEN item, plus the two defects found while doing it. * fix(dedup_propagate): the tool could not run AT ALL. S67's -j patch wrote `os.environ` at module level in the one module that imports `os as _os`, so every invocation died with NameError before doing any work. Propagation was not deferred, it was impossible. Import-checked the other 7 -j-patched tools. * propagation, honestly scoped: the real closable set is 11, not 32, derived two independent ways that agree (seed_ref exact+same_addr, and a direct corpus derivation). The 3,161-entry --auto-from plan over 53 overlays is dedup hygiene over already-matched code and closes almost no open stub. Applied: 2 banked byte-green (ov_SC04_018 func_80181270, func_80182AF8); 3 gate-refused and cleanly reverted; 6 blocked with named blockers (3 CARRY-FIXABLE, 3 func_80144B9C not-inline-def -> needs the o0 whale carve). R22 clean fleet: extract 212/212, check 213 passed 0 failed of 213, rc 0/0/0. Frontier 453 -> 451. * fix(seed_ref): REFUSE targets in LINKED subsegs. The playbook calls this tool "the fleet-wide answer" and it reported 82 open stubs with a banked twin -- 43 of them main stubs whose TUs the linker script never references. Any C written there compiles, links and leaves the SHA1 green WHETHER OR NOT IT IS CORRECT, so a mechanical twin lane fed from that list could have minted up to 43 gate-green FALSE matches the byte gate cannot see. draw_waves has refused these since S66; this oracle did not. The refusal is counted and printed, not silent. NC: guarded 39 subset of raw 82, all 43 dropped are main, the non-main population is identical. * wave drawn: .run/S68o1 (24 opus 187-770 ins) + .run/S68m1 (30 main), cards + packs + wave_args asserted, queue of 53. Drafting opened at concurrency 5.