# Explanation Why the stack is built the way it is. These pages are background for humans and agents alike: read by link or on request, never as instruction, and they carry no normative sentence - a rule lives in `AGENTS.md` or a `CONTRACT.md`, and a page here only gives its reasons. - [pipeline-rationale.md](pipeline-rationale.md) - why the pipeline has four stages - [ownership-and-templates.md](ownership-and-templates.md) - why a `.template` split exists, and why an instance comes only from a release - [language-boundaries.md](language-boundaries.md) - why the control plane is English everywhere and the KB language is a value - [why-gates-are-code.md](why-gates-are-code.md) - why the gates are code rather than instruction - [version-model.md](version-model.md) - why a version number answers a compatibility question and a migration question separately - [knowledge-and-commitment.md](knowledge-and-commitment.md) - why commitments live in a task tracker rather than in `kb/` - [model-and-effort-selection.md](model-and-effort-selection.md) - which model and effort suit which kind of session, for the harness that has to choose