Build Log
Engine Trigger Router
June 20, 2026
ForgeKit's process stopped depending on memory — the Trigger Router + diff inference means the session now leaves tracks that can be audited against the repo's actual footprints.
Timeline
What shipped
.claude/rules/triggers.md — Trigger Router: maps 18 risky actions to required gates; gate checklists for Dependency, Schema, API Route, AI Route, Calendar Sync, Armory
session_contract block — must be filled before code; build-session hard-fails if missing
session_audit block — must be filled at Harvest; hard-fails if missing; cross-checks contract gates vs audit gates
Diff-inferred trigger validation in build-session.mjs — git diff HEAD + HEAD~1..HEAD, 8 INFERRED_RULES, exclusion list for generated files, file-grouped warning output
Gate Miss Rate metric in build-trends.mjs — declared vs missed gates, engine health scoring, written to engine-health.md
forgekit-website/sessions/_TEMPLATE.json — golden session JSON with all blocks pre-scaffolded
ignition.md §3 ORIENTATION — session_contract required before first file; trigger router line added
ignition.md §8 HARVEST — session_audit write step added; PowerShell BOM trap added to KNOWN TRAPS
Red-team proof: hard fail on missing contract confirmed, Schema + Calendar gates inferred from actual repo diff
“The session used to report what Claude remembered. Now it gets cross-checked against what the repo says actually changed.”