Cross-platform Rust control plane core
Find a file
Sam & Claude e29b9c10e1
Some checks are pending
CI / rust (pull_request) Waiting to run
CI / markdown (pull_request) Waiting to run
CI / port (pull_request) Waiting to run
CI / agent-jail-pkgs (pull_request) Waiting to run
feat(daemon,tui): visible secured state — status response + TUI notice
Issue #183 Part B: show node secured/unsecured state so operators can
tell the difference between a broken node and one waiting for first-boot
password setup.

  daemon:  add "secured": bool to status response
           (true iff ${data_dir}/.secured exists)
  TUI:     fetch secured from daemon status each refresh cycle
           render [UNSECURED — set root password to activate agent]
           in red bold when node is unsecured

Part A (rc.d gate gating autospawn on .secured) was already complete.
2026-06-26 15:33:18 +02:00
.agent/skills skill: positive framing pass — nginx, setup, update, astro, docs-deployment 2026-06-26 14:15:47 +02:00
.forgejo/workflows chore(ci): add wiki-lint to CI for parity with ci-checks.sh 2026-06-25 22:50:19 +02:00
astro/wiki fix(wiki): repair broken ../packaging/ links (EN+SL) + clean stray content dir 2026-06-26 14:26:10 +02:00
crates feat(daemon,tui): visible secured state — status response + TUI notice 2026-06-26 15:33:18 +02:00
docs Merge pull request 'fix/sl-terminology-clean' (#220) from fix/sl-terminology-clean into main 2026-06-26 15:28:12 +02:00
manifests Add USB live runtime inventory golden test 2026-06-04 12:46:34 +00:00
packaging refactor: kill→stop across API surface, CLI, TUI, and docs 2026-06-26 14:40:10 +02:00
scripts feat(wiki): minimal Astro site for wiki.clawdie.si 2026-06-26 14:15:47 +02:00
src refactor: clear pi-era residue from the harness-neutral agent path 2026-06-23 18:04:45 +02:00
tests feat(rc): rename test agent and load provider env (Sam & Codex) 2026-06-15 07:35:44 +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
.prettierignore chore: adopt markdown formatting gate + one-shot prettier sweep (Sam & Claude) 2026-06-04 20:13:47 +02:00
.prettierrc chore: adopt markdown formatting gate + one-shot prettier sweep (Sam & Claude) 2026-06-04 20:13:47 +02:00
AGENTS.md docs: delete 3 stale docs; repoint refs to successor 2026-06-24 16:58:49 +02:00
Cargo.lock feat(glasspane): terminal capture, signature triage, and edge-triggered alerts 2026-06-25 20:50:57 +02:00
Cargo.toml chore: default DeepSeek model → v4-pro + bump to 0.12.0 2026-06-23 08:51:02 +02:00
LICENSE release: colibri 0.11.0 + relicense AGPL-3.0 -> MIT 2026-06-20 22:05:47 +02:00
README.md docs: fix README referrer to moved headroom-sidecar wiki page 2026-06-24 17:34:42 +02:00
rust-toolchain.toml

Colibri

The Clawdie control plane core — a small, cross-platform (FreeBSD + Linux) Rust daemon. Developed from an operator USB environment; deploys as the Clawdie service on bare FreeBSD hardware (ZFS RAID1, PostgreSQL + pgvector, bhyve VMs, Bastille jails). Unifies coordination (task board, agent registry, skills catalog) with cache-first cost discipline (byte-stable prompt prefixes, cache-hit metering).

Status: workspace gates are fmt/clippy/test/release green. Round 2 audit is closed. Current priorities: ISO boot/runtime validation, Pi spawn end-to-end, and cost-mode enforcement (see docs/MULTI-AGENT-HOST-PLAN.md). Always query live state: see the crate table below and run the gate commands for current counts.

FreeBSD build lane handoff: docs/FREEBSD-BUILD-LANE-HANDOFF.md. ISO acceptance runbook: docs/ISO-ACCEPTANCE-RUNBOOK.md. Clawdie Studio/Zed proposal: docs/CLAWDIE-STUDIO-PROPOSAL.md. External MCP host prototype: docs/COLIBRI-EXTERNAL-MCP-PROTOTYPE.md. Optional Headroom compression sidecar: docs/wiki/headroom-sidecar.md.

Workspace

Crate Role
colibri (root) Workspace root + probe binaries (colibri-probe, runtime-inventory)
colibri-mcp MCP bridge for editor integration (Zed, Claude Code) via stdio JSON-RPC
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 (zot/pi JSONL 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)
colibri-skills Skills catalog crate
clawdie Host installer/deployer: ZFS layout + clawdie service (FreeBSD/Linux)

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 (zot/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, FreeBSD jail confinement)

colibri-client       — CLI tools (colibri, colibri-test-agent)
colibri-glasspane-tui— ratatui dashboard

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 uses rustls for clean static linking (no openssl-sys dependency). Default DB path: /var/db/colibri/colibri.sqlite.