colibri/README.md

2.2 KiB

Colibri

The Clawdie control plane core — a small, cross-platform (FreeBSD + Linux) Rust daemon that unifies coordination (task board, agent registry, skills catalog) with cache-first cost discipline (byte-stable prompt prefixes, cache-hit metering).

Status: 8 crates; workspace gates are expected to be fmt/clippy/test/release green. Avoid fixed test-count status here — run the gate commands below for the current count. Phase 3 (coordination core) is in progress.

Design doc + cutover plan: docs/COLIBRI-CUTOVER-PLAN.md. Next ISO integration plan: docs/ISO-INTEGRATION-PLAN.md.

Workspace — 8 crates

Crate Role
colibri-contracts JSON schema contracts (golden tests)
colibri-deepseek DeepSeek cache-hit probe, prefix metering
colibri-runtime Host status ingestion, runtime inventory
colibri-glasspane Agent 5-state machine (Pi events → state)
colibri-daemon Always-on Unix socket server, session lifecycle
colibri-client Typed Unix-socket client + operator CLI
colibri-glasspane-tui ratatui live dashboard (FreeBSD-native)
colibri-store Embedded SQLite coordination (task board, agents, skills)

Build

cargo build --release

Test

cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings

Architecture

colibri-daemon (always-on Unix socket server)
  ├── glasspane      — agent state machine (Pi JSONL → idle/working/blocked/done)
  ├── store          — SQLite coordination (tasks, agents, skills)
  ├── socket         — newline-JSON socket API
  ├── session        — append-only JSONL sessions, 3-region prompt assembly
  └── spawner        — agent subprocess management (retry/backoff)

colibri-client       — CLI tools (colibri, colibri_smoke_agent)
colibri-glasspane-tui— ratatui dashboard (no Herdr dependency)

Probe binaries

# DeepSeek cache probe (needs DEEPSEEK_API_KEY)
cargo run --release --bin colibri-probe

# Runtime inventory manifest
cargo run --release --bin colibri-runtime-inventory

FreeBSD

Target x86_64-unknown-freebsd (Rust Tier-2). TLS is rustls to avoid openssl-sys linking. Default DB path: /var/db/colibri/colibri.sqlite.