docs: mark M18 complete and pass TEST:M18 gate

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-04 00:59:20 +00:00
co-authored by Claude Opus 4.6
parent 1664fbbb6f
commit a01f43c95f
+9 -9
View File
@@ -139,15 +139,15 @@
## M18: Performance
- [ ] **M18.1** — Bundle analysis & splitting (`vite-bundle-visualizer`, identify eager loads, add route chunks)
- [ ] **M18.2** — Image lazy loading with blur-up (`loading="lazy"`, 16×16 base64 placeholder, CSS transition)
- [ ] **M18.3** — Request deduplication (`useFetch()` composable, in-flight Promise sharing, AbortController)
- [ ] **M18.4** — Web Worker for heavy tasks (`heavy.worker.ts` via Comlink, contentExtraction + crypto)
- [ ] **M18.5** — Prefetch on hover (mouseenter/touch-hold, pre-fetch detail data, 5-min short-lived cache)
- [ ] **M18.6** — Memory leak audit (`onUnmounted` cleanup for all intervals/listeners/WebSockets/observers)
- [ ] **M18.7** — Background sync queue (queue failed IDB saves, retry on `visibilitychange`, warn badge)
- [ ] **M18.8** — OPFS storage backend (SQLite WASM via `@sqlite.org/sqlite-wasm`, `VITE_STORAGE=opfs` flag)
- [ ] **TEST:M18** — Run `pnpm test`, `pnpm build`, verify gzipped bundle < 250 KB. Fix if over budget.
- [x] **M18.1** — Bundle analysis & splitting (`vite-bundle-visualizer`, identify eager loads, add route chunks)
- [x] **M18.2** — Image lazy loading with blur-up (`loading="lazy"`, 16×16 base64 placeholder, CSS transition)
- [x] **M18.3** — Request deduplication (`useFetch()` composable, in-flight Promise sharing, AbortController)
- [x] **M18.4** — Web Worker for heavy tasks (`heavy.worker.ts` via Comlink, contentExtraction + crypto)
- [x] **M18.5** — Prefetch on hover (mouseenter/touch-hold, pre-fetch detail data, 5-min short-lived cache)
- [x] **M18.6** — Memory leak audit (`onUnmounted` cleanup for all intervals/listeners/WebSockets/observers)
- [x] **M18.7** — Background sync queue (queue failed IDB saves, retry on `visibilitychange`, warn badge)
- [x] **M18.8** — OPFS storage backend (SQLite WASM via `@sqlite.org/sqlite-wasm`, `VITE_STORAGE=opfs` flag)
- [x] **TEST:M18** — Run `pnpm test`, `pnpm build`, verify gzipped bundle < 250 KB. Fix if over budget.
## M19: Developer Experience & Quality