Alert Lifecycle
Last updated on July 22, 2026
An alert is an episode, not a message. One degradation produces one alert that stays open, updates itself, and closes when the line recovers — however long that takes.
Episodes and deduplication
Each episode is identified by what it is about: the organization, the alert type, and the specific thing affected, such as a procedure, a measurement series, or a unit. While an episode is open, new evidence about the same thing updates it instead of creating a second alert.
| New verdict | What happens |
|---|---|
| Higher severity | Escalates in place. The level rises, the timeline records it, and email goes out to anyone not already notified at that level. |
| Same severity | Refreshes the summary numbers silently. No activity entry, no email. The chart is unaffected either way — it always renders live data. |
| Lower severity | Ignored while the episode is open. |
Severity is a high-water mark: it only ratchets up. A critical alert that eases to warning stays critical until it resolves, because the critical email already went out and the peak belongs in the record.
Resolution
| Type | Resolves |
|---|---|
| Yield drop, Measurement drift | Automatically, once the metric recovers below the resolve band. |
| Golden sample failed | Automatically, when the golden unit passes again. |
| Failing sample passed | Automatically, when the failing unit fails again. |
| Unit retest threshold, Run failed | Manually only. |
For trends, an episode resolves only when every grader that fired it has recovered. If a custom rule and automatic detection both fired the alert, both must clear. A grader with no fresh data holds its verdict rather than assuming recovery.
Resolution frees the identity, so the next breach after a recovery is a genuinely new episode with a fresh alert. This is why a flapping line produces a sequence of alerts rather than one that reopens.
Manual resolve and snoozing
Active alerts offer a Resolve button with an optional comment. Resolving by hand snoozes that alert for its evaluation window: your configured window on a custom rule, one hour on automatic detection. When both grade the same episode, the window of whichever grader currently phrases the alert applies. The same condition will not re-alert during that period. Event alerts (run failed, retest, reference samples) never snooze — each new occurrence is a genuinely new fact.
Automatic resolution never snoozes. Only a human closing an alert implies "I know, give me time".
If an alert keeps coming back, adjust the rule rather than resolving repeatedly. Repeated manual resolves suppress the symptom while the criteria stay wrong.
Resolving a unit retest threshold alert also resets that unit's counter on that procedure.
The alert detail page
The page has five sections.
Details
The summary in plain numbers, then Procedure, Station, Unit, Run, Severity, Status, and the triggered, updated, and resolved timestamps. Entity rows open that entity's side panel.
Triggered by
Every rule whose criteria this data breached, with the severity that rule computed on its own. The alert's severity is the highest of them.
- Rules that merely deliver the alert are not listed here.
- When no custom rule fired, one row reads Automatic monitoring.
- Deleted rules render dashed and marked Deleted.
This list is trimmed live as rules stop firing the alert, so it always reflects what is currently firing. The history lives in the activity feed.
Resolve
Shown on active alerts, to anyone who is not a viewer.
Timeline
A control chart of the metric behind the alert, on a sample-order axis rather than a time axis, so every sample gets equal width regardless of production rate. The chart queries live data on every view: new runs appear as they land, whether or not they changed the alert's severity.
- Lime points are inside the band, or passing.
- Pink points are beyond the threshold, or failing.
- A dashed indigo curve is the detector's own smoothed view, labelled Smoothed in the tooltip against the raw Measured value.
- A grey baseline line marks the reference the detector compared against.
- A red Triggered line marks where the alert opened.
Every type charts except unit retest threshold, which has no continuous metric. The trend types render the full control-chart language above; the event types (run failed, reference samples) render a run outcome strip — each run of the alert's stream as a PASS or FAIL dot around the trigger — so a consecutive-failure streak or a flaky reference unit is readable at a glance.
Activity
Newest first: the alert triggering, each escalation, delivery attempts with their recipients and any errors, rule changes affecting this alert, and the resolution with its comment. Automatic resolutions show no actor.
Delivery
Emails are queued and sent by a worker, so the activity feed can show queued, sent, or failed with the error returned by the mail provider.
Escalation emails thread under the original message, so an episode occupies one conversation in your inbox rather than three.
How is this guide?
Alert Rules
Learn how to create TofuPilot alert rules: pick an alert type, narrow the scope, set custom thresholds per severity, and route email to your team.
Analytics
Learn how to track yield, run volume, unit volume, and cycle timing across every procedure, station, batch, and revision with TofuPilot Analytics.