2.2 KiB
2.2 KiB
Tasks — enterprise-react-audio-stream-hooks-components (chunk C)
0. Pre-flight (non-negotiable)
- 0.1 Confirm clean working tree (
git statusreports nothing) and no in-flight worktrees with uncommitted work (git worktree listthengit statusin each) - 0.2 Account for every
.claude/worktrees/*entry; prune stale ones viabun scripts/worktree-prune.ts --remove. - 0.3 Confirm
MANIFEST.mdmatchesfind packages -maxdepth 3 -name package.json | wc -l.
1. Provider
- 1.1
src/provider/stream-provider.tsx— StrictMode-safe singleton, injectablesessionFactory - 1.2
src/provider/stream-context.ts,stream-provider.test.tsx,.md,index.ts
2. Hooks (6 dirs)
- 2.1
src/hooks/use-stream-session/ - 2.2
src/hooks/use-stream-room/ - 2.3
src/hooks/use-stream-peers/ - 2.4
src/hooks/use-stream-mixer/— DAW solo semantics - 2.5
src/hooks/use-stream-levels/ - 2.6
src/hooks/use-stream-recording/ - 2.7
src/hooks/use-stream-permissions/
3. Components (4 dirs)
- 3.1
src/components/stream-room/+.stories.tsx - 3.2
src/components/stream-mixer/+.stories.tsx - 3.3
src/components/stream-recorder/+.stories.tsx - 3.4
src/components/stream-permissions-banner/+.stories.tsx
4. Subpath exports
- 4.1
package.jsonexports:./provider,./hooks,./hooks/<name>× 6,./components,./components/<name>× 4
5. Tests + docs
- 5.1 Per-hook
.test.tsxagainst a fakeStreamSessioninjected via provider - 5.2 Per-component
.test.tsxcovering aria + pointer + keyboard - 5.3 Every
it(...)carries{ timeout: 5000 }(30000 async) - 5.4 Sibling
.mdper implementation (≥200 words) - 5.5 README:
## Hooks+## Componentssections enumerating every export
6. Pre-archive verification
- 6.1
bunx turbo lint typecheck test --filter=@suaveplan/react-audio-stream— green on chunk-C files - 6.2
bunx turbo test:coverage --filter=@suaveplan/react-audio-stream— 100/100/100/100 on touched modules
7. Hand-off (no archive yet)
- 7.1 Commit on
feat/react-audio-stream-hooks-components. No spec fold / no archive.