Pull durable knowledge out of agent session memory into the cross-harness contract so every harness/agent honors it, not just this session: - USER.md: new Conventions & voice section (EU date format DD.mon.YYYY, positive instruction framing, plain-language naming + detection not sniffing, lean/current docs). Colibri fact 12 -> 13 crates, MIT, v0.11.0. - AGENTS.md: two operating rules (verify on the forge not local git status; CI dormant by choice, merges ride local gates, domedog stays Docker-free). - HOST-MATRIX.md + AGENTS.md matrix: domedog isolation Docker -> host (no Docker), matching the probe in HOST-MATRIX section 3. - curated/: colibri 13 crates/MIT/0.11.0 + vault, python3=3.11 policy, real Docker layout (debby only; domedog Docker-free), hermes-bsd row. Validated: scripts/layered_soul.py validate . -> OK. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
Clawdie Project Structure
Clawdie is a dual-OS agent runtime designed for survivability — Linux+Docker for reach, FreeBSD+jails (Bastille) for resilience.
Core repos
| Repo | Language | Purpose |
|---|---|---|
colibri |
Rust (13 crates, MIT, v0.11.0) | Cross-platform control plane: daemon, task board, skills catalog, store, MCP bridge, vault (tenant onboarding) |
clawdie-ai |
Docs/config | Agent runtime, control plane channels, handoff docs, session archives |
clawdie-iso |
Shell/BSD | FreeBSD ISO builder, firstboot wizard, installer, ZFS layout |
hermes-bsd |
Python | MIT-licensed FreeBSD Hermes patches (public) |
hermes-soul |
Backup | Hermes-native runtime backup (private) |
layered-soul |
Identity | Cross-harness portable identity (public) |
Dual-OS strategy
| Platform | Container | Strengths | Safeguards against |
|---|---|---|---|
| Linux (debby, domedog) | Docker | Instant ecosystem access, any tool/language | FreeBSD/jails catch Linux-specific exploits (glibc, systemd, kernel) |
| FreeBSD (OSA) | Bastille jails | ZFS integrity, different TCP stack, jail isolation | Linux/Docker catches FreeBSD-specific bugs |
If Docker goes down, OSA keeps running. If a FreeBSD jail escape emerges, the Linux side keeps the collective running.
Key binaries (colibri workspace)
colibri-daemon— always-on socket server, session/agent lifecycle, jail spawnercolibri— CLI client + probe binariescolibri-glasspane-tui— ratatui live dashboardclawdie— host installer/deployer (ZFS + service)
Development rules
- Linux agents (debby, domedog): build + test + clippy, push to Forgejo
- FreeBSD agent (osa): validate on real FreeBSD 15, run
cargo teston bare metal - Rust Tier-2 target:
x86_64-unknown-freebsd, TLS via rustls (no openssl-sys) python3is 3.11 across hosts (FreeBSDPYTHON_DEFAULT); 3.12 stays available aspython3.12. FreeBSD pkg flavors arepy311-*. Seedocs/TOOLCHAIN.md.- Zig 0.15.2 at
~/.local/bin/zig(required for herdr builds)
Docker infrastructure
Docker lives on debby (29.5.3, daemon intermittent) — containers for Hermes gateway, Zot RPC. Vaultwarden + Forgejo run off-fleet on Vultr. domedog is Docker-free by choice (overhead not yet worth it); it runs the headless Linux media/compute lane on the host directly. osa (FreeBSD) uses Bastille jails, not Docker. Probe with verify_facts_probe.py --jails-containers.
Herdr
Terminal workspace manager at ~/ai/herdr (v0.6.2, local patches). Binary at ~/ai/herdr/target/release/herdr.