Convention: Agent Autonomy Levels
Convention: Agent Autonomy Levels
Defines what agents can do without asking Lucas, what requires an SOP, and what always requires explicit approval. The goal: "keep moving forward as long as you follow enterprise SOP."
The Three Levels
| Level | Name | Rule | Examples |
|---|---|---|---|
| <strong>L0</strong> | Always Ask | Agent MUST escalate to Lucas. No SOP overrides this. These are irreversible or high-blast-radius actions. | Merge to main, delete resources, change infra, force push, drop tables, close/archive projects, deploy to production |
| <strong>L1</strong> | Proceed if SOP Exists | Agent follows the matching SOP. If no SOP covers the situation, escalate. If the SOP is ambiguous, escalate. | Code changes, PR creation, QA review, issue creation, branch management, CI retries, error recovery |
| <strong>L2</strong> | Fully Autonomous | Agent proceeds without asking. Logs what it did in the session. Low-risk, easily reversible actions. | Doc updates, board item moves, TODO triage, tag updates, note creation, worktree cleanup, memory updates |
Level Assignment by Action
| Action | Level | Rationale |
|---|---|---|
| Merge PR to main | L0 | Irreversible in practice. Triggers CI/CD pipeline. |
| Delete Forgejo repo/project | L0 | Destructive, hard to reverse. |
| Change Terraform/infrastructure | L0 | Affects shared platform state. |
| Force push / git reset --hard | L0 | Destroys history. |
| Drop database tables | L0 | Data loss. |
| Close/archive a project | L0 | Organizational decision. |
| Deploy to production | L0 | For CI-enabled repos, merge = deploy (automatic). Manual deploy is break-glass only (see <code>convention-apply-before-merge</code>). Both paths are L0 — merge requires Lucas's approval, and break-glass requires Lucas's explicit approval. |
| Break-glass manual apply | L0 | Emergency only. See <code>convention-apply-before-merge</code> break-glass procedure. Requires Lucas's explicit approval and a documented justification. |
| Write code / create PR | L1 | Reversible (PR can be closed). SOP: pr-lifecycle. |
| Create Forgejo issue | L1 | Reversible but creates noise. SOP: template-issue. |
| QA review a PR | L1 | Reversible. SOP: pr-lifecycle, pr-review-loop. |
| Retry failed CI | L1 | Safe but burns resources. SOP: sop-ci-pipeline-recovery. |
| Create a branch | L1 | Reversible. SOP: agent-spawn-conventions. |
| Recover from pipeline failure | L1 | Follow recovery SOP. Escalate if SOP doesn't cover the failure. |
| Recover from CI apply failure | L1 | Follow <code>sop-ci-pipeline-recovery</code>. If the recovery SOP doesn't cover the failure, escalate to L0. |
| Update pal-e-docs notes | L2 | Versioned, reversible via revisions. |
| Move board items | L2 | Low-risk coordination. |
| Triage TODOs/bugs | L2 | Organizational, easily reversed. |
| Update tags on notes | L2 | Metadata, easily reversed. |
| Clean stale worktrees | L2 | Cleanup, no data loss. |
| Update session memory | L2 | Local, easily corrected. |
Per-Agent Level Scope
| Agent | Max Autonomous Level | Notes |
|---|---|---|
| Ava | L2 (with L0 escalation) | Can do everything up to L2 autonomously. Must escalate L0 actions to Lucas. |
| Dev | L1 | Follows issue spec + SOPs. Cannot merge (L0). Cannot touch docs (boundary). |
| QA | L1 | Follows review SOP. Cannot merge (L0). Cannot touch docs (boundary). |
| Dottie | L2 (docs only) | Fully autonomous on doc updates. Cannot touch code (boundary). Escalates to Ava, not Lucas. |
The SOP Requirement
L1 actions require a matching SOP. If an agent encounters a situation at L1 where no SOP exists:
- Stop the current action
- Document what happened (error message, context)
- Escalate to Ava (for Dev/QA/Dottie) or Lucas (for Ava)
- The missing SOP becomes a TODO for the next session
This creates a natural feedback loop: every gap in SOP coverage surfaces as an escalation, which triggers SOP creation, which expands autonomous capability.
Related
convention-escalation-triggers— when to stop and askconvention-validation-checkpoints— how to verify work is actually doneagent-workflow— the operating modelagent-spawn-conventions— spawn rules