mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
de9a550edb
Two independent reviews (ox design study + Fable validation) found parse_config does not implement its own documented contract on md_*/main: it can DELETE the c config line and corrupt the yaml on disk before failing. main also has no config/splat.main.yaml (it is splat.us.exe.yaml), which is the FileNotFoundError seen on every main jtbl target. Refuse loudly rather than corrupt quietly (R43). Lift only after parse_config is hardened and proven on two examples. Also: gate() stages into a per-run dir (a killed gate's 3,186 stale drafts survived into the next gate of the same tag and poisoned every group); reloc_filter no longer treats NOT-A-STUB as a pass (it means ALREADY BANKED — wave an staged 480 of them over source that already byte-matches). Designs recorded: docs/tool-designs/jtbl-island-split.md (ox) and -review.md (Fable): 14 CONFIRMED / 8 WRONG / 1 UNVERIFIABLE, verdict GO-WITH-CHANGES, and the correct fix is SMALLER than proposed — one inserted .rodata carve line + jr_isolate_all.py --only, no _pre piece and no ld_interleave leading mode.