69804a9eb2e61675f6917ac6d22b0d897c26b07f
Playlist M3U regen now writes to a temp file and renames it into place, so a stray wrong-owner leftover file (root:root, from pre-migration host-cron runs) can't block nightly writes the way it did last night. Dashboard now lists tracks added to the beets library in the last 24h with playlist and format, sourced from a new beets_service.recently_added().
Description
The control plane for the music pipeline (playlists, credentials, per-track download status, manual tag fixes/imports, dedup/genre review, scheduling)