Why this order
Cheap before expensive. Gates 1 to 4 are structural: does an authority exist, is it live, is it in date, does it cover this. They are lookups. Policy evaluation at gate 7 is the expensive one, and an action that fails at gate 1 never reaches it. That is what makes the check affordable on the path of every consequential action rather than something you sample. Scale before kind.bounds sits ahead of policy on purpose. Policy asks
whether this action is permitted; bounds asks how much of it there may be. In
practice the dangerous agent is often the one doing a permitted thing at a scale
nobody set a number on, and that check should not be gated behind the expensive
one.
Budget is debited last. After every structural check has passed. An action
refused at gate 1 does not consume the allowance it never used, which sounds
obvious and is the sort of thing that is wrong in systems that reconcile
afterwards.
Short-circuiting is a feature of the record
The gates short-circuit. When an authorisation stops at gate 7, gates 1 to 6 passed and gates 8 and 9 were never reached, and the record says exactly that rather than leaving them blank or defaulting them to a pass.This is why a record can be read years later without knowing which release was
deployed. “Not reached” is a recorded fact about that decision, not an absence
of data.
Reading a refusal
The gate that stopped an action is the most useful field in the record, because it tells you which conversation to have.Stopped at scope
Stopped at scope
The agent tried something outside what was granted. Either the agent is
doing more than intended, or the grant was drawn too narrowly. Both are
worth knowing and they look identical from a log file.
Stopped at clean_context
Stopped at clean_context
Untrusted content entered this trajectory and this action requires that it
had not. See Clean context.
Stopped at bounds or budget
Stopped at bounds or budget
The action was permitted and there was no room.
bounds is a limit on
scale, budget on spend, and exhausted is a different outcome from deny
because retrying cannot help.Stopped at policy
Stopped at policy
The rule on the grant refused it. This is the one that is genuinely a policy
conversation.
Stopped at review
Stopped at review
Not a refusal. A person has to decide, and the trajectory parks until they
do.

