6ef08edd99
Audit #5 user-visible parity. Storage card in SettingsScreen exposes the four CacheSettings prefs (liked/rolling cap dropdowns, prefetch window dropdown, cache-liked switch), live cache usage display, and two action buttons: - Sync now → SyncController.syncSafe() - Clear cache → SimpleCache.removeResource for every cached key (safe mid-flight; releasing the cache would crash live playback). Confirmation dialog before delete. Cap settings persist via AuthStore.setCacheSettings (from the prior commit). The card surfaces the "limits take effect on next app launch" caveat — SimpleCache is constructed once per process. Prefetch window + cache-liked-tracks toggle persist but have no effect yet — the prefetcher + pin-on-like flows are separate audit follow-ups. Per-bucket usage (Flutter shows Liked vs Rolling sizes separately) is collapsed to a single "Used" stat on Android v1 since SimpleCache doesn't expose per-bucket totals without custom indexing — separate follow-up if user wants the breakdown. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>