Preskoči na vsebino

Colibri Wiki

A knowledge base for Colibri’s decisions and architecture — based on Andrej Karpathy’s LLM Wiki pattern.

Every major subsystem has a page recording why it was built the way it was — the rationale the code can’t express. Implementation docs in docs/ cover the how; these pages cover the why.

Stale decisions accumulate faster than anyone hand-audits them: a rename that was only half-applied, a doc that still describes the old design, a default left over from a superseded choice. Several recent passes were spent finding exactly that (pi → zot, usb_nodes → hive_nodes, rename to sample). This wiki makes the bookkeeping near-zero-cost: one place that records what was decided, links to where it lives in code, and can be linted for drift.

These rules keep the wiki a maintainable artifact, not a second source of truth:

  1. Code is the source of truth. Pages describe decisions and where they live; they link to code/docs rather than re-explaining implementation. When a decision ships, slim its page to “how it works + link.”
  2. Link, don’t duplicate. Reference code as path/to/file.rs:line and other wiki pages with relative links ([label](page)) — Forge-clickable, the equivalent of Obsidian [[wikilinks]] adapted to a repo.
  3. One decision per page where practical; cross-link liberally.
  4. Flag, don’t silently overwrite. When new code contradicts a page, note the contradiction (and resolve it) rather than quietly editing history.
  5. Lint, don’t trust. A page is a claim to be checked against code, not a guarantee.

Skripta wiki-lint preverja vsako stran proti trenutni kodi: neobstoječe reference, oživljena stara imena (iz evidence preimenovanj), in osamljene strani. Teče kot del ci-checks.sh --strict in je zaščitena s pre-push hookom — napaka pri odstopanju blokira push, enako kot clippy opozorilo.

PageWhat it covers
agent-harnessThe zot (agent) + Colibri (control plane) split; autospawn + RPC driver
task-dispatch-flowEnd-to-end task path: queued → claimed → spawn → register → dispatch → cost; why a task stalls
factory-modelHow Colibri maps to the “factory model” architecture — harness, spectrum, conductor/orchestrator, economics
doctorcolibri doctor self-diagnosis (check battery) + colibri upgrade self-rebuild; cross-platform build split
agent-events-referencePer-harness zot event reference, Glasspane mappings, and verified transcript fields
cost-modelByte-stable prefixes, cache-hit metering, auto-escalation, T14 compaction
deepseek-pricingDeepSeek V4 per-token pricing — regular + peak-valley rates, UTC + Ljubljana timezone windows
glm-pricingGLM-5 series per-token pricing (z.ai GLM Coding Plan) — GLM-5.2 flagship + GLM-5-Turbo; no peak-valley mechanism
tokenomicsThe three cost levers — timing (valley), caching (prefix), budget (cost modes); the map that links the detail pages
glasspaneAgent state machine, JSONL streaming, AgentRuntime taxonomy, snapshot API
operator-attentionThe derived “needs the operator” view: attention predicate, TUI bar/jump/filter, edge-triggered terminal alerts
headroom-sidecarOptional tool-result compression sidecar and its Unix-socket protocol
jail-confinementPersistent vs ephemeral jails, priv-mode policy, reuse of spawner confinement for MCP servers
mother-hiveMother MCP architecture — forced-command SSH, single-home-in-colibri, peer auth, key-on-seed
ssh-bridgeSSH forced-command bridge call flow — USB→mother JSON-RPC transport, security model, troubleshooting
abbreviationsExpansions for acronyms and technical terms — add new ones as they appear
hive-routingHive member identity (machine UUID), capability matrix + local LLM probes, cost-aware task routing
hive-paneGlasspane for the hive — multi-node cost observability, A2A discovery, and operator board
cost-dashboardMother-side cost observability — human gallery + JSON, screenshot proof linked from cost rows
a2a-complexity-auditA2A code complexity impact — 6-protocol surface audit, when A2A pays off
model-selection-and-evalEval harness + eval-driven model selection — Phases 1–3 shipped, Phase 4 (cloud eval) planned
naming-decisionsLedger of harness-neutral / architecture renames — shipped and in-flight
daemon-not-demonWhy we say daemon (helper spirit) not demon (bad spirit) — English + Slovenian
layered-soulHow Colibri consumes the layered-soul reviewed-context repo today vs planned
task-boardCapability match scoring, cron scheduling, intake drain, SQLite backing
pull-requestsPR workflow — branching, review, gates, merge conventions
quality-gatesci-checks.sh as the pre-merge gate; why drift reached main before
verify-before-executeVerify in the target context, surface failures — the xkbcomp borrowed-tool lesson, the chroot pattern, TUI/GUI application
contractsStable JSON schemas (run-manifest, runtime-inventory, provider-test), fixture tests
store-schemaSQLite coordination schema and migration discipline
external-mcpMCP bridge for editors + external stdio MCP host; read/write/external-call gates
operator-cliThe colibri CLI as a thin typed Unix-socket client over the daemon API
tuiTerminal dashboard client (colibri-tui) vs the colibri-glasspane state machine
terminalTerminal capability decision (Kitty, extended-key reporting, tmux passthrough, SSH terminfo)
tmux-safetyWhy Colibri must prevent agents from killing the host tmux server — two-layer defense, skill, jail confinement
runtime-inventoryHost runtime inventory + watchdog status reader; additive, read-only integrations
skills-catalogRead-only runtime consumer for reviewed skill artifacts
vault-provisionVaultwarden-driven env-file provisioning into jails after agent spawn
deploymentHost installer (clawdie): ZFS layout, rc.d/syst) service, dry-run safety
ts-legacyRetired clawdie-ai TypeScript codebase — what it did, what survived into colibri/hermes-bsd, what was dropped
rust-glossaryQuick reference for Rust terms in the codebase: serde, Result/Option, Arc/Box, derive macros
bare-metal-freebsdFreeBSD on physical hardware (HP ML350p) — iLO, IPMI, USB boot quirks, sensor monitoring gaps
updating-a-nodeBase vs packages: freebsd-update on release hosts, pkg upgrade on pkgbase hosts, boot environments, why never to mix
forge-opsThe forge VPS (code.smilepowered.org): topology, two-artifact backup contract, one-major-hop upgrades, repo-archive trap, jail-restore project
llama-cppLocal LLM inference with llama.cpp — install, model selection, DeepSeek distills, memory reality, hive integration
llama-cpp-benchmarksMeasured 8B vs 14B on valhala (Xeon E5-2620) — tok/s, prompt speed, coexistence, router tier recommendations