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,47 @@
---
id: deferred-iroh-adapters
name: Iroh spoke and hub adapters (deferred)
status: pending
depends_on: [review-worker-adapter]
scope: system
risk: critical
impact: project
level: implementation
---
## Description
The Iroh adapters (spoke and hub) are explicitly deferred pending the fork of `@rayhanadev/iroh` as `@alkdev/iroh` with Linux + WASM platform targets. The current `@rayhanadev/iroh` has one author and no tests, making it unsuitable for production use.
This task is a placeholder to track the dependency. It cannot proceed until:
1. The iroh-ts fork exists as `@alkdev/iroh` with Linux native + WASM builds
2. The API surface (10 methods documented in `iroh-transport.md`) is validated against the fork
3. The fork has basic test coverage
The architecture docs specify:
- **Iroh Spoke**: `createIrohSpokeEventTarget({ endpoint, hubNodeId, alpn? })` — connects to hub, opens bidirectional QUIC stream, implements subscription forwarding
- **Iroh Hub**: `createIrohHubEventTarget({ endpoint, alpn? })` — accepts connections, manages fan-out with subscription tracking
- Both use length-prefixed JSON framing (4-byte big-endian length prefix)
- Both use `__subscribe`/`__unsubscribe` control protocol
Do NOT start implementation until the fork is ready.
## Acceptance Criteria
- [ ] `@alkdev/iroh` package is available with Linux + WASM builds
- [ ] Basic iroh API validation (connect, openBi, acceptBi, sendStream, recvStream)
- [ ] This task should be split into separate tasks for spoke and hub once the fork is ready
## References
- docs/architecture/iroh-transport.md
- docs/architecture/event-targets/iroh-spoke.md
- docs/architecture/event-targets/iroh-hub.md
## Notes
> Blocked on @alkdev/iroh fork. Do not start until fork is ready.
## Summary
> To be filled on completion