Configure gates and autonomy
How the resolver routes a step by risk tier — low auto-clears, medium goes to a judge panel, irreversible always parks for a human — and how reversibility and blast radius decide the tier.
Every step of a run is routed by the gate resolver. It answers one question per step: can this proceed on its own, or must a human sign it? The answer comes from the step's risk tier, which is a function of its blast radius and reversibility.
The three tiers
The resolver maps each step to one of three tiers and a resolver kind:
| Tier | Reversibility / blast | Resolver | Behaviour |
|---|---|---|---|
| low | reversible, low blast | ai | AI auto-clears when confident |
| medium | reversible, medium blast | panel | a judge panel resolves by quorum |
| high | irreversible or high blast | hybrid | parks for a human (unless explicitly opted in) |
A step's tier comes straight off the step (its blast and reversible fields). An
irreversible step (reversible: false) is always treated as high — it parks — even
if its blast radius is otherwise small.
What drives the tier
- Reversibility — can the step be undone? A read, an enrichment, or a draft is reversible. Submitting a claim, sending a payment, filing a report, or executing an OFAC action is irreversible and routes to high.
- Blast radius — how far does a wrong outcome reach?
low(a single record),medium(a decision a panel should review),high(a customer-facing or regulatory action).
An unknown step defaults to the safest tier — high / irreversible → human — so a new step can never silently auto-clear.
SAFE by default
The resolver ships with a SAFE posture. Nothing auto-resolves unless autonomy is turned on, and irreversible steps never resolve via AI unless that is also explicitly enabled:
| Dial | Default | Effect |
|---|---|---|
auto_resolve | false | Master switch. Off ⇒ every gate parks for a human. |
confidence_floor | 0.70 | low / medium gates need calibrated confidence ≥ this to clear. |
irreversible_floor | 0.95 | irreversible gates need confidence ≥ this — and the opt-in below. |
irreversible_allow_ai | false | Off ⇒ irreversible gates always go to a human. |
panel_quorum | 2 | agreeing judges needed at a medium gate. |
safe_mode | off | gate-all forces every gate to a human; halt stops the run. |
auto_resolve maps to the auto_resolve flag on POST /process-runs.
With it off, every step waits for you; with it on, the resolver's floors and the SAFE
opt-ins above decide what clears.
Confidence is calibrated
Auto-proceed is gated on calibrated confidence, not a raw model score. "0.9 confident" means right ~90% of the time, so the floor maps to a real, defensible error rate. Two hard signals always override the tier and force a human:
- an upstream agent failed, or flagged
blocked/escalate; - an agent decision came back
BLOCKorREJECT.
Inspect where the gates are
The governance-decorated canvas shows each step's tier and which step-ids are gates — read it before running:
curl -s "$API/process-templates/prior-auth/canvas" \
-H "Authorization: Bearer $TOKEN"The seated judge panel for a vertical's medium gates is inspectable too:
curl -s "$API/process-templates/prior-auth/judges" \
-H "Authorization: Bearer $TOKEN"The irreversible-allow-AI dial exists but defaults off for a reason: an irreversible step that clears on AI confidence alone has no human in the loop. Leave it off unless you have measured the calibration and accepted the residual error rate.
See the Governance model for how tiers, the judge panel, calibrated confidence, and the audit trail fit together.