Every action any AI takes inside SpeyAI answers five governance questions. Not by policy document: by the structure the work runs inside. This page walks all five.
Every seat is defined before it is given any work. What follows is what the architecture holds it to, question by question.
An agent seat is not a prompt. It is a defined position: a persona and the doctrine it holds, the skills it is competent to be handed, and a spend cap it cannot exceed. Around it, the architecture holds the rest: one global tools suite the stage draws from per invocation, one sacred-path policy every seat is refused, and a shared bank of gates that reviews what it produces.
The five questions below are answered before any work is dispatched: some at the seat’s own definition, the rest by the architecture it runs inside. A seat cannot widen either one, and no instruction reaching it at runtime can either.
A job description, not a prompt. Hundreds of lines per seat, earned in production, ratified by a person.
The machine does the work and stops itself at every gate. You hold two: you approve the scope before anything starts, and you sign the merge before anything ships. That holds until you graduate the instance, and code still comes to you afterwards.
A seat is granted a path list, never a repository. Sacred paths are declared once, in your configuration, and enforced at the gate: a change that reaches outside them does not become a pull request.
Tools come from one suite, and the stage attaches only what a step needs, per invocation. A seat that writes documentation is never handed a deploy tool, and nothing it reads during a task can hand it one.
The gate bank runs on the diff, not on stated intent. It reads what the change actually touched, and out-of-bounds work stops inside the org.

Every seat carries a cap on what it can spend in a day, and no single call can exceed a hard per-call ceiling. Above both sits an org-wide daily halt, because caps that bind one seat at a time do not bound the org’s total.
All three are checked before the model is called. A cap refusal is a refusal: the task stops, the reason it stopped is recorded, and nobody is handed a warning they can dismiss.
You set the caps before the org is given any authority at all, and raising one is a decision a person makes, on the record. Every call is then written down at micro-dollar precision, against the seat that made it and the task it belonged to.

The org proposes. A person ratifies. That order does not invert, and there is no configuration that inverts it.
Roles sit under one chain of command, and nothing self-approves. The seat that wrote a change is never the seat that reviews it, and no seat is ever the human.
An approval is a named person against a named decision, held on the record with the work it authorised.

Work crosses a review bank before it can leave the org: the approach, the security read, quality against the acceptance criteria, an independent read of the diff, the docs, and preflight.
Then it stops at a person. A pull request opens against your own repository, and it merges when a human signs it. Your signature is what ships the work.
A new deployment starts in probation: the org reads, drafts, and proposes only, until you graduate it.

Every action lands on the record as it happens: the seat that took it, the task it belonged to, the tools it called, the money it spent, each gate result, and the signature that released it.
Click any shipped item and walk its full history back to the goal that started it. The question an auditor asks is answered by opening the item, not by reconstructing it.
The record is written to your database, on your own infrastructure. Nothing about the run has to leave it.
Nothing is re-keyed. Every figure a board asks for is already on the record, because a governed run writes it as it happens.

Five agents or five thousand…
one chain of command.
Same five questions, same answers, at any size. The architecture is what makes that true.