Skip to content

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.