Repository navigation
AutoMode 0.3.0
Fixed
- The route now follows the task, not the model the session started on. One effortless answer with a fixed anchor (
Current: sonnet) decides the model, and the running model is asked only for its own effort. - Opus now needs T4, a Fable verdict, an escalation floor, T3 with critical work, or T3 with the need naming Opus. Otherwise the route is Sonnet, or Haiku when both judges name it. Price is only a tie-break.
- An upgrade that only the judges ask for now waits for the switch gate. Floors, escalation, T4, real work on Haiku and provider limits still move at once.
- Decision records now hold the need and its anchor, and outcome records hold the route and the AutoMode tier.
- Native
/modeland/effortnow stand for the session, untilam:reset. Before, routing overwrote them without notice. routeModels: falsekeeps the model you picked from the first prompt. A first-prompt judge failure does too.- A failed judge raises task risk only until a judge answers again.
- A short message, or one the judge rates as no risk, still goes through the text and path risk checks.
- A return to a warm model is priced for the turns its cache lacks, and a compaction clears that warm state.
- The effort judge is asked as upstream asks it, and gets the closing line only when it gave no verdict. The line pushed some verdicts too low.
- A return to a warm model is priced for turns added after a thinking drop, and the legacy policy reads what that cache holds.
- A model switch that loses the running model's thinking holds inside a task. A mandatory switch still goes and logs it. A compaction clears the flag.
- A cold cache inside a task no longer skips the risk, confidence and dwell gates. A low point is priced as the difference between the two cache writes.
- An upgrade compares capability, not tier, and needs a model that is not weaker. Sonnet max to Opus low is not an upgrade, and neither is Opus low to Sonnet high.
- A shrink with no compaction noted since the last request is priced as a warm switch, and step pricing uses the cache lifetime's write rate.
- A calibrated
effortOutputis read, a hold records the tier of its effort, andunderRoutingrecords only real corrections. - A plain
grep,rgordiffthat must find nothing no longer fails the workflow on exit 1. Verifier reports carryexpected_exit, and it counts for no other command. - The workflow's
stageswin overmode, so the conditional stages run on the router path. - The workflow band counts planned and changed files and blocking unknowns, not files that explorers cited, and the router sends the real tier.
- The workflow fixes major correctness and security defects as well as blockers, sends evidence gaps to the verifier, and skips the fix pass when there is no defect.
- Subagents take the task's risk: on critical work a general-purpose agent keeps the parent's model unless it only reads, and a diagnoser runs on Sonnet when the task carries risk. Effort is the stronger of the helper's pick and the policy.
- Removed the unsupported "73%" figure from the subagent reason.
- An
am:command beats a/modelor/effortpin for its turn. /modeland/effortregister when they name the value the route already runs, or the app's own value. Apinrecord shows each detection.- A model outside Haiku, Sonnet and Opus, such as Fable, passes through unrewritten and turns routing off.
- A model change in plan mode is no longer read as a pin, and an effort pin applies to helpers.
- An escalation that a pin undoes no longer claims a move.
- The Bash guard fails closed: a guard that throws before the call denies it, as every other tool guard does.
- Check detection reads through wrappers, env prefixes, virtual environments,
python3 -mandnpx, and it counts subagent checks and edits. am:resetalso clears pins under policylegacy.
Changed
- Automatic workflow entry is off by default (
autoWorkflow: false).am:runstill works. Decision records show what entry would have done, andworkflow-entryrecords show whether a chosen workflow was called. - The workflow result carries
next_action, and its trace carrieseffort.planModelandreviewModelargs set those models below S3. The defaults stay Opus. - The escalation ladder takes more evidence. A first repeat, three tool errors in a row or scope growth raises the effort one step. A repeat after that raise, a test or compile regression, a revert or a reviewer blocker moves the model, with an Opus consult first.
- Sonnet xhigh is a rung of its own, below Opus high, so the ladder tries it before it moves the model.
- Critical review needs hard evidence: an edited path, an operation such as a force push or
terraform apply, or a production target. Text or the judge alone caps at elevated, unless both agree. A judge-only critical task gets a Sonnet reviewer, and routing still reads the judge. - A surface word such as "add a test" now covers only its own clause.
Added
- Each decision records the shadow rent rule's verdict beside the live one. It changes no route.
- A
model-switchrecord notes the continuity flag and the tokens the prompt dropped on arrival.
Install
claude plugin marketplace add mralexivy/AutoMode
claude plugin install automode@automode
To update, run claude plugin marketplace update automode and then claude plugin update automode@automode.
Tested with Claude Code 2.1.316.
Verify the bundle
sha256sum --check SHA256SUMS
gh attestation verify automode-0.3.0.zip --repo mralexivy/AutoMode