Files
suaveplan/openspec/archive/2026-05-24-game-server-network/tasks.md
2026-05-27 23:29:53 +01:00

2.2 KiB

Tasks — game-server-network (Wave B-4)

0. Pre-flight (non-negotiable)

  • 0.1 Confirm isolated worktree (pwd shows .claude/worktrees/agent-ab405575252114357).
  • 0.2 git worktree list accounted for; all sibling B-wave agents operate in their own locked worktrees.
  • 0.3 Read reference branch source at /mnt/s/web/suaveplan/packages/universal/game-server/src/network/.

1. Spec authoring

  • 1.1 Read openspec/AGENTS.md and CLAUDE.md.
  • 1.2 Draft proposal.md with Source mapping table.
  • 1.3 Draft specs/game-server/spec.md with ADDED requirements and **Verified by:** lines naming planned tests.

2. Implementation

  • 2.1 Extend errors/game-server-error.ts with six new codes and update the registry test.
  • 2.2 src/network/network-adapter/{types,impl,index,md,test}.
  • 2.3 src/network/reconnection-manager/{types,impl,index,md,test}.
  • 2.4 src/network/websocket-transport/{types,impl,index,md,test}.
  • 2.5 src/network/webrtc-transport/{types,impl,index,md,test}.
  • 2.6 Subpath exports in package.json and workspace dependencies.
  • 2.7 Root src/index.ts re-exports the network surface.

3. Tests

  • 3.1 network-adapter.test.ts — 20 cases covering init, send, receive, fan-out, handler isolation, stats, errors, dispose.
  • 3.2 reconnection-manager.test.ts — 18 cases covering success, retry, exhaustion, lifecycle events, config update, stop in flight.
  • 3.3 websocket-transport.test.ts — 11 cases covering connect, send, parse, callbacks.
  • 3.4 webrtc-transport.test.ts — 14 cases covering connect, send, parse, signalling helpers.

4. Verification

  • 4.1 bunx turbo lint typecheck test --filter=@suaveplan/game-server green.
  • 4.2 bunx turbo test:coverage --filter=@suaveplan/game-server meets 100/100/100/100 on touched modules.
  • 4.3 No vitest|bun:test direct imports in src/.
  • 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/<yyyy-mm-dd>-game-server-network/ on merge.