diff --git a/docs/superpowers/plans/2026-07-14-musicbrainz-cache.md b/docs/superpowers/plans/2026-07-14-musicbrainz-cache.md index aa5d613..6fb129b 100644 --- a/docs/superpowers/plans/2026-07-14-musicbrainz-cache.md +++ b/docs/superpowers/plans/2026-07-14-musicbrainz-cache.md @@ -151,6 +151,12 @@ unthrottled). prefer real on-disk tracks; this MB cache covers the non-owned / fallback tracklist path. ## Notes / deferred +- **Name the table/helper generically** — the Last.fm browse page (`/lastfm`) has the same + problem (live external calls per load) and should ride the same read-through. Consider + `ApiCache(key, json, fetchedAt)` + `cached(...)` rather than MB-specific names, so Last.fm + keys (`lfm-top-artists:{user}:{period}:{page}`, etc.) share the table. See the Last.fm + caching todo. Only difference: Last.fm gets a manual **Refresh** button that busts its keys, + and own-state annotation stays live (cache only the raw Last.fm payload). - Redis deferred (see header). Reconsider only on measured PG-cache contention or a need for pub/sub / multi-instance. - `null`/negative caching gated on the Last.fm title-normalization todo landing first.