Rollups exist only for hours older than the raw window (7 days by default), so the first deploy read an empty week and judged nothing. refresh now averages the raw samples by the hour and adds any rolled-up hours in the window. Sensors are named from plugin_metric_latest, so each series is read through its index instead of a pattern over every host_agent row. An integration test covers both halves against Postgres. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>