From 26a6dde2fb06866a0d9fc6f054981c06718712c1 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Mon, 29 Jun 2026 20:42:38 +0200 Subject: [PATCH] =?UTF-8?q?audit(channel-health):=20IMPLEMENTED=20?= =?UTF-8?q?=E2=80=94=20controller=20v0.90.0=20+=20hub=20v0.20.0=20allowlis?= =?UTF-8?q?t;=20live-validated?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01Pg8ANF97SEeKYSN5Jxw3qJ --- ...PIKE-controller-agent-channel-health-2026-06-29.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/documentation/audits/SPIKE-controller-agent-channel-health-2026-06-29.md b/documentation/audits/SPIKE-controller-agent-channel-health-2026-06-29.md index cb69110..f30acdf 100644 --- a/documentation/audits/SPIKE-controller-agent-channel-health-2026-06-29.md +++ b/documentation/audits/SPIKE-controller-agent-channel-health-2026-06-29.md @@ -100,6 +100,17 @@ No wrinkle blocks a straightforward slice. The single thing to get right: **clas error (latching, config) distinctly from runtime errors (mostly transient)**, and **probe via the memoized client** so the check can't lie. Debounce transient reasons (N≥2) to avoid restart-blip noise. +## IMPLEMENTED 2026-06-29 — controller v0.90.0 (+ hub v0.20.0) + +The channel-check slice shipped per this spike's GO: `internal/channelhealth` (a ~60s scheduler job +probing via the memoized `Server.ProbeAgentChannel`, the Q1 classifier, N≥2 debounce for transient +reasons, first-obs seed) + an English operator-only Notifier event + a Hungarian dashboard banner. +Live-validated on guest 9201: a clean agent restart fired **no** alert (debounce); a sustained stop +logged `transient down (unreachable, 1/2) — suppressed` then `agent channel DOWN (up→down:unreachable)` ++ the dashboard banner; start → `recovered`. One thing the spike didn't predict: the hub's +`allowedEventTypes` allowlist rejected the controller-pushed `agent_channel_*` events (HTTP 400) — +fixed in **hub v0.20.0**. See `felhom-controller/REPORT.md` + CHANGELOG v0.90.0. + ## Teardown — confirmed Throwaway `channelspike_test.go` removed (build-server working tree clean — `git status` shows it