Epic: #113 · Milestone: MC8 — Library & services
Tasks
- Provider interface in Home (search, details, images) with rate limiting, ETag caching, retry/backoff; JSON parser (exists in
kernel/src/lib? verify; else portpackages/json). - Matching: title+year, series+season+episode, album by artist+title, fuzzy fallback with a manual "fix match" UI; local NFO takes precedence.
- Artwork: poster/backdrop/logo/album art download at bounded sizes, cache under
/var/cache/artwith LRU, decode via #78. - Privacy: opt-in, key entered in Settings (or a HomeOS proxy later), no telemetry.
- Offline behaviour: library fully usable without network; fetch queue drains when online.
Acceptance
Fixture library of 50 titles gets ≥ 90 % correct matches automatically on the rig over Ethernet; artwork cached and shown.