mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-14 08:10:26 +00:00
5e588c0be1
Phase 2 continued. evaluateCanonicalStatefulAlert (health assessments, posture thresholds, change thresholds — ZFS pool state, backup and snapshot age, docker update-delay states) no longer reconstructs previous state from the pending-since maps: the reducer core owns the transition via the shared Match predicate, with the legacy maps kept as read-only mirrors. The family keeps its occurrence-stamping semantics (observation time or the caller's override such as a backup timestamp) and its refire-without-new-history behavior, now driven by the core's refire events. Manual clears now record a resolved occurrence in the core (Forget takes the clear time), matching the manager's recently-resolved behavior, so a quick re-fire after a manual clear reactivates the same occurrence instead of duplicating history — with the ack entering its retention window. statefulPreviousState survives only until the last mirror deletion.