-- Discover taste-targeted novelty bucket. -- -- Without it, Discover on a single-user server is effectively dormant + -- crude-random, and the per-user taste profile's tags go unused. This adds a -- fourth Discover candidate bucket that ranks unheard tracks by the -- user's taste-profile tag weights ("novelty that fits your vibe"), so -- its picks need a new pick_kind provenance value. -- -- Postgres CHECK whitelists can't be altered in place: DROP + re-ADD with -- the expanded list, in the same migration. ALTER TABLE playlist_tracks DROP CONSTRAINT playlist_tracks_pick_kind_check; ALTER TABLE playlist_tracks ADD CONSTRAINT playlist_tracks_pick_kind_check CHECK (pick_kind IN ( 'taste', 'fresh', 'dormant', 'cross_user', 'random', 'taste_unheard', 'tier1', 'tier2', 'tier3' )); ALTER TABLE play_events DROP CONSTRAINT play_events_pick_kind_check; ALTER TABLE play_events ADD CONSTRAINT play_events_pick_kind_check CHECK (pick_kind IN ( 'taste', 'fresh', 'dormant', 'cross_user', 'random', 'taste_unheard', 'tier1', 'tier2', 'tier3' ));