Files
2026-05-27 23:29:53 +01:00

2.4 KiB

Tasks — network-transport-gundb

Phase 0: Decide split vs. fold

  • 0.1 Read network-discovery-gundb source 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-gundb/ (Option A) OR add ./transport subpath to network-discovery-gundb (Option B).
  • 1.2 package.json at 0.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 Transport adapter (connect/disconnect/send/onMessage/getConnectedPeers/close).
  • 2.3 Author NetworkPlugin wrapper mirroring WebRTCPlugin.
  • 2.4 Sibling .md per impl file.
  • 2.5 Conformance tests for Transport + NetworkPlugin contracts.

Phase 3: Types + errors

  • 3.1 Public transport types into src/types/ + sibling .md.
  • 3.2 defineCodes registry 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-manager test 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.md documenting Option A vs. B choice + usage.

Phase 7: Verification

  • 7.1 bunx turbo lint typecheck test --filter=@suaveplan/network-transport-gundb green.
  • 7.2 bunx turbo test:coverage --filter=@suaveplan/network-transport-gundb 100/100/100/100.
  • 7.3 bun run docs:check green.
  • 7.4 MANIFEST.md regen.
  • 7.5 STATUS.md row 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.