docs: describe hive-claude split, InfiniteSession, deferred compact, web_ui dir

This commit is contained in:
müde 2026-07-05 20:53:56 +02:00
commit 4a404c1128
4 changed files with 85 additions and 50 deletions

View file

@ -33,9 +33,16 @@ hand-maintained per-file tree drifts out of sync with the code.
forge / matrix provisioning, per-container stats, and the axum
operator dashboard (`dashboard.rs`). Largest crate.
- **`hive-ag3nt/`** — in-container harness; one `hive` binary for every
agent. Turn loop (`turn.rs`), embedded MCP server (`mcp.rs`), per-agent
web UI (`web_ui.rs`), event + turn-stats sqlite sinks, login flow,
system-prompt renderer, forge-notify subscriber.
agent. Turn-loop *policy* layer (`turn.rs`) over the `hive-claude`
driver, embedded MCP server (`mcp.rs`), per-agent web UI (`web_ui/`
module dir), event + turn-stats sqlite sinks, login flow, system-prompt
renderer, forge-notify subscriber.
- **`hive-claude/`** — reusable, app-agnostic driver for headless
`claude --print`: spawns the CLI, streams + classifies stream-json,
parses per-turn `Telemetry`, and drives a durable self-compacting
`InfiniteSession` (name + `SessionStore` + `CompactionPolicy`). Uses
`thiserror` (it's a library); the `hive-*` binaries consume it with
`anyhow`. See `hive-claude/README.md`.
- **`hive-priv/`** — minimal root privileged-helper, socket-activated at
`/run/hive/priv.sock`; performs the few root operations (bind-mount
edits, nsenter) the unprivileged `hive-c0re` delegates to it. See