Files
pulse/internal
rcourtman 110cbb5773 feat(alerts): cut the canonical metric-threshold family over to the reducer core
Phase 2 continued. evaluateCanonicalMetricAlert — the main metric path
behind CheckUnifiedResource — no longer reconstructs previous state and
re-evaluates: the reducer core owns the transition, keyed by the
canonical metric spec ID. The spec's explicit critical threshold and
recovery latch map onto the rule (Critical pointer; CriticalDisabled
when the spec omits escalation at high triggers, where the legacy
derived cap would incorrectly escalate); the hysteresis-latched hold
keeps its no-refresh behavior; explicit metric intent policies gate in
the reducer with monotonic-tick grace, and the legacy delay applies
otherwise. New occurrences take start time and ack restoration from the
core and record fired events. Both metric wrappers now observe on the
manager clock seam (policyNow), keeping simulated-clock tests and
production behavior on one path.

The host-dedup tests read the core's pending incidents instead of the
retired pendingAlerts map.
2026-08-27 00:27:01 +01:00
..
2026-08-26 22:11:28 +01:00
2026-08-26 15:17:12 +01:00