a75d36b821
Both migrations exist because of scanner behaviour fixed in this branch, and both are idempotent. 31 tracks the listener had disliked were sitting back in LIBRARY, restored by successive library scans, and were being served again. They return to HIDDEN unless the dislike was deliberately reverted. 740 tracks had artist tags but no edge in the claim graph, which put them out of reach of every Vibe generator but the fallback. Their credits are written from track_artists, the same shape the scanner now produces at scan time. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KENqSChfyqWnor6ud2WWH6