mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-01 23:52:03 -04:00
b5101909f4
- I reported 'main is blocked on a link-resolution defect' with confidence. REFUTED by the control I should have run first: with src/ fully reverted and NO draft, make build BINARY=main still produced the same c4546248 and the identical 2-byte jal diff. A defect that reproduces with zero drafts is not caused by drafts. - byte-proven both ways: 'make extract BINARY=main && make build BINARY=main' -> 143dbb89 BYTE-IDENTICAL (twice); 'make build' alone -> c4546248 + the 2-byte diff, deterministically. - cause: main's extract runs the EXE-only psyq_integrate + ld_interleave steps that REWRITE the linker script; gate_stage/harvest_verify build without re-extracting, so main gates against a stale .ld. Overlays have no such step and are unaffected (all overlay banks are R22-clean). - implication: main's 79,510 ins @ 0.5% are behind a TOOLING gap, not a wall. Fix the main gate path to re-extract, then re-gate the 4 preserved drafts in .run/wave_p31e/main/. - the earlier 'archive-member selection' evidence is a downstream symptom of the stale .ld.
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.