Anomaly explainer
Operator gets a finding (btc.csv row 42 column qty outside expected range) and has to manually walk lineage to figure out what changed and why.
Routes through the existing override mechanism with the LLM's draft pre-populated. The deterministic accept is what enters the audit chain.
- Reads the finding's subject (dataset, row, column, severity).
- Pulls the field's last N observations across sources, via lineage trace.
- Pulls the column's profile (typical range, distribution shape).
- Surfaces recent similar findings via the similar-incident matcher.
- Drafts a 2–3 sentence operator-language explanation with lineage refs on every numeric claim.
Yahoo reported qty=12,500 for AAPL on 2026-05-21 — 8.3× the column's typical value. Alpaca and IBKR both reported qty=1,500 on the same day. Most likely a Yahoo decimal-place error (similar issue resolved 2026-04-12, incident #218). Recommended: ignore Yahoo for this row, golden value stays at 1,500.
