Agent Orchestrator Core
Pure Rust library implementing the orchestrator engine — scheduling, agent selection, workflow execution, and state management.
Build
# Build entire workspace (core + daemon + cli + proto)
# Build core library only
Binaries
| Binary | Crate | Purpose |
|---|---|---|
orchestratord |
crates/daemon |
Daemon — gRPC server + embedded workers |
orchestrator |
crates/cli |
CLI client — lightweight gRPC client |
Note:
coreis a library crate only — it has no binary. Theorchestratorddaemon embeds the core engine, and theorchestratorCLI communicates with it over gRPC.
Run
# Start daemon (foreground)
# Use CLI client (with daemon running)
Test
Lint
Linux x86 Check
To validate the Linux GNU setrlimit ABI used by runner.rs, run:
This installs i686-unknown-linux-gnu if needed and type-checks the RLIMIT_* to setrlimit conversion without requiring the full cross-compilation toolchain.
For a full crate check on i686-unknown-linux-gnu, you also need an i686 C compiler because rusqlite builds bundled SQLite C code:
Config And Data
When run from repo root, runtime paths are:
- DB:
data/agent_orchestrator.db - Logs:
data/logs/ - Daemon socket:
data/orchestrator.sock(C/S mode) - Daemon PID:
data/daemon.pid(C/S mode)
Use orchestrator apply -f <path> to initialize config in SQLite.