mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-28 06:49:47 -04:00
860f866f6e
§322b — the carve class is COMPLETABLE, and every worktree CARVE-REFUSED was an instrument verdict (.run/sig.<b>.jsonl is gitignored, absent from worktrees, so jr_inventory read every carve as UNOWNED). build_carve's refusal is EXACT, not conservative — one object emits one contiguous .rodata — and the real fix (isolate into its own subseg) already exists and harvest_verify already runs it. Live census: 71 non-contiguous of 123 jtbl stubs; 21 of those are twins of already-banked bodies (3,852 ins) free at ~25s each. End-to-end byte-proven in 23 seconds. Remaining blockers are 18 overlay_src_split plumbing defects (<=30 lines each) plus a jr_isolate_all port for main. §332b — the §332 "walls" are a per-OBJECT assembler mode, not a C limit. A 3-line maspsx reorder-passthrough + as -O2 is byte-INERT across the whole 800c3/800c2 objects and yields 0 diffs for SIX walls whose drafts already exist. That turns "permanently unbankable" into a per-object Makefile switch and retires oracle_reorder.py. Only 13 of the 15 listed walls are even reachable. §378c — a FIFTH decl-blocker variant: the DRAFT redeclares a type/data/callee the TU or a header already owns. Fix the draft to the TU's spelling (§367), never the reverse. Two "integration-blocked" rows were phantoms, one of them my own --any-proto pre-pass breaking a sibling TU (variant 4, second bite). accelerators #19 — a verdict recorded inside an isolated environment describes the ENVIRONMENT. Isolation exists so the worker sees less; every gitignored input is a difference it cannot distinguish from a genuine rejection, and it writes that difference down once per function. Negative-control the environment with a known-good item; assert the worker's inputs; report a missing input as MISSING, never as a verdict.