Watch
0
0
Fork
You've already forked hyperhive
0

hive-agent: drive turns through hive-runtime

AgentSession becomes hive_runtime::AgentRuntime, picked at startup from
the environment. Unset HIVE_RUNTIME keeps the claude backend, built
from the same title, store and PercentPolicy as before; drive_turn,
the 401 retry and the error mapping see the claude errors unchanged.

On acp the harness keeps the session id in the harness dir, answers
permission requests like the claude built-in allow-list (no built-in
shell, web fetch only with web_tools), maps runtime errors to Failed,
and reports an operator /compact as skipped instead of done.

Refs #4391
This commit is contained in:
atlas 2026-09-29 21:22:41 +02:00 • committed by mara
commit f0110be76c
4 changed files with 119 additions and 58 deletions

View file

@ -45,13 +45,21 @@ hand-maintained per-file tree drifts out of sync with the code.
single `hive-ag3nt/` dir — that's the runtime/binary-family nickname,
not a directory).
- **`hive-agent/`** — the serve-loop binary: turn-loop *policy* layer
(`turn.rs`) over the `hive-claude` driver, per-agent web UI (`web_ui/`
(`turn.rs`) over `hive-runtime`, per-agent web UI (`web_ui/`
module dir), event + turn-stats sqlite sinks, login flow, system-prompt
renderer.
- **`hive-agent-mcp/`** — the embedded MCP server (long-lived
streamable-http listener, `hive-mcp-http` systemd unit) + its claude
launch-config layer (tool-group/capability → `--allowedTools`,
`--mcp-config` render).
- **`hive-runtime/`** — the runtime an agent's turns run on: one
`Runtime` interface (`run`/`compact`/`archive`) with a `claude` backend
(a pass-through to `hive-claude`) and an `acp` backend (any Agent Client
Protocol agent, spawned from the command/args/env nix hands it — no agent
is named in Rust). The ACP backend translates its stream into claude's
`stream-json` shape, so the harness's consumers read either unchanged.
Depends on no hyperhive binary crate, so the subagent daemon can use it
too.
- **`hive-jobq/`** — job-DAG scheduler, extracted from hive-c0re's
in-tree `job_queue` as a domain-agnostic library. **Runtime-only —
nothing writes the graph to disk**; hive-c0re starts empty each boot