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-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-protocol | In-tree copy of the stdio plugin protocol types |
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. The root Cargo.toml pins protocol, animus-config-protocol, animus-provider-protocol, animus-session-backend, animus-subject-protocol, animus-journal-protocol, and animus-actor to the same animus-protocol tag (v0.1.26); crates/orchestrator-cli/Cargo.toml adds crate-local pins for animus-control-protocol, animus-log-storage-protocol, animus-subject-protocol-wire, and animus-workflow-runner-protocol at v0.1.26, while animus-queue-protocol and animus-subject-protocol-v05 stay on the matched v0.5.10 compatibility pair.
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.