f3b28db9d1
Specifies POST /api/events with start+end semantics, session service (30-min rolling), play/skip classification (spec §6 boundaries), sendBeacon + auto-close-on-next-start for abandoned plays, and Subsonic /rest/scrobble integration that writes synthetic completed plays so third-party clients feed the recommendation pipeline. Schema migration ships the full M2 set (play_events, skip_events, sessions) including M3-only nullable columns so M3 doesn't need a follow-up migration. General likes deferred to a separate M2 sub-plan; this slice covers spec §13 step 5 only.