Cross-platform Rust control plane core
Find a file
Sam & Claude 4f81e49983 test: intake-task drains to SQLite via run_loop (Sam & Claude)
Regression guard for the scheduler store deadlock fixed upstream in d760536:
scheduler.tick held a non-reentrant std::sync::Mutex (state.store) across the
match scrutinee, so relocking inside the arm deadlocked the first time any
intake/scheduled task fired.

This test (independently authored on domedog) submits an intake-task over the
real Unix socket, runs run_loop with a fast scheduler tick, and asserts the
task is drained into SQLite. It hangs (>8min) against the pre-fix code and
passes in 0.09s against d760536 — so it cross-validates that fix and guards the
regression. Closes osa-smoke rec #2.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 21:48:47 +02:00
.hermes/plans docs: add Colibri cutover orchestration plan (Sam & Hermes) 2026-05-27 15:59:13 +02:00
crates test: intake-task drains to SQLite via run_loop (Sam & Claude) 2026-05-27 21:48:47 +02:00
docs docs: record OSA intake scheduler re-smoke 2026-05-27 21:09:26 +02:00
manifests Record debby runtime inventory (gate #3 parity) (Sam & Claude) 2026-05-26 18:08:41 +02:00
packaging/freebsd feat: add prototype rc.d service + fix plan wording (Sam & Hermes) 2026-05-27 19:30:51 +02:00
src Auto-load .env for the DeepSeek probe; gitignore .env (Sam & Claude) 2026-05-26 14:27:41 +02:00
tests Fix platform matrix rustfmt drift 2026-05-27 13:06:58 +02:00
tools Add Colibri operator smoke CLI helpers 2026-05-27 12:19:24 +02:00
.agent-handoff.md docs: answer Codex handoff questions — colibri-ctl, scheduler, smoke-agent, WAL (Sam & Hermes) 2026-05-27 20:05:47 +02:00
.env.example Auto-load .env for the DeepSeek probe; gitignore .env (Sam & Claude) 2026-05-26 14:27:41 +02:00
.gitignore Auto-load .env for the DeepSeek probe; gitignore .env (Sam & Claude) 2026-05-26 14:27:41 +02:00
AGENTS.md docs: clarify colibri-skills phase zero 2026-05-27 16:17:25 +02:00
Cargo.lock feat: add colibri-store — embedded SQLite coordination database (Sam & Hermes) 2026-05-27 16:40:19 +02:00
Cargo.toml feat: add colibri-store — embedded SQLite coordination database (Sam & Hermes) 2026-05-27 16:40:19 +02:00
README.md fix: harden scheduler tests and FreeBSD store isolation 2026-05-27 19:13:20 +02:00
rust-toolchain.toml Scaffold Colibri Phase 1: colibri-probe DeepSeek cache smoke (Sam & Claude) 2026-05-26 10:08:23 +02:00

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.

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_ctl, 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.