soulsync/core/video/enrichment
BoulderBadgeDad a68d9755a9 video discover: lazy collection-id backfill so 'complete your collections' lights up
Already-matched movies predate the tmdb_collection_id column, so the collection gap rails
were empty (only newly-enriched movies got the id). Add a self-healing backfill: each
/discover/gaps load fills the franchise id for up to 20 owned movies missing it
(eng.movie_collection reuses the matcher's belongs_to_collection read), recording 0 for
movies with no franchise so they're not re-checked. The 'no-franchise' 0 is excluded from
the rails. Backfill is wrapped/isolated so it can never break the gap response. Over a few
Discover visits the whole library fills in and 'Complete the <franchise>' rails populate.
2026-06-22 23:48:45 -07:00
..
__init__.py video enrichment 1b: worker engine + TMDB/TVDB clients 2026-06-14 11:21:30 -07:00
backfill.py video backfill: log the title (was 'None') — read item['title'] not ['name'] 2026-06-19 15:12:02 -07:00
cache.py video: real TTL+LRU cache (thread-safe) + cache search — the kettui way 2026-06-15 13:02:24 -07:00
clients.py video discover phase 0: persist TMDB collection (franchise) id per movie 2026-06-22 23:24:42 -07:00
engine.py video discover: lazy collection-id backfill so 'complete your collections' lights up 2026-06-22 23:48:45 -07:00
worker.py video enrichment: detail backfill is TMDB-only (fix TVDB 404 spam + double-processing) 2026-06-20 12:38:03 -07:00