chore: add crates.io metadata to imt-tree, fix ypir/spiral-rs package renames#19
Merged
Conversation
Add description, license (MIT OR Apache-2.0), and repository fields required for crates.io publication.
2 tasks
5e769be to
0a058dc
Compare
5 tasks
The valargroup forks renamed their packages (ypir -> valar-ypir, spiral-rs -> valar-spiral-rs). Add `package` keys so cargo finds the renamed packages while code continues using the original import names. Keeps using the audited valargroup forks, not upstream.
0a058dc to
2fe0623
Compare
Now that imt-tree v0.1.0 is on crates.io, workspace members depend on the published version instead of path deps. A workspace-level [patch.crates-io] redirects to the local source for development. When downstream consumers (librustvoting) pull pir-client as a git dep, cargo sees `imt-tree = "0.1"` and resolves from crates.io — no more duplicate imt-tree from mismatched git vs crates.io sources.
Lockfile now reflects: - imt-tree resolved via [patch.crates-io] to local path - valar-ypir from valargroup/ypir (was ypir) - valar-spiral-rs from crates.io (was spiral-rs from git)
p0mvn
approved these changes
Apr 10, 2026
3 tasks
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.
Summary
description,license(MIT OR Apache-2.0), andrepositoryfields toimt-tree/Cargo.tomlfor crates.io publication. imt-tree v0.1.0 has been published: https://crates.io/crates/imt-treeimt-tree = { path = "..." }) to the published crates.io version (imt-tree = "0.1"). A workspace-level[patch.crates-io]redirects to the local source for development. This means downstream consumers (librustvoting) that pull pir-client as a git dep seeimt-tree = "0.1"and resolve from crates.io — no more duplicate imt-tree from mismatched sources.package = "valar-ypir"/package = "valar-spiral-rs"so cargo resolves the renamed packages in the audited valargroup forks while code keeps the original import namesContext
Sean's review (P6) identified that
imt-treewas unregistered on crates.io, creating a namesquatting/supply-chain risk. The mismatched git URL forms across consumers also caused a double-compile in the iOS SDK build. Publishing to crates.io and having all consumers use the published version eliminates both issues.The valargroup forks of ypir and spiral-rs renamed their packages (
ypir->valar-ypir,spiral-rs->valar-spiral-rs), which broke freshcargo update/cargo generate-lockfilefor any downstream consumer ofpir-client. Thepackagekey fix keeps using the audited forks.Test plan
cargo publish --dry-runpassescargo publishsucceededcargo test --workspacepasses in librustvoting (125 tests)grep -c '^name = "imt-tree"' Cargo.lockreturns1in librustvoting (no duplicate)