0.9.28: deploy the Phase-1b migration (shared DidPeerRouter) + did-peer 0.2.3
The RUNNING bridge is still pre-Phase-1b: its installed tree imports the retired
PeerRouter/PeerFront and contains no atproto-did-peer at all, and it has been up
since Jul 21 — before the migration was written. So commits c96e0ce (repoint the
membrane onto the shared DidPeerRouter) and 8fa871a (retire peer-router.js /
peer-front.js / did-peer.js) have never actually shipped.
This bump releases them, and picks up atproto-did-peer 0.2.3, whose optional
repoKey + verified get-repo-car fallback is what lets the membrane front a
STATELESS peer (hpp serve-membrane projectRepoCore:false).
Deployed via CI (git push pear main), NOT a hand `pgh publish`: atproto-did-peer
is declared in pds/package.json and is absent from the ROOT node_modules, so a
publish from the dev tree would walk the root package.json and ship a closure
missing it — the declare-your-deps crash class. The ci.yaml `cp -rL` vendor loop
is what puts all four siblings into the published closure.
Gate: pds suite 43/43, 174/174 against did-peer 0.2.3 — including
announce-discovery, peer-router/peer-front front selection, membrane +
membrane-only, and peer-restart-durability.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
37dc177a882e8c3b24a07ab07e06a3d111aacf6f
by plankatron <fleeky@gmail.com> · 2026-07-26T23:20:57.000Z