Crate Map
The Animus workspace is a Cargo workspace of 10 crates organized by runtime responsibility. Cargo.toml is the source of truth for membership.
The protocol (kernel wire types) and animus-config-protocol crates moved out of this repo into launchapp-dev/animus-protocol in v0.6.1, per the rule that no protocol/wire-type crates live in the CLI. The workspace now consumes them as git deps pinned to an animus-protocol tag.
Foundation
| Crate | Responsibility |
|---|---|
orchestrator-logging | Shared tracing, log path, and runtime log plumbing |
Runtime
| Crate | Responsibility |
|---|---|
orchestrator-daemon-runtime | Daemon queue, scheduling, subject dispatch, trigger handling, and runtime supervision |
animus-runtime-shared | Shared workflow execution helpers, runtime contracts, agent memory wiring, and runner IPC utilities consumed by daemon code and external workflow_runner plugins |
animus-runtime-utils | Dependency-light cgroup CPU quota detection and Tokio worker-pool sizing shared by runtime entry points and plugin launch seams |
animus-mcp-oauth | Interactive OAuth (authorization-code + PKCE) for protected MCP servers via rmcp's auth engine, keychain-backed token storage, and the animus-mcp-proxy stdio bridge that injects + refreshes bearer tokens for agents |
Provider invocation no longer uses an in-tree agent-runner crate. Agent and workflow execution now route through orchestrator-plugin-host::session and installed provider plugins. The OpenAI-compatible runner binary moved out-of-tree to the launchapp-dev/animus-provider-oai-agent plugin in the v0.5.2 surface-shrink. The curated default-install config currently pins that plugin at v0.1.5, and the daemon's runtime contract resolver locates the binary inside the installed plugin (see crates/orchestrator-core/src/runtime_contract.rs::resolve_oai_runner_binary).
CLI and Services
| Crate | Responsibility |
|---|---|
orchestrator-cli | Main animus binary, clap surface, MCP server, output formatting, and operations |
orchestrator-core | Domain services, bootstrap, state mutation APIs, plugin registry, preflight, the subject_adapter adapter layer (folded in from the former orchestrator-providers crate in v0.5.3), and the store atomic-persistence helpers (folded in from the former orchestrator-store crate in v0.5.3) |
orchestrator-config | Workflow YAML loading, pack loading, scaffolding, and phase plan resolution |
Plugin Runtime
| Crate | Responsibility |
|---|---|
orchestrator-plugin-host | Plugin discovery, install lockfiles, manifest probes, stdio host, router, signature verification, and the session::* provider plugin session bridge (folded in from the former orchestrator-session-host crate in v0.5.3) |
animus-plugin-runtime | Runtime helper crate for plugin implementations |
The workspace also depends on external launchapp-dev/animus-protocol crates for the kernel wire types (protocol), the config_source contract (animus-config-protocol), provider/session contracts, plus queue/workflow/subject plugin routing and the shared application chat contract. The root Cargo.toml pins all of them to the unified animus-protocol tag (v0.7.0-rc.12); member crates inherit those workspace dependencies so there is no legacy queue/subject source split.
Web
The active web stack is not part of the current Cargo workspace. animus web discovers and spawns external plugins, normally installed through:
animus plugin install-defaults --include-transportsThe curated transport set is currently animus-transport-http, animus-transport-graphql, and animus-web-ui. The exact tags live in orchestrator-core::plugin_registry.