The four outcomes
Every action an agent is about to take is routed by its envelope to one of four outcomes, based on signals like the stakes involved, the model’s confidence, and how novel the situation is:autoproceeds immediately.async_reviewproceeds now, with a human reviewing after the fact.sync_reviewparks the action until a human approves it.blockrefuses the action outright.
Formally verified before it governs
An envelope is a policy, and policies have bugs: a rule shadowed by an earlier one that can never fire, or an escalation that routes higher stakes to less oversight. Before an envelope is published, Sakshi checks it with the Z3 theorem prover for dead rules and for escalation monotonicity. This is a proof, not a test pass. Your autonomy policy is formally verified before it governs production. Every published envelope is versioned and chain-attested, so a change to how the agent is bounded is itself a governed, recorded event.Circuit breakers
Envelopes govern individual actions. Circuit breakers watch the aggregate and fire the kill path when a pattern goes wrong: a rising humanoverride_rate (the humans keep disagreeing with the agent), an
eval_volume spike, or a model_change that drifts the model identity in effect
away from the one under which the envelope was approved.
Bound autonomy
Publish an envelope, arm breakers, and lint it before it ships.
enforce() reference
Signals, the decision object, and the exception model.

