v0.9.0-rc.22
ADR-062 Phase 2 follow-up — adds two re-exports rc.21's Phase 2 surface accidentally missed: peat_mesh::network::Connection (= iroh::endpoint::Connection) consumed by peat-protocol's formation-handshake, and peat_mesh::network::DiscoveryEvent (= iroh_mdns_address_lookup::DiscoveryEvent) consumed by peat-protocol's mDNS event handler. Unblocks the peat consumer-side PR (peat#926) to simultaneously satisfy the SKILL.md transport-agnosticism gate AND drop iroh + iroh-mdns-address-lookup from peat-protocol's direct deps.
No transport semantics or wire-shape change. Pure additive re-export.
Added — ADR-062 Phase 2 follow-up re-exports (defenseunicorns/peat#926)
peat_mesh::network::Connection— re-export ofiroh::endpoint::Connection. Consumed bypeat-protocol/src/network/formation_handshake.rs, whose protocol-level handshake (Ed25519 challenge, formation-key verification) runs against the rawiroh::Connectionreturned byIrohTransport::connect_*per ADR-062 §"What peat-protocol still owns". The original rc.21 surface only re-exportedEndpointId; this follow-up adds theConnectiontype the formation-handshake consumer requires.peat_mesh::network::DiscoveryEvent— re-export ofiroh_mdns_address_lookup::DiscoveryEvent. Consumed bypeat-protocol/src/sync/automerge.rs's mDNS event handler. Adding it lets the peat consumer-side PR dropiroh-mdns-address-lookupfrompeat-protocol's direct deps (ADR-062 acceptance gate #2).
These two re-exports were accidentally missed from rc.21's Phase 2 surface. Without them, the peat consumer-side PR (peat#926) can't simultaneously satisfy the SKILL.md transport-agnosticism gate (no use iroh:: lines outside the re-export shim) AND drop iroh + iroh-mdns-address-lookup from peat-protocol's direct deps. Either we keep them as direct deps (violates ADR-062) or we ship a follow-up surface release (this one).
No transport semantics or wire-shape change. Pure additive re-export.
A network::reexport_pin::_typecheck compile-only test pins the upstream paths, so a future iroh / iroh-mdns-address-lookup rename surfaces at peat-mesh's CI rather than at downstream peat-protocol's build.
Deferred (tracked separately)
- peat-mesh#167 — narrow the
Connectionre-export to a peat-mesh-owned trait surface. Re-exporting the fulliroh::endpoint::Connectionexposes every Connection method to downstream consumers; the transport-agnosticism gate is currently enforced only at the import path, not the API shape. Reviewer of #166 explicitly framed as out-of-scope for this follow-up; tracking the design conversation in #167.