docs(#2627): crate READMEs for the harness column (hive-agent, hive-agent-mcp, hive-agent-wake, hive-bash-mcp)

This commit is contained in:
damocles 2026-07-23 13:05:32 +02:00 committed by mara
commit 29f45ddd48
8 changed files with 154 additions and 0 deletions

View file

@ -2,6 +2,7 @@
name = "hive-bash-mcp"
edition.workspace = true
version.workspace = true
readme = "README.md"
[lints]
workspace = true

36
hive-bash-mcp/README.md Normal file
View file

@ -0,0 +1,36 @@
# hive-bash-mcp
Per-agent background bash-task runner: a long-running daemon
(`hive-bash-daemon`) plus the thin stdio MCP bridge
(`hive-bash-mcp`) claude spawns each turn to talk to it. This is what
backs the `bash_run` / `bash_status` tools agents use to kick off
long-lived shell commands (builds, test suites, anything that
shouldn't block a turn) and check on them later.
## When to use it
Look here when changing how background bash tasks are spawned,
tracked, or surfaced. The daemon owns all subprocess lifecycle
(`sh -c` spawn, completion monitoring, task state files under
`harness/bash-tasks/`) and pushes task-completion todos onto the
harness's in-agent socket so they show up in `get_loose_ends`. The
bridge binary is deliberately dumb: no subprocess management, just a
unix-socket round-trip per tool call, so it cold-starts in
milliseconds every turn.
## Shape
Two bins from one shared lib (`src/lib.rs`):
- **`hive-bash-daemon`** (`src/main.rs`) — the long-running daemon.
`runner.rs` is the spawn/monitor loop and pushes todos on task
transitions; `socket.rs` serves the daemon's own unix socket for
tool-call requests from the bridge.
- **`hive-bash-mcp`** (`src/bin/mcp.rs`) — the stdio MCP server claude
spawns per turn. Forwards every tool call to the daemon over the
socket via `protocol.rs`'s `DaemonRequest`/`DaemonResponse` and
returns the result.
Supporting modules: **`paths.rs`** (daemon socket + agent-socket
resolution), **`stats.rs`** (the `bash_commands` favorite-tool stat
recorded into turn-stats.sqlite).