# Tasks — game-server-network (Wave B-4) ## 0. Pre-flight (non-negotiable) - [x] 0.1 Confirm isolated worktree (`pwd` shows `.claude/worktrees/agent-ab405575252114357`). - [x] 0.2 `git worktree list` accounted for; all sibling B-wave agents operate in their own locked worktrees. - [x] 0.3 Read reference branch source at `/mnt/s/web/suaveplan/packages/universal/game-server/src/network/`. ## 1. Spec authoring - [x] 1.1 Read `openspec/AGENTS.md` and `CLAUDE.md`. - [x] 1.2 Draft `proposal.md` with Source mapping table. - [x] 1.3 Draft `specs/game-server/spec.md` with ADDED requirements and `**Verified by:**` lines naming planned tests. ## 2. Implementation - [x] 2.1 Extend `errors/game-server-error.ts` with six new codes and update the registry test. - [x] 2.2 `src/network/network-adapter/{types,impl,index,md,test}`. - [x] 2.3 `src/network/reconnection-manager/{types,impl,index,md,test}`. - [x] 2.4 `src/network/websocket-transport/{types,impl,index,md,test}`. - [x] 2.5 `src/network/webrtc-transport/{types,impl,index,md,test}`. - [x] 2.6 Subpath exports in `package.json` and workspace dependencies. - [x] 2.7 Root `src/index.ts` re-exports the network surface. ## 3. Tests - [x] 3.1 `network-adapter.test.ts` — 20 cases covering init, send, receive, fan-out, handler isolation, stats, errors, dispose. - [x] 3.2 `reconnection-manager.test.ts` — 18 cases covering success, retry, exhaustion, lifecycle events, config update, stop in flight. - [x] 3.3 `websocket-transport.test.ts` — 11 cases covering connect, send, parse, callbacks. - [x] 3.4 `webrtc-transport.test.ts` — 14 cases covering connect, send, parse, signalling helpers. ## 4. Verification - [x] 4.1 `bunx turbo lint typecheck test --filter=@suaveplan/game-server` green. - [x] 4.2 `bunx turbo test:coverage --filter=@suaveplan/game-server` meets 100/100/100/100 on touched modules. - [x] 4.3 No `vitest|bun:test` direct imports in `src/`. - [x] 4.4 No `biome-ignore` / `TODO` / `FIXME` markers in `src/`. ## 5. Fold + archive - [ ] 5.1 Fold the delta into `openspec/specs/game-server/spec.md` on merge. - [ ] 5.2 Move the change folder to `openspec/archive/-game-server-network/` on merge.