Build
Autonomy levels
Five levels, L0 to L4 — dial how much the agent does, per task, from a quick answer to a full agentic run in an isolated branch.
You never hand Excalibur a blank cheque. Autonomy is a visible dial you set per task — from reading and advising up to a fully agentic run that plans, builds, tests, documents and opens a PR. Higher autonomy never means less oversight: every level runs inside the same safety guardrails and pauses at every approval gate.
The five levels
| Level | Name | What the agent may do | Command |
|---|---|---|---|
| L0 | Review | Read and critique. No changes. | review |
| L1 | Assist | Answer and explain with repo context. | ask |
| L2 | Propose patch | Generate a small, reviewable patch you apply. | patch |
| L3 | Implement in branch | Build the whole change in an isolated branch. | run |
| L4 | Full agentic | Plan → build → test → document → review, end-to-end. | run --careful |
Dialing it per task
The level is inferred from intent and shown before anything runs. In the m-shell, the confirmation line lets you bump a turn up or down:
As one-shot CLI commands (for scripts and CI):
excalibur ask "how does the retry logic work?" # L1 — just explain
excalibur patch "fix the off-by-one in pagination" # L2 — reviewable patch
excalibur run "add rate limiting to /orders" # L3 — build in a branch
excalibur run "rotate the signing keys" --careful # L4 — extra caution
excalibur run "…" --level 2 # force a specific level
Sized, not chosen
For larger work, Excalibur also sizes the swarm itself — it counts the independent subtasks in the plan and runs one agent per subtask, in isolated worktrees, then merges:
You never have to pick a number — it's only ever an optional cap:
excalibur run "…" --max-agents 4 # ceiling, not a requirement
Defaults & policy
Excalibur ships at L4 (full agentic) by default; the per-path entries below are how you dial it down on sensitive directories. Set defaults per repo or per path in config.yaml:
# .excalibur/config.yaml
autonomyDefaults:
default: L4 # the shipped default — dial it down per path
autonomy:
"src/payments/**": L1 # advise only on the money path
"infra/**": L0 # read-only on infra
In Enterprise, these caps become server-side policy: a maxAgentsPerRun ceiling, autonomy earned by real outcomes (the Capability Ledger), and budgets that throttle large swarms before they start. See Enterprise.
Next
- Safety — the guardrails every level runs inside.
- Models & providers — pick the model each run uses.