-- Add 'playback' to the diagnostic_events kind whitelist (M9 follow-up). -- -- `route` and `player_state` events fire for EVERY output route (phone -- speaker, Bluetooth, UPnP/Sonos), so bucketing them under 'upnp_sync' -- was misleading — an operator on Bluetooth earbuds saw "upnp_sync" -- rows. 'upnp_sync' now means genuinely UPnP/Sonos-specific signal -- (drops, and future resync/desync); general playback + route telemetry -- moves to the new 'playback' kind. -- -- Per the enum-CHECK-whitelist rule, the new value lands by dropping and -- re-adding the constraint in the same change. Existing rows tagged -- 'upnp_sync' stay as-is (debug telemetry on a 30-day retention). ALTER TABLE diagnostic_events DROP CONSTRAINT diagnostic_events_kind_check; ALTER TABLE diagnostic_events ADD CONSTRAINT diagnostic_events_kind_check CHECK (kind IN ( 'connectivity', 'upnp_sync', 'power', 'lifecycle', 'heartbeat', 'http', 'playback' ));