v2.1.0
What's Changed
Features
- JSON output on resume/continue/abort:
amicus resume,amicus continue, andamicus abortnow support--jsonflag to emit structured, versioned documents matching thestart --jsonschema. The abort command emits a new document type with scope and count information. - Did-you-mean suggestions: Typos in CLI commands now trigger helpful suggestions (e.g.,
amicus contnuesuggestscontinue). Suggestions are capped at 3 and only shown for near-misses within edit-distance 2.
Improvements
- Agent polling guidance: All headless workflow documentation now recommends
amicus_waitas the primary blocking call instead of sleep+status polling. The polling loop remains documented as an explicit fallback for clients without the wait tool. - MCP registration check fix:
amicus doctorno longer false-negatives on healthy Claude Code registrations. The check now reads config sources directly instead of relying on discovery that strips its own entries.
Security & CI
- Council review output sanitization: The synthesis leg now neutralizes model review text before passing it to the synthesis model, preventing instruction injection. Review output is wrapped in an explicit untrusted-data block.
- Summary length optimization: Both council review waves now request
--summary-length normalinstead ofverbose, reducing unnecessary token spend on paid API keys. - Workflow linting: Added actionlint (pinned to v1.7.7) to the CI quality job to lint GitHub Actions workflows and shellcheck all
run:blocks automatically.
Documentation
- Corrected
--agentdefaults: Clarified that--agentdefaults to Chat only in interactive mode, defaulting to Build in headless (--no-ui) runs. - Fixed council pipeline order: Updated
commands/council.mdto correctly reflect thatcouncil validateruns during Stage 1 (independent reviews) andcouncil tallyruns between Stage 2 and Stage 3.
Full Changelog: v2.0.0...v2.1.0