Adjudicate 2026-07-29: drop the wedged-loop heartbeat, add a hang-bounding fold-in
Heartbeat dropped: a Docker healthcheck badge restarts nothing under this container's setup, spark-control's tile would need its own change to read it, and serial per-room polling (a review may run 10 min) makes any staleness threshold either too loose to be timely or noisy mid-review. No wedge has ever been observed. Reopens on an observed wedge plus confirmation the tile already renders Docker health. Replaced by a fold-in, since the realistic failure is a hang rather than a crash: bound the two unbounded awaits in src/bot.py and stop the process if the poll task ever dies, letting restart: unless-stopped and the existing spark-control tile cover it. AGENTS.md Current state reconciled to match. Phase 3's onboard-3-repos verify item stands (inside the 14-day skip window).
This commit is contained in:
@@ -116,5 +116,13 @@ The merge-redact fix covers bot-driven merges only; the prune should redact befo
|
||||
`agents +/-`) deleted as finished; Phase 4 deleted because spark-control has shipped this bot's tile
|
||||
since v0.28.0; deploy-on-a-non-static-repo dropped (no repo needs it, and the deploy step is hardcoded
|
||||
to the static-site publish script, so a per-repo deploy-command field would have to come first).
|
||||
Remaining: onboard 3 repos, and a heartbeat so a **wedged** poll loop is distinguishable from healthy
|
||||
(the tile reads container state, so it already catches a crash but not a stuck loop).
|
||||
That left two items: onboard 3 repos, and a wedged-loop heartbeat.
|
||||
|
||||
**Backlog adjudicated 2026-07-29:** the heartbeat is **dropped** — a healthcheck badge doesn't restart
|
||||
anything here, spark-control's tile would need its own change to read it, and serial per-room polling
|
||||
(a review may run 10 min) makes any staleness threshold either too loose to be timely or noisy
|
||||
mid-review; no wedge has ever been observed. Reopens only on an *observed* wedge **plus** confirmation
|
||||
the tile already renders Docker health. In its place ROADMAP carries a **fold-in**: bound the two
|
||||
unbounded awaits in `src/bot.py` (`await proc.wait()` after the timeout kill in `ssh_run`;
|
||||
`client.room_send` in `say()`) and stop the process if the poll task ever dies, so
|
||||
`restart: unless-stopped` + the tile cover it. Phase 3's onboard-3-repos verify item stands.
|
||||
|
||||
Reference in New Issue
Block a user