# Decision: FOLD into `network-discovery-peerjs` (not split) - **Date**: 2026-05-12 - **Decided by**: autonomous Wave 3.2 implementation - **Parent**: `network-transport-family` proposal, §"Split vs. fold" for discovery-bundled transports ## Outcome `@suaveplan/network-transport-peerjs` is NOT shipped as a separate package. Its functionality lives at `@suaveplan/network-discovery-peerjs/transport` (subpath export of the existing discovery package). ## Rationale 1. Upstream code bundles transport + discovery as one integrated unit; the existing `PeerConnectionManager` + `PeerJSConnection` modules ARE the transport machinery. 2. Splitting would require extracting a working integrated unit and re-testing — much higher risk for no functional gain. 3. Fold preserves upstream parity and ships an actual usable transport in ~3× less effort. 4. The two surfaces share a single PeerJS unit cleanly via a discriminated wire frame (`{kind: "suaveplan.transport.v1", envelope}`) that discovery's Zod schema explicitly rejects. ## What to import - Discovery: `import { PeerJSDiscovery } from "@suaveplan/network-discovery-peerjs"` - Transport: `import { PeerJSTransport, PeerJSPlugin } from "@suaveplan/network-discovery-peerjs/transport"` (or `/plugin`)