- Full WebSocket server (RFC 6455) with frame encode/decode
- HTTP upgrade handshake with SHA1 accept key
- SUBSCRIBE/UNSUBSCRIBE table messages
- Per-client subscription tracking via HashSet
- Broadcast to subscribers on data changes
- Ping/pong keepalive
- CORS header on upgrade response
- All 216 tests pass