From e5da5b900e418d2ad15704e513212f88d0bd8636 Mon Sep 17 00:00:00 2001 From: iris Date: Tue, 23 Jun 2026 21:43:55 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20fix=20remaining=20bare=20/kill/=20and?= =?UTF-8?q?=20/rebuild/=20paths=20=E2=86=92=20/api/=20variants?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit coordinator.md: GracefulStop entry referenced the old bare /kill/ path with the lax graceful=1 bool — update to /api/kill/?graceful=true. approvals.md: the auto-update badge description referenced /rebuild/ (bare, no /api/ prefix) — update to /api/rebuild/. --- docs/approvals.md | 2 +- docs/coordinator.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/approvals.md b/docs/approvals.md index c32eb7bd..55627689 100644 --- a/docs/approvals.md +++ b/docs/approvals.md @@ -617,7 +617,7 @@ auto-update is a no-op — rebuild manually. The dashboard surfaces pending updates per agent: a clickable "needs update ↻" badge appears whenever the marker differs from -current rev. The badge POSTs `/rebuild/`, calling the same +current rev. The badge POSTs `/api/rebuild/`, calling the same `auto_update::rebuild_agent` path so manual triggers and the startup scan can't drift. When at least one container is stale, a top-level `↻ UPD4TE 4LL` button appears that loops over every diff --git a/docs/coordinator.md b/docs/coordinator.md index 9dadde45..cc0f6374 100644 --- a/docs/coordinator.md +++ b/docs/coordinator.md @@ -40,7 +40,7 @@ somewhere." | `Destroy` | For future use (`destroy --purge` does real I/O). Variant exists so the wire shape doesn't change later; not currently routed through the queue. | | `Restart` | Stop + start a container without touching config (~5-10s). Routed through the queue so it serialises against in-flight rebuilds for the same agent — prevents a restart racing a rebuild mid-flight. Sources: dashboard ↺ button, the `restart` MCP tool. | | `PermChange` | Write a tool-group or capability change to the shared JSON file (`tool-groups.json` / `capabilities.json`), then rebuild the agent so the updated `HIVE_TOOL_GROUPS` / `HIVE_CAPABILITIES` env var takes effect. Serialising the file write through the queue prevents concurrent dashboard batch-apply actions from racing on the shared file. After a successful file write, emits `CapabilitiesChanged` or `ToolGroupsChanged` SSE snapshot so the P3RM1SS10NS tab updates live. | -| `GracefulStop` | Quiesce then stop a container (the `?graceful=1` path on `/kill/`). Signals the harness (its next `Recv` returns `GracefulStop` — the inbound fence — so it runs one stop-checkpoint turn to flush durable `/state`, then exits), waits for it to drain (bounded by a 3-min timeout → hard-stop fallback), then runs the normal container-stop teardown. Queued so it can't race an in-flight rebuild for the same agent. | +| `GracefulStop` | Quiesce then stop a container (the `?graceful=true` path on `/api/kill/`). Signals the harness (its next `Recv` returns `GracefulStop` — the inbound fence — so it runs one stop-checkpoint turn to flush durable `/state`, then exits), waits for it to drain (bounded by a 3-min timeout → hard-stop fallback), then runs the normal container-stop teardown. Queued so it can't race an in-flight rebuild for the same agent. | **Intentionally not queued** (sub-second ops): the *hard* `start`, `stop`, `kill`. (A *graceful* stop is the `GracefulStop` kind above — it takes a checkpoint turn, so it rides the queue.)