A constitution is a prior over futures.
The mechanistic argument: why one document above the rules files changes what autonomous agents build.
Agents are samplers
A language model does not retrieve the next move — it samples it. At every decision point, the model weighs a distribution of plausible continuations, shaped by everything in its context. Most of the time that distribution is narrow: the type system, the failing test, or the existing pattern leaves one obvious continuation, and the agent takes it.
But the decisions that determine what a project becomes are not like that. Choosing an architecture, adding a dependency, expanding scope, picking which of three defensible designs to pursue — at these high-level branch points the distribution is wide, and many branches are plausible. This is where autonomous work goes wrong without anyone making an identifiable mistake.
The tree of possibilities
Picture the project’s future as a branching tree. Each high-level choice commits the project to a subtree and quietly discards the rest. The danger isn’t that agents pick absurd branches. They pick locally defensible ones, each step passing review on its own terms while the sum drifts away from what the project was supposed to be.
Rules files cannot prevent this, because rules operate at the leaves: formatting, naming, tactics, tools. They constrain how a branch is walked, not which branch is taken. An agent can satisfy every rule and still violate the project.
Pruning at the trunk
A constitution acts higher in the tree. It is, mechanically, a prior over futures: a compact piece of context that shifts probability mass away from whole subtrees before generation reaches them.
Each part of the document does distribution work. A founding principle that rejects something removes the branches it rejects. A boundary zeroes out an entire region — the things this project will never become. A tension pair resolves the moments when two values pull in opposite directions, which is exactly where wide distributions live. Growth directives tilt the remaining mass toward the futures the project actually wants.
This is also why vague principles fail. “We value quality” is a uniform prior: it rejects nothing, moves no probability, prunes no branch. A principle nobody could disagree with is a principle that cannot steer a model. The adversarial gates in ratification exist to catch such sentences, so that every line in the constitution does distribution work.
Force requires presence
A document exerts no force from the shelf. Sampling is conditioned only on what is in context, so the constitution must be loaded where agents actually read: a digest block inside AGENTS.md and CLAUDE.md, pointing to the full CONSTITUTION.md. A constitution that is written but not wired in is a poster — beautiful, and absent from every decision. Presence is necessary but not sufficient, which is why the lifecycle doesn’t end at load.
Two layers of force
Load is the floor. The constitution sits in context and prunes during generation, before any review can see the choice.
Defend is the norm. In plans, PRs, and reports, agents name the principle a high-level choice serves and the boundary that rejected the alternatives. Alignment stops being assumed and becomes inspectable.
Pruning is not restriction. A constitution does not shrink what agents can do — it concentrates probability on futures worth building.
Back to the overview