fix(harness): JSON-safe SLO state, unscored AI errors, mark recorded-only proposals executed

This commit is contained in:
seon committed 2026-09-24 02:22:29 +09:00
1 parent 5daf13b669
commit de076a79e4
4 files changed
+45 -36

No files matched your search

+7 -4
View File
@@ -14,16 +14,19 @@ import (
)
// AlertRouter implements design 5.2 "알림 수신기": Grafana webhook -> t_alert, then
// signature present -> layer 1: the platform mechanism is already acting; the harness observes and, if the alert
// is still firing after escalate_after_s, hands it to layer 2
// no signature -> layer 2: POST the alert to the AI VM /diagnose and record the diagnosis
//
// signature present -> layer 1: the platform mechanism is already acting; the harness observes and, if the alert
// is still firing after escalate_after_s, hands it to layer 2
// no signature -> layer 2: POST the alert to the AI VM /diagnose and record the diagnosis
type AlertRouter struct {
app *App
mu sync.Mutex
timers map[string]*time.Timer // fingerprint -> escalation timer
}
func NewAlertRouter(a *App) *AlertRouter { return &AlertRouter{app: a, timers: map[string]*time.Timer{}} }
func NewAlertRouter(a *App) *AlertRouter {
return &AlertRouter{app: a, timers: map[string]*time.Timer{}}
}
// Grafana webhook payload (https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier/)
type grafanaWebhook struct {