From 2dda2f3c749e3162d9a2120a1616a1425e15d169 Mon Sep 17 00:00:00 2001 From: iris Date: Fri, 19 Jun 2026 11:55:42 +0200 Subject: [PATCH] =?UTF-8?q?docs(dashboard):=20graceful=20stop=20is=20live?= =?UTF-8?q?=20=E2=80=94=20backend=20enqueues=20GracefulStop=20transient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #1785 landed the real backend: POST /kill/?graceful=1 enqueues a GracefulStop rebuild-queue transient (one stop-checkpoint turn to flush state, 3-min timeout falls back to hard stop). Update the dashboard doc note which still said the backend treated graceful the same as a hard stop. Also note hivectl --graceful remains a no-op pending a separate gating change. --- docs/web-ui/dashboard.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/web-ui/dashboard.md b/docs/web-ui/dashboard.md index 4a77e131..aa74c19d 100644 --- a/docs/web-ui/dashboard.md +++ b/docs/web-ui/dashboard.md @@ -794,11 +794,15 @@ the per-agent `⋮` menu and the bulk selection bar. bulk) carries a `stop gracefully — let the agent finish its turn and flush state before the container stops` checkbox. When ticked, the action POSTs `/kill/?graceful=1` (the bulk path appends -the flag per-agent); unticked is today's instant hard stop -(`/kill/` with no query). NOTE: the per-agent quiesce is -still being implemented (see the graceful-agent-stop tracker) — the -flag is accepted now so the wire shape is stable, but the backend -currently treats a graceful request the same as a hard stop. +the flag per-agent); unticked is the instant hard stop +(`/kill/` with no query). The backend enqueues a +`GracefulStop` rebuild-queue transient: the harness runs one +stop-checkpoint turn (so the agent can flush `/state`) and then +exits, with a 3-minute timeout that falls back to a hard stop. The +quiescing progress surfaces through the same rebuild-queue +transient + build log the card already reads for a rebuild. (Note: +the `hivectl --graceful` CLI flag is still a no-op pending a +separate gating change — only the dashboard / HTTP path is live.) ### Topology tree