Files
suaveplan/openspec/archive/2026-05-25-enterprise-pwa/tasks.md
2026-05-27 23:29:53 +01:00

47 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tasks: enterprise-pwa
## Scaffolding
- [ ] Add `pwa` to `data:` plugin in `scripts/folder-reorg/assignment.yml`.
- [ ] Create `packages/foundation/data/pwa/` skeleton (`package.json`, `README.md`,
`tsconfig.lib.json`, `vite.config.ts`, `vitest.config.ts`).
- [ ] Wire workspace + catalog deps: `@suaveplan/error`, `@suaveplan/opentelemetry`,
`@suaveplan/types`, `tslib`, `@opentelemetry/api`, `zod`.
## Implementation
- [ ] `errors/errors.ts` — `PWA_CODES`, `PwaError`, metadata table.
- [ ] `schemas/schemas.ts` — Zod schemas for sync-queue entry + Web App Manifest.
- [ ] `observability/observability.ts` + types.
- [ ] `service-worker/service-worker.ts` — `ServiceWorkerManager` with injectable container.
- [ ] `update-controller/update-controller.ts` — cross-tab reload via BroadcastChannel.
- [ ] `sync-queue/memory-store.ts` + `local-storage-store.ts` + `indexeddb-store.ts`.
- [ ] `sync-queue/version-migration.ts` — forward migrator registry.
- [ ] `sync-queue/sync-queue.ts` — pluggable queue.
- [ ] `sync-queue/background-sync.ts` — `SyncManager` bridge + visibility fallback.
- [ ] `push-notifications/vapid.ts` — URL-safe base64 decoder.
- [ ] `push-notifications/push-notifications.ts` — `PushNotificationManager`.
- [ ] `install-prompt/install-prompt.ts` — `InstallPromptManager`.
- [ ] `caching-strategies/caching-strategies.ts` — 5 strategies.
- [ ] `caching-strategies/router.ts` — `Router.registerRoute()` + `handle()`.
- [ ] `manifest/manifest.ts` — `ManifestBuilder`.
- [ ] `index.ts` — explicit named re-exports (rule 10).
## Documentation
- [ ] Sibling `.md` next to every `.ts` per CLAUDE rule (≥200 words, 6 sections).
- [ ] Root `README.md` with quick-start + module links.
## Gates
- [ ] `bunx turbo lint typecheck test build --filter=@suaveplan/pwa` green.
- [ ] `bunx turbo test:coverage --filter=@suaveplan/pwa` ≥ 100/100/100/100.
- [ ] `bun scripts/folder-reorg/generate-manifest.ts` (refresh MANIFEST).
## Finalisation
- [ ] Fold `specs/pwa/spec.md` into `openspec/specs/pwa/spec.md`.
- [ ] Move change to `openspec/archive/2026-05-25-enterprise-pwa/`.
- [ ] Flip `STATUS.md` row from `–` to `✅` and bump counts.
- [ ] Commit on `feat/migrate-pwa` with Conventional Commit + Claude co-author footer (do not push).