2.4 KiB
2.4 KiB
Tasks — network-transport-peerjs
Phase 0: Decide split vs. fold
- 0.1 Read
network-discovery-peerjssource after its Wave-2 migration ships. Decide Option A (split) or Option B (fold) per the parent proposal §"Split vs. fold". - 0.2 Record decision in this tasks.md (replace this section with the chosen path).
Phase 1: Scaffold
- 1.1 Create
packages/network/network-transport-peerjs/(Option A) OR add./transportsubpath tonetwork-discovery-peerjs(Option B). - 1.2
package.jsonat0.1.0,"sideEffects": false. - 1.3 Test config via
createTestConfig();tests/dep-graph.test.ts.
Phase 2: Transport impl
- 2.1 Extract / author per-peer connection wrapper.
- 2.2 Author
Transportadapter (connect/disconnect/send/onMessage/getConnectedPeers/close). - 2.3 Author
NetworkPluginwrapper mirroringWebRTCPlugin. - 2.4 Sibling
.mdper impl file. - 2.5 Conformance tests for
Transport+NetworkPlugincontracts.
Phase 3: Types + errors
- 3.1 Public transport types into
src/types/+ sibling.md. - 3.2
defineCodesregistry with transport-specific failure codes. - 3.3 Zod schemas for every public option struct.
Phase 4: Observability
- 4.1 Spans for connect/disconnect/send.
- 4.2 Counters
<transport>.peers_connected{outcome},<transport>.messages_total{direction,outcome}. - 4.3 Gauge
<transport>.active_peers.
Phase 5: Integration
- 5.1 Register with
network-plugin-transport-managertest harness. - 5.2 Verify multi-transport scenario: register WebRTC + this transport, observe priority routing.
Phase 6: Tests + docs
- 6.1 Unit tests via
@suaveplan/testing/runner. - 6.2 fast-check property tests where applicable.
- 6.3 100/100/100/100 coverage gate.
- 6.4 Root
README.mddocumenting Option A vs. B choice + usage.
Phase 7: Verification
- 7.1
bunx turbo lint typecheck test --filter=@suaveplan/network-transport-peerjsgreen. - 7.2
bunx turbo test:coverage --filter=@suaveplan/network-transport-peerjs100/100/100/100. - 7.3
bun run docs:checkgreen. - 7.4
MANIFEST.mdregen. - 7.5
STATUS.mdrow flipped.
Pre-archive checklist
- Row 1 — Phase 7 green.
- Row 2 — Option A/B decision recorded.
- Row 3 — Manager integration test passes.
- Row 4 — Folder archived.