mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
e903713b71
Final S50 state: 307 instances banked, stubs 12,468 -> 12,161, fleet 95.3% instr / 90.0% distinct / 96.65% fn-count. R22 clean rebuild 4x, check-all 213/213 every time. - tools/aprop_autodraft.py + tools/draft_prechecks.py: seed body + symbol_map + a MINIMAL synthesized preamble. The seed's decl layer never travels — that layer is family_sweep's dominant failure (331 of 458 S49 verdicts). 256 banked at zero agent tokens, against the ~20M the same work would have cost as a wave. - Macro seeds (567 of 1196 members, all 3737 de-macroize) take the DEFINITION only; the block stays the decl source. Pasting it whole measured 28% vs inline's 68% — func_8016AB6C's macro is 1,891 lines of which 108 are the function. - IMM is a second engine, not a wall: T2a's imm_map_tier1 resolves a per-location LITERAL like symbol_map resolves a per-location SYMBOL. 131 of 275 IMM members resolve. - draft_prechecks negative-controlled against ALL 205 banked drafts: zero false positives, catches 39 of 67 known failures. That control found two bugs in the checks themselves — C89 `f()` declares UNSPECIFIED parameters (not zero), and a member's own definition read as a call to itself. Conservative by design: a pre-check that discards good drafts is worse than one that lets a few builds fail. - The A-prop pool is now priced exactly: PURE 437/37,376 ins, IMM 275/8,849, STRUCT 238/4,259. - Cookbook §171a; SETUP rows; CURRENT_PHASE S50 FINAL checkpoint.
phase-ends/ — the living record
PhaseEnd_Phase[N].md— written at each phase boundary (format defined inPROJECT_CONTEXT.md). Append-only history: build log, deviations, commit message, rules added, changelog. Never deleted.CURRENT_PHASE.md— the in-phase autonomous log: approved phase plan, per-task checkboxes, current task pointer, blockers. Created at phase start, updated after every task, absorbed into the PhaseEnd file and deleted at phase close. This is the crash/compaction recovery point.- Sessions read
PROJECT_CONTEXT.md, then everyPhaseEnd_*.mdin numeric order, thenCURRENT_PHASE.md(if present) — in that order, every session.