docs(#2627): crate READMEs for the harness column (hive-agent, hive-agent-mcp, hive-agent-wake, hive-bash-mcp)
This commit is contained in:
parent
0ae0780089
commit
29f45ddd48
8 changed files with 154 additions and 0 deletions
|
|
@ -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
36
hive-bash-mcp/README.md
Normal 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).
|
||||
Loading…
Reference in a new issue