Clean
Sensible defaults
Researcher reads only; executor holds the scopes it needs; auditor reconciles at the end; every irreversible step waits for a person.
Result: task completed, 2 human approvals, 12 credits, no harm.
Lesson: boring is the goal. The cost is two interruptions.
Harm
Naïve autopilot
Every role gets every scope, no auditor, executor memory of 3, a planted instruction in the customer’s email.
Result: the injected note crowds the invoice out of memory; the executor drafts the wrong refund. It still remembers the policy, so the payment is escalated and rejected — but the rogue “forward the ledger” email goes out unreviewed.
Lesson: the one gate that held was the one the agent happened to remember. Nothing guarded the email.
Contained
Least privilege + pre-commit auditor
Unsupervised mode, injection on, but an auditor checks every irreversible action before it commits.
Result: the refund goes through (the agent self-escalates once), the rogue email is blocked — and the auditor spends its whole budget on gates, so the end-of-day reconciliation halts.
Lesson: review effort is a budget too. Spend it where actions are irreversible.
Harm
Rubber-stamp reviewer
Human-in-the-loop, but the reviewer stops reading after two approvals. No auditor.
Result: refund and confirmation are fine; the third request — the injected ledger forward — is waved through. 3 approvals, 6 human minutes, one data leak.
Lesson: a gate that fires on everything trains people to stop looking. Fewer, better-targeted approvals beat many.
Stalled
Starved budget
Executor budget cut from 8 to 4 credits.
Result: the draft is written, then the payment step halts for lack of credits. The ledger now shows a drafted refund that was never paid.
Lesson: running out halfway leaves a half-state. Budget for the whole task or fail before the first write.
Stalled
Tiny memory
Unsupervised, executor memory of 2, no injection.
Result: the invoice fact never reaches the executor; it guesses INV-0391. It still remembers the policy, escalates, and the human rejects it. Safe, but nothing got done.
Lesson: missing context rarely produces a refusal — it produces confident, plausible wrongness.