Skip to content

Architecture

Orbit is a layered Rust workspace. Lower layers do not depend on higher layers.

flowchart LR
Common["orbit-common"] --> Policy["orbit-policy"]
Common --> Exec["orbit-exec"]
Common --> Knowledge["orbit-knowledge"]
Common --> Store["orbit-store"]
Common --> MCP["orbit-mcp"]
Policy --> Tools["orbit-tools"]
Exec --> Tools
Knowledge --> Tools
Tools --> Agent["orbit-agent"]
Tools --> Engine["orbit-engine"]
Store --> Engine
Agent --> Engine
Engine --> Core["orbit-core"]
Core --> CLI["orbit-cli"]
MCP --> CLI

orbit-store and orbit-mcp depend only on orbit-common. orbit-mcp is consumed by orbit-cli directly via orbit mcp serve. orbit-core does not depend on orbit-agent; the bridge is orbit-engine’s backend: cli subprocess runner.

CrateRole
orbit-commonShared domain types, errors, IDs, utility helpers.
orbit-knowledgeGraph parsing, storage helpers, selectors, graph services.
orbit-storeYAML and SQLite stores.
orbit-agentHTTP loop transport and retained CLI runtimes.
orbit-engineActivity/job execution, template rendering, retries, CLI subprocess runner.
orbit-toolsBuilt-in tool registry and external tool integration.
orbit-mcpMCP adapter over the tool registry.
orbit-coreRuntime bootstrap, config, command dispatch, default asset seeding.
orbit-cliClap-based CLI entrypoint.

Feature design docs live under docs/design/<feature>/ and follow docs/design/CONVENTIONS.md.

FeatureFolderLead
Knowledge graphknowledge-graph/claude
Policy & Sandboxingpolicy-sandbox/claude
Activity / Jobactivity-job/codex
Auditabilityauditability/codex
Groundhoggroundhog/codex
User Interfaceuser-interface/gemini

The architecture design docs under architecture/design/ are generated from the repository’s docs/design/ tree before dev, check, and build.

Do not edit generated mirror pages directly. Edit the source documents in docs/design/.