Build Log
Engine: Enforcement Layer
June 21, 2026
Moved rules from trust-based to machine-enforced — the line between written down and actually running is now much shorter.
Timeline
What shipped
retro.mjs — blocks on dirty working tree before running. A retro against uncommitted work is a lie.
gates.md — Monorepo Safety Gate (formally named, checklisted, wired into triggers.md Trigger Map)
triggers.md — Monorepo Safety Gate in quick-ref + 3 Trigger Map entries (git add/commit, new folder, npm run retro)
forgehome/package.json — predeploy: tsc --noEmit && next build
leashline/package.json — predeploy: tsc --noEmit && next build (commit from within leashline/ repo)
root package.json — deploy:forgehome + deploy:leashline now run predeploy first
build-session.mjs — learning[] proposed status → hard fail
build-session.mjs — ideas_in_flight deferred/parked with no return_trigger → warn
“That mentality is actually kind of backwards — well it's written down but not enforced.”