mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 22:45:39 -04:00
449acd8cb3
search: 0 of 139 exemplars matched lever-free in 0.54 h (0 of 7,077 bodies behind them; 52,566 compiles) — NO-MATCH 136 · BANK-REFUSED 3 - the three refusals are the three fleet copies of func_80136824, each a real score 0 (R15 sink + R12 width + R14 param-width) blocked by a contract rather than by a bad body: the engine verifies the whole candidate text but hands apply_body_core only the definition, and --propagate remaps that body to siblings, so a generator that edits lines outside the definition can never bank. R14 is the only such generator. - my first diagnosis was wrong and was discarded rather than shipped: I guessed the conflicting declaration was in a shared header and built a 2,431-name index to refuse on, and the index said the function is not in it. Reading cmd_run gave the real answer. - two fixes: param_widths refuses outright when the TU declares the function anywhere but at its definition (protos_outside_definition; the earlier R14 banks had no such prototype, so nothing that worked is lost), and the engine names the condition itself with a new OUT-OF-BODY verdict instead of letting the bank die on a compiler error that reads like a bad body. Controls both ways in the selftest. - the steering measurement (R41): across s1-s4 the head's 57 classes have absorbed ~128,000 compiles for 6 closes, all of them R15's and all in the first sweep. The head is resistant to every mechanical generator at this width; sweeps pay on the tail and on targeted families, and the head is what agents are for. - open by name for the types phase: func_80136824 (133 copies) has a real crack that needs its prototype widened with its definition — the second measured case where a declaration, not codegen, stands between us and the bytes.
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.DIGEST.md— the session-start digest: every phase's synopsis + every rule in full + the corrections to PROJECT_CONTEXT.md; appended at every PhaseEnd (P7).logs/Phase<N>.md— the archived in-phase worklogs (R19): NOT in the load order; consult on demand only.- Sessions read
PROJECT_CONTEXT.md, thenDIGEST.md, then the THREE most recentPhaseEnd_*.mdin numeric order, thenCURRENT_PHASE.md(if present), and replay its 🛑 SESSION CHECKPOINT block verbatim into the chat — every session (R64 candidate, 2026-09-05; ≈100k tokens + the checkpoint).