ForgeKitFORGEKIT

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.

EngineOSEnforcementScripts
4
rules now machine-enforced
1
new gate (Monorepo Safety)
3
scripts updated

Timeline

Start
Audit: written vs. enforced
Classified every rule as Script / Gate / Trap
20m
Monorepo Safety Gate written
Formally closes 3-session threshold. Added to gates.md + triggers.md
30m
retro.mjs: dirty-tree block
Retro now refuses to run against uncommitted work
45m
predeploy hooks
tsc + build run locally before Vercel sees any file
60m
build-session.mjs: 3 new checks
proposed hard-fail, ideas_in_flight warn, spin_triage empty warn

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.

Zeb — the prompt that produced the enforcement layer