From 0460bbe9ec0ab2d1e59a9071e029736be2c95ac5 Mon Sep 17 00:00:00 2001 From: damocles Date: Wed, 27 May 2026 19:05:32 +0200 Subject: [PATCH] docs: ContainerCrash mentions recent-transient grace (#124 followup to #425) --- CLAUDE.md | 4 +++- docs/approvals.md | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 5b1418b3..97526282 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -57,7 +57,9 @@ hive-c0re/ host daemon + CLI (one binary, subcommand-dispatched) /state/hyperhive-events.sqlite src/crash_watch.rs poll every 10s; fire HelperEvent::ContainerCrash when a previously-running container disappears - without an operator-initiated transient + without an operator-initiated transient (or a + RECENT_TRANSIENT_GRACE tombstone within the + last 30s, closes #425) src/container_view.rs ContainerView struct + build_all helper; shared between dashboard.rs (cold-load via /api/state) and coordinator.rs's diff --git a/docs/approvals.md b/docs/approvals.md index fa75fa16..5158e8ba 100644 --- a/docs/approvals.md +++ b/docs/approvals.md @@ -418,8 +418,12 @@ regular claude turn so the manager can react. Variants - `Destroyed { agent }` — `actions::destroy`. - `ContainerCrash { agent, note }` — `crash_watch`: a previously- running container went away with no operator-initiated transient - state (Stopping / Restarting / Destroying / Rebuilding). Manager - can `start` it again or escalate. + state (Stopping / Restarting / Destroying / Rebuilding) AND no + such transient was cleared in the last 30s (`RECENT_TRANSIENT_GRACE` + tombstone, three `POLL_INTERVAL`s — closes the race where a + lifecycle op finishes between two crash-watch polls and the + container shows briefly as "stopped without transient" before the + next start, #425). Manager can `start` it again or escalate. - `NeedsLogin { agent }` — sub-agent has no claude session yet. Manager can't act directly (interactive OAuth); typically flags the operator.