soulsync/core/repair_jobs
Broque Thomas 59587162cd Add metadata cache maintenance and health monitoring
Cache maintenance:
- Input validation rejects junk entities (Unknown Artist, empty names)
  from being cached, with exemptions for synthetic entries (_features,
  _tracks suffixes)
- CacheEvictorJob expanded to 4 phases: TTL eviction, junk cleanup,
  orphaned search cleanup, MusicBrainz failed lookup cleanup
- MusicBrainz null results now expire after 30 days (was 90) so failed
  lookups get retried sooner

Cache health UI:
- Polished modal accessible from Dashboard "Cache Health" button and
  repair dashboard health bar
- Shows health status banner (healthy/fair/poor), stat cards, source
  breakdown with colored progress bars, type pills, and metrics table
- Repair dashboard shows compact bar with health dot indicator
2026-03-30 07:40:20 -07:00
..
__init__.py Add Album Tag Consistency repair job: detect and fix inconsistent tags across album tracks 2026-03-23 10:44:36 -07:00
acoustid_scanner.py Enrich repair findings with album art, artist images & live job progress 2026-03-15 14:08:26 -07:00
album_completeness.py Add min completion percentage filter to Album Completeness job 2026-03-20 08:19:56 -07:00
album_tag_consistency.py Fix Album Tag Consistency job: add missing _get_settings method 2026-03-24 06:38:05 -07:00
base.py Add Spotify rate limit guards to all repair jobs 2026-03-15 16:01:48 -07:00
cache_evictor.py Add metadata cache maintenance and health monitoring 2026-03-30 07:40:20 -07:00
dead_file_cleaner.py Fix dead file cleaner false positives from transfer path resolution failure 2026-03-17 09:51:31 -07:00
duplicate_detector.py Fix bulk Fix All ignoring Single/Album Dedup findings and expand version keywords 2026-03-19 08:53:14 -07:00
fake_lossless_detector.py Enrich repair findings with album art, artist images & live job progress 2026-03-15 14:08:26 -07:00
library_reorganize.py Fix enhanced view reorganize not moving sidecars, add template debug logging 2026-03-24 07:12:35 -07:00
lossy_converter.py Add independent Blasphemy Mode setting for lossy converter job 2026-03-22 08:08:47 -07:00
mbid_mismatch_detector.py Fix MusicBrainz recording matches with wrong titles & add MBID mismatch repair job 2026-03-16 07:52:00 -07:00
metadata_gap_filler.py Add Spotify rate limit guards to all repair jobs 2026-03-15 16:01:48 -07:00
missing_cover_art.py Fix enrichment retry loops, cover art finding dupes, and Spotify rate limit during art scan 2026-03-22 23:24:42 -07:00
orphan_file_detector.py Fix orphan detector false positives and add staging/delete choice 2026-03-21 11:27:51 -07:00
single_album_dedup.py Fix bulk Fix All ignoring Single/Album Dedup findings and expand version keywords 2026-03-19 08:53:14 -07:00
track_number_repair.py Fix Track Number Repair findings returning 400 on fix 2026-03-19 19:21:24 -07:00