Anomalies¶
Navigate: sidebar Monitor -> Anomalies (/anomalies), or the
Open Anomalies tile on the dashboard, or the Anomalies card on any
mapping's detail page.
An anomaly is a statistical deviation an analyzer raised when a mapping's latest run departed from that mapping's own history. It is a trend signal, not a correctness verdict - whether the data matches is decided by the run itself (see Runs).
Reading the list¶
Rows are newest first. Each row shows:
| Column | Meaning |
|---|---|
| Severity | High, Medium or Low, as set by the analyzer. |
| Analyzer | A plain-language name and, beneath it, the analyzer code. |
| Mapping | Links to the mapping's detail page. |
| Observed / Baseline | The value the run measured against the mapping's own median. No baseline means the analyzer has none for this metric - that is not zero. The throughput analyzer compares against a platform floor and says so. |
| Status | Open, Acknowledged by whom and when, or Resolved with its reason. |
Expand a row to read the recommended next action.
Filters: severity, analyzer, and Include resolved (default is open only).
The filters are in the address bar, so a link such as
/anomalies?mapping_id=...&severity=high can be shared. The list loads 50 rows
at a time (Load more) and never renders more than 500.
Acting on an anomaly¶
- Acknowledge (analyst and above) - records that someone owns it, with an optional note.
- Resolve (operator and above) - records that it is dealt with; a reason is required (up to 64 characters).
The buttons are hidden for roles that cannot use them; the server enforces the permissions regardless. Neither action alters the run or its evidence.
What is not here¶
Anomaly thresholds (policy editing), AI summaries and notification triggers for anomalies are outside this screen.
API¶
GET /api/v1/anomalies - see the GET /anomalies entry in the API contract.
Actions use POST /api/v1/anomalies/{id}/acknowledge and /resolve.