v0.5.4 — delete agent-runner sidecar; auto-update + opt-in metrics
Highlights
~10,000 LOC net surface-shrink by deleting the agent-runner sidecar after recognizing it was vestigial post-plugin-extraction. Provider plugins (claude/codex/gemini/opencode) handle CLI invocation; animus agent run is reimplemented as a thin client over SessionBackendResolver.
Major changes
agent-runnersidecar deleted. ~8000 LOC removed;animus agent {run,status,cancel,control}now dispatches directly to provider plugins via the existing plugin host. The Unix-socket bridge,runner_helperssupervisor, lockfile, and shared-secret auth are gone. The publishedanimus-agent-runner-protocolcrate is marked deprecated.animus runner restart-statsremoved. No more sidecar to restart.DaemonHealthschema: newprovider_plugins_healthy: boolfield; legacyrunner_connected/runner_pidkept for wire back-compat (alwaysfalse/None).animus agent controlreturnsunavailable(exit code 5) under the provider-only model.
Added
animus self update— configurable auto-update with four modes (off / notify / prompt / auto), channel filtering (stable / prerelease), atomic same-directory binary swap. Env:ANIMUS_AUTO_UPDATE_MODE,ANIMUS_AUTO_UPDATE_DISABLE.animus metrics— opt-in anonymous event counters with first-run prompt. Hard opt-in; closed-enum events with bounded tag types; no code/paths/repos/prompts ever in the payload. Env kill-switch:ANIMUS_METRICS_DISABLE=1. Default endpoint is a placeholder pending product confirmation.system_prompt_fileon AgentProfile — load the system prompt from an external UTF-8 file (resolved relative to source YAML). Inlined verbatim at compile time.- HTTP MCP servers in workflow YAML —
mcp_servers:entries can declaretransport: http+url:so workflows can reach remote MCPs (e.g. Robinhood's hosted MCP) without bridge scripts.
Infrastructure
- Rust toolchain pinned to 1.96.0 via
rust-toolchain.toml.
See CHANGELOG.md for the full diff.