#5473 "Opening an alert rule takes up to 15 s: the Resource picker scans every raw host-agent sample". The access log showed the edit page at 6-15 s (one load gave up) while /alerts/ took 0.2 s. resources_for ran SELECT DISTINCT over plugin_metrics, and Postgres has no skip scan, so it read every host-agent sample; every rule page, source swap, rule save and MCP rule call paid it. resources_for and metrics_for now read plugin_metric_latest, one row per series, which lists the same names. A test fails if either reads plugin_metrics again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>