Deduplicate (hostname, metric_id) rows across verticals using DISTINCT ON in GET /items, GET /items/:hostname, GET /vcl/stats (heavy-hitters + forecast), GET /mttr, and persistUpload() snapshot block. Add defensive groupByHostname Set and hostname_status CTE for snapshot classification. Includes 38 property-based tests (11 exploration + 27 preservation) covering all six affected sites. Closes #13
48 KiB
48 KiB