Skip to content

v1.11.0 — Anomaly digest (Layer 2)

Choose a tag to compare

@t-philip t-philip released this 26 Aug 00:10
· 1 commit to main since this release

✨ Added

  • Context-aware anomaly digest (Layer 2 of the anomaly-detection design). Each metric (power/gas/water) now gets its own model of what a "normal" day looks like given that day's calendar position, weather, occupancy, and (for power) EV charging — so a cold, fully-occupied winter day is judged against a cold-and-occupied baseline, not a flat year-round average. A day is flagged only if it exceeds that household's own historical 99th-percentile deviation.
  • Runs nightly, independent of the existing leak/health alerts. Anything flagged sends one Telegram summary and is recorded for later review — this is a digest, not an interrupt, so it never touches the persistent alert banner.
  • Reuses the existing anomaly-alerts Telegram configuration — no new setup required if leak/health alerts are already configured. Needs 90+ days of settled history per metric before it starts training; does nothing until then.

📝 Docs

  • docs/DESIGN_SPEC.md §11.6 documents the model (features, training, and the schema's kind='context' column reuse) and a new §12 limitation on its current scope (daily granularity only, fixed 99th-percentile threshold).