Decompose architecture into atomic, dependency-ordered tasks

19 tasks covering core testing, Redis hardening, WebSocket client/server
adapters, Worker adapter, and final review gates. Iroh adapters are tracked
as a deferred placeholder blocked on the @alkdev/iroh fork.

Phases: core validation → Redis hardening → review gate → WebSocket
adapters → review gate → Worker adapter → review gate → final validation.
This commit is contained in:
2026-05-08 05:50:43 +00:00
parent be7fe67145
commit 1306716897
19 changed files with 931 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
---
id: review-websocket-adapters
name: Review WebSocket client and server adapters
status: pending
depends_on: [websocket-client-tests, websocket-server-tests]
scope: narrow
risk: low
impact: phase
level: review
---
## Description
Review checkpoint after implementing both WebSocket adapters. These are the first fan-out adapter (server) and the first subscription-control adapter (client), so they establish patterns that the Worker and Iroh adapters will follow.
Verify:
- Subscription control protocol (`__subscribe`/`__unsubscribe`) is correctly implemented in both client and server
- Topic-based fan-out works end-to-end: client subscribes → server tracks → server fans out
- Backpressure protection works correctly
- Error handling matches the architecture spec
- Build, type-check, and test suite all pass
## Acceptance Criteria
- [ ] `npm run build` passes cleanly
- [ ] `npm run lint` passes
- [ ] `npm test` passes with all core + Redis + WebSocket tests
- [ ] WebSocket client subscription forwarding matches ADR-003
- [ ] WebSocket server fan-out and subscription tracking matches architecture spec
- [ ] No unnecessary comments in source (project convention)
- [ ] License headers present where needed
## References
- docs/architecture/event-targets/websocket-client.md
- docs/architecture/event-targets/websocket-server.md
- docs/architecture/decisions/003-subscription-control-protocol.md
## Notes
> To be filled by implementation agent
## Summary
> To be filled on completion