mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-29 07:10:32 -04:00
ceecaeb235
- cookbook §17 (NEW): the compiler-quirk wall, gcc-2.7.2-source + Xenogears confirmed:
* UNSTEERABLE: call-crossing $s0/$s1 allocation ORDER (global.c allocno_compare density;
exhaustive C/flag/cc1 sweep + Xenogears ships-as-asm corroboration) -> stub it (G4)
* STEERABLE idioms: array-decay-forces-remat (NEW), for-loop-vs-do-while delay-slot
scheduling (NEW), statement-order (§2-T2 ext); + reconfirmed branch-polarity/mask-local
* pipeline gotcha: match_one masks relocs -> sig_unify/canonical-retype is MANDATORY
before harvest_verify (the conflicting-types gate failure)
* loose-typing narrow-param wall is REAL (func_80146A6C lhu/s16 vs canonical s32/lw)
- §16 reconciled: the 'not source-steerable' line cross-refs §17; §10-vs-§16 tension
resolved by naming the residual class precisely (both right about different residuals)
- hand-matching-process.md §8e: Phase-18 outcome re-scopes the Phase-19 wave
(triage-and-stub the unsteerable; spend on non-walled STRUCTURAL_MISS)
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.