polychrome
A Rust-native, provider-agnostic agent orchestrator. Many backends, many sandboxes, one control plane.
Each conversation is reconciled into its own isolated harness pod on Kubernetes. The control plane owns the external API, the reconciler, and the durable event log; the execution plane — the harness pod — runs the function-calling loop. Backends, tools, and tenants can swap without touching the orchestration core.
Every binary exposes /healthz /livez /readyz /metrics on a side server; events on the wire are ed25519-signed where it matters; OpenTelemetry stitches one trace tree across the control-plane → harness hop.
Start here
- Architecture — control plane, execution plane, and the durable event log.
- Run & Deploy — local two-process setup and the Kubernetes overlays.
- Operator CLI — cluster lifecycle, introspection, and driving turns.
Workspace
polychrome is a Rust workspace. The control plane, the harness, the Slack edge adapter, and the operator CLI are separate binaries built from shared crates.
| Crate | Role |
|---|---|
polychrome | Control-plane binary: AgentService, ApprovalService, forensics UI |
polychrome-harness | Execution-plane binary: HarnessService, run_turn, tools |
polychrome-agent | run_turn, ToolExecutor, Summarizer, handoff primitives |
polychrome-tools | Pure-tool registry plus MCP client and server |
polychrome-eventlog | Append-only event log over a Commonware journal |
polychrome-controller | Conversation CRD plus kube reconciler |
polychrome-cli | Operator CLI: cluster lifecycle, log/exec/send, self-update |
The full crate listing lives in the repository README.