Statuses
An
error event still advances the alert’s window, so a broken query doesn’t
pile up a backlog to re-evaluate once it’s fixed.
What an event carries
Alongsidestatus, value, and errorMessage, each event records the window it
judged (windowStartedAt / windowEndedAt) and runUuids — one run per action
fired, empty unless the event is unhealthy.
An event also snapshots the alert as it was evaluated: its scope, threshold,
and actions are copied onto the event rather than read back from the live alert.
Editing an alert’s threshold, or deleting the alert entirely, therefore doesn’t
rewrite the meaning of its past events — a firing from last week still shows the
threshold it actually breached.

