20963847c2
Closes M3 — adds the `contextual_match_score` term to the scoring formula via weighted-Jaccard similarity (tags 0.7, artists 0.3) over the user's contextual_likes. Reads the current session vector from the most recent open play_event (populated by sub-plan #2). Cold-start paths collapse to zero contribution, preserving v1 behavior. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>