Watch
0
0
Fork
You've already forked hyperhive
0

a hive-side pause holds against the swarm's declared state until an operator resumes

the harness writes the reason into the pause marker when it pauses itself and reports it as paused_by_hive in its turn-state header. swarm-controller declares such an agent paused (only if declared up) and shows the reason on the agents status row and the swarm ui card.
This commit is contained in:
atlas 2026-11-09 23:09:14 +01:00 • committed by mara
commit e5c55257f8

View file

@ -225,7 +225,7 @@ destroy/recreate, gone on `--purge`.
### `/harness/paused` (per agent)
Empty marker file. Its presence parks the agent's turn loop: the
Marker file, empty when an operator paused the agent. Its presence parks the agent's turn loop: the
harness keeps serving its web UI and MCP daemons but drives no turns,
and inbox messages queue unacked until it's removed (see
[turn loop](../../4-implementation/turn-loop/README.md#the-loop)).
@ -243,6 +243,12 @@ pause keeps working when the harness is wedged or the container is
stopped.
<!-- vale write-good.Passive = YES -->
When the harness pauses itself, after three todo wakes in a row that skipped
`get_loose_ends`, it writes the reason into the marker. The agent's turn-state
header reports a non-empty marker as `paused_by_hive`
([swarm](../swarm/README.md)), and the swarm then declares the
agent `paused` so the hive's wanted-state convergence doesn't resume it.
It lives in `/harness/` rather than `/state/` deliberately: `/state/`
is the agent's own space to fill, and this is harness control state.
Survives destroy/recreate, gone on `--purge` — so a paused agent comes