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:
parent
6470e2b109
commit
e5c55257f8
1 changed files with 517 additions and 26 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue