soulsync/core/video/enrichment
BoulderBadgeDad 877a86c9b0 Video Discover: split Top 10 today into Movies + TV Shows (Netflix-style)
The mixed /trending/all chart is movie-heavy — TV was nearly absent (only
1 of the top 10 was a show). Split it like Netflix: 'Top 10 today' now holds
two ranked rails, Movies and TV Shows, from the dedicated /trending/movie/day
and /trending/tv/day charts (full 10 of each).

- client.trending(window, kind): single-type charts force the kind into
  _disc_map (those endpoints omit media_type).
- engine.trending(window, kind): kind in the cache key.
- /discover/list: key=trending_movies_today / trending_tv_today, both treated
  as single un-paged charts; inherit the same hide-owned + ranked rendering.
- frontend: one 'Top 10 today' group, two ranked shelves titled Movies / TV
  Shows (group header carries the 'Top 10' framing).
2026-06-24 08:00:13 -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: split Top 10 today into Movies + TV Shows (Netflix-style) 2026-06-24 08:00:13 -07:00
engine.py Video Discover: split Top 10 today into Movies + TV Shows (Netflix-style) 2026-06-24 08:00:13 -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