-- OPS-05: Schwellwert-Regeln fuer Alerting auf den aus OPS-03 aggregierten -- Metriken. Lebt wie config_values/notification_jobs (CFG-01/02) in der -- zentralen Registry-DB — modulübergreifende Betriebskonfiguration, keine -- Mandanten-Geschaeftsdaten. CREATE TABLE alert_rules ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), metric_name TEXT NOT NULL, comparison TEXT NOT NULL CHECK (comparison IN ('gt', 'lt')), threshold DOUBLE PRECISION NOT NULL, label_filters JSONB NOT NULL DEFAULT '{}'::jsonb, recipient TEXT NOT NULL, description TEXT NOT NULL DEFAULT '', created_at TIMESTAMPTZ NOT NULL DEFAULT now() ); -- Haelt fest, wann eine Regel zuletzt tatsaechlich einen Alarm ausgeloest -- hat (Akzeptanzkriterium 3: Drosselung wiederholter Alarmierung fuer -- denselben anhaltenden Zustand). rule_key kombiniert Regel-ID mit den -- tatsaechlichen Label-Werten der ausloesenden Zeitreihe, damit dieselbe -- Regel fuer unterschiedliche Tenants/Module unabhaengig gedrosselt wird. CREATE TABLE alert_debounce_state ( rule_key TEXT PRIMARY KEY, last_fired_at TIMESTAMPTZ NOT NULL );