fix(harness): do not hold recovery on layer-1 signature alerts

alerts_ok は第 2 層(signature なし)のアラートだけを見る。第 1 層のシグネチャ
アラートはプラットフォームが復旧を担う情報であり、Grafana の解決が 8 分遅れると
MTTR に乗ってしまうため除外する。
This commit is contained in:
seon committed 2026-10-08 21:27:34 +09:00
1 parent cd8fbdddab
commit 8836b37927
1 file changed
+3 -1
+3 -1
View File
@@ -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} "startsAt": al.StartsAt, "fingerprint": al.Fingerprint, "layer": al.Labels["layer"], "signature": sig}
r.app.store.Event(bg, runID, sid, "alert", "grafana", payload) r.app.store.Event(bg, runID, sid, "alert", "grafana", payload)
handled++ 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" { if al.Status != "firing" {
r.cancelTimer(al.Fingerprint) r.cancelTimer(al.Fingerprint)
continue continue