hyperhive/nix/agent-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas b18348bc9a subagent: give a run a goal, turns toward it, and a reason it stopped
`start` takes an optional `goal`. With one set a session stops being a
single turn: when a turn ends and nothing has said to stop, the daemon
spawns another turn re-prompting the subagent toward that goal, up to
`max_turns` (default 5, per-session). Without a goal nothing changes —
one turn, one todo, same as before.

Four things end a run, each recorded distinctly and reported by `status`:
the turn ending with no goal, `goal_reached`, `need_help`, and the turn
cap. The last says so out loud rather than stopping quietly — the todo
states the harness limit was reached and the goal was never reported
reached. Every stop extends the done message rather than replacing it,
and lands in the session's report file when it has one. The path is
never inferred: it comes from `start`'s `report_file` or from the
subagent naming where it wrote.

`goal_reached` and `need_help` are the subagent's own, served on a second
route (`/signal/mcp`) that carries those two tools and nothing else, so
reporting on a run can't become starting one. `goal_reached` is built as
a label, never a gate: it is self-reported by a subagent that has just
been re-prompted with "you haven't reached the goal", which is exactly
the incentive to claim it — the same failure class as a build report
asserting the tests pass. Every surface that renders it says so.
`need_help` is the blocking signal, and shows in `status` as its own
state so a parent polling it sees the block without reading a file.

`status` also carries `turn N of M`: with 4330's last-event age, that
separates working from wedged from out of turns off one answer.

Two bugs the new tests caught: a `tokio::fs::File` was dropped without
flushing, so the report line was written to nothing, and the plain idle
answer dropped the turn counter.

Also documents `await_resume`'s third case — a closed channel with no
send, which fails open the same as `Underway` — per argus on #4411.

Refs #4403
2026-09-14 21:46:59 +02:00
..
agent-service.nix agent: make the OOM killer prefer a subagent over the agent's own turn 2026-09-13 13:04:45 +02:00
bash-env.nix refactor: nix/host-modules + nix/agent-modules layout, update doc paths 2026-07-13 22:05:49 +02:00
claude-settings.nix subagent daemon: throttle at two thirds of the container's memory 2026-09-13 13:04:00 +02:00
dashboard-links.nix docs: restructure into topic subdirectories, collapse duplicated index 2026-09-02 01:55:37 +02:00
default.nix swarm: wire the agents' queue coordinates and credential through the modules 2026-09-13 11:13:17 +02:00
docs.nix refactor(#2464): rename hive-ag3nt crate to hive-agent, collapse lib into main 2026-07-15 16:09:39 +02:00
forge.nix forge: stop the avatar sync retriggering itself into the start limit 2026-09-03 20:29:48 +02:00
frontend.nix refactor: nix/host-modules + nix/agent-modules layout, update doc paths 2026-07-13 22:05:49 +02:00
github.nix feat(#2642): a github.com notification poller alongside the forge one 2026-07-31 17:23:18 +02:00
matrix.nix docs: matrix gateway vhost defaults to chat.<swarm-domain>, not matrix.<domain> 2026-09-07 16:53:22 +02:00
mcp.nix subagent: give a run a goal, turns toward it, and a reason it stopped 2026-09-14 21:46:59 +02:00
network.nix refs: repoint seven comments that name files which have moved 2026-09-02 08:58:31 +02:00
otel.nix fix(otel): let file_storage extension create its own directory 2026-09-13 21:43:14 +02:00
packages.nix nix: wire the independent hive-subagent-daemon systemd unit and MCP server 2026-09-09 23:45:12 +02:00
queue.nix swarm: say "no queue coordinates", never "a hive with no queue" 2026-09-13 11:13:17 +02:00
screen.nix feat(#2618): add mouse_move + mouse_click via RFB PointerEvent 2026-07-20 21:00:09 +02:00
user.nix docs: restructure into topic subdirectories, collapse duplicated index 2026-09-02 01:55:37 +02:00
weston-vnc.nix docs: restructure into topic subdirectories, collapse duplicated index 2026-09-02 01:55:37 +02:00