.deps retired: siblings as pinned git dependencies, iroh-relay as a pinned binary - #84
Merged
Conversation
…inned binary The sibling Rust crates move from path deps into checkouts under .deps to cargo git dependencies pinned by rev in [workspace.dependencies] — the consumption form the siblings' v0.1.0 releases name — at the same commits setup.sh pinned, so Cargo.lock carries the pins and staleness is impossible rather than guarded (the trap issue #64 documents). tools/iroh-peer takes upstream iroh from the registry (=1.0.3), and the relay server the gates pair it with arrives as the upstream prebuilt binary via cargo-binstall, version-checked in setup.sh; the two co-pins are named at both sites. setup.sh keeps only the pinned toolchain/tools plus that binary; the relay-build recipe, the .deps/iroh cache plumbing in CI, and jsr-publish's setup step all go. Relay consumers resolve iroh-relay from PATH. The experiments' deltic module imports still name .deps sources; their JSR migration is deferred to issue #83 while the @PolyMorph packages are being reved. Fixes #64
lann
enabled auto-merge
August 22, 2026 03:38
lannbot
pushed a commit
that referenced
this pull request
Aug 22, 2026
Reconciles the polyengine-0.3.0 rename with #84's mechanism change: their relay-binary/Cargo-git-dep mechanics win over the retired setup.sh sibling clones (our pin bumps there drop out); our renames win on names and paths. The Cargo sibling git deps bump to the merged polyengine-0.3.0 mains (tls ab4f8836, webcrypto 422796bd, webrtc 42f76c98, websocket 563aa33f) and Cargo.lock follows. Gates on the merged tree: full just ci — exam-polyengine 7/7 (one runtime 0.3.0, no raw URLs), matrix 13/13, bench budgets hold.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With the siblings publishing releases, the
.deps/pinned-checkout mechanism is retired. "Published" changes the form of the pins, not their existence — the sibling Rust crates are not on crates.io; their release notes name pinned cargo git dependencies as the consumption form — so the pins move fromscripts/setup.shintoCargo.toml/Cargo.lock, at the exact revs setup.sh pinned (no version motion).[workspace.dependencies]git deps by rev (polymorph-tls-{profile,quic},polymorph-webcrypto-{guest,wasmtime},wasmtime-webrtc-datachannels,wasmtime-websocket), defined once, members consume viaworkspace = true. Cargo.lock confirms: identical versions, only source/checksum lines added, no duplicate sibling crates.tools/iroh-peertakesiroh = "=1.0.3"from the registry; the relay server becomes the upstream prebuiltiroh-relay1.0.3 binary, installed version-checked by setup.sh via cargo-binstall. The crate/binary co-pin is named at both definition sites; the matrix is the behavioral gate on their agreement.relay-buildand CI's.deps/irohcache plumbing (workspace entry, key inputs, build-dir paths,restore-mtimes .deps/*) are deleted; jsr-publish drops its setup step entirely (cargo fetches git deps itself).matrix.sh,bench.sh,host-deltic/src/repo.ts, the experiments' runners) resolveiroh-relayfrom PATH.Closes #64 by removal: with no checkouts, the stale-
.depsfailure mode the guard was requested for cannot occur. Cargo git deps are fingerprinted by rev, not mtime, so the sibling-side mtime dance disappears with it.Deliberately out of scope: the experiments' deltic module imports still name
.depssources — their JSR migration is deferred to #83 while the@polymorphpackages are being reved. Those experiments are manual probes, not in CI.Gates (all green locally):
setup.shtwice (idempotent, creates no.deps),just check,just build,just matrix(13/13 pairings),just exam-deltic(7/7 scenarios),just bench(budgets held). First CI run on main will be cold — the cache-key shapes changed.Fixes #64