4904ba31c9
Client makes no stale-serving assumptions: every Online-Board and Schedule search triggers a fresh upstream fetch; dictionaries are loaded once per session. Cache-Control TTLs (≤1 min board, ≤10 min schedule) and ETag/304 for dictionary endpoints are set by the backend HTTP layer. CachedApiClient / ServerLruCache infrastructure exists in src/shared/api/ for future SSR caching if needed. All three 4.1.18 rules marked Out-of-scope (backend) in the spec; coverage counters updated (13 → 16 out-of-scope, TBD −3).