mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
1d44ce25f3
Drew asked whether the 347,892-ins pool was banked. It was not: 4 members (func_801463A0 x2, func_8017B490 x2) = +396 instr-weighted / +194 distinct-code, ~1 part in 900 of the prediction. FRAMING ERROR OWNED: I labelled the pool "FREE" and "the actionable shortcut". The h_seq classification establishes "no DRAFTING needed" (exemplar matched, members structurally identical); it does NOT establish "no WORK needed", which is how "FREE" reads. The probe located the work: - 2 of the 8 top families (270 members) refused BEFORE any gate by the §42e pin guard => "FREE" did not even imply sweepable - of the members that reached the gate, 67% hit declaration plumbing, 0% hit compiler walls - both plumbing keys tried FAILED (--fix-def-sig regressed; --normalize-self-decls 0/123) Pool status: real, structurally confirmed, not gcc-blocked, still LOCKED. To bank it: find the working key (reconcile_decls.py — the DATA-symbol analog, and one failure text WAS a DATA symbol — or canon_sig_reconcile v3.2, both untried), then re-sweep (mechanical, zero-token), and handle the pin-refused families via --allow-pins. Recorded rather than quietly superseded because this pool has been mis-called in BOTH directions (P26 dead-off-a-broken-tool, P28 same family 89%). A prediction stated as a bank is how that happens.
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.