Two issues fixed:
1. Download Missing modal fallback path hardcoded release_date: '' and
discarded album metadata that discovery had already found on track_info.
Now extracts release_date, image_url, album_type, and total_tracks from
the enriched track data, fixing empty $year for all non-album-page
downloads (playlist syncs, wishlist, Tidal/streaming sources).
2. _sanitize_context_values turned empty strings into '_' via
_sanitize_filename, so template cleanup regex couldn't match empty
brackets like (). Now skips sanitization for empty strings so the
existing () [] {} cleanup works correctly.
print(f"🎵 [Explicit Context] Using real album data: '{spotify_album_context['name']}' ({spotify_album_context['album_type']}, {spotify_album_context['total_discs']} disc(s))")
else:
# Fallback to generic context for playlists/wishlists
# Extract album metadata from track_info if available (discovery enriches tracks with full album objects)