diff --git a/harness/alerts.go b/harness/alerts.go index 7b38111..4fbe117 100644 --- a/harness/alerts.go +++ b/harness/alerts.go @@ -108,7 +108,9 @@ func (r *AlertRouter) handleWebhook(w http.ResponseWriter, req *http.Request) { "startsAt": al.StartsAt, "fingerprint": al.Fingerprint, "layer": al.Labels["layer"], "signature": sig} r.app.store.Event(bg, runID, sid, "alert", "grafana", payload) handled++ - r.setFiring(al.Fingerprint, name, al.Status == "firing") + // layer-1 signature alerts are informational (the platform owns the recovery); they must not hold the judge + // (campaign 3, 2026-10-08: LegacyUnhealthy resolved 8.5 minutes after the container was back, V-K1 MTTR 631 s) + r.setFiring(al.Fingerprint, name, al.Status == "firing" && sig == "") if al.Status != "firing" { r.cancelTimer(al.Fingerprint) continue