Skip to content

fix(install): disambiguate tilth cargo install package name - #71

Merged
newblacc merged 1 commit into
mainfrom
fix/tilth-cargo-install-ambiguous-binary
Jul 22, 2026
Merged

fix(install): disambiguate tilth cargo install package name#71
newblacc merged 1 commit into
mainfrom
fix/tilth-cargo-install-ambiguous-binary

Conversation

@newblacc

Copy link
Copy Markdown
Contributor

Summary

  • Running the real network installer to pick up the merged bulletproof-remediation fixes surfaced a live install failure: cargo install --git <tilth-repo> --rev <sha> --force aborts with "multiple packages with binaries found: tilth, tilth-fuzz".
  • Upstream artificemachine/tilth now carries a fuzz/ package alongside the tilth binary crate. cargo install --git searches the whole cloned repo for any Cargo.toml with a [[bin]], so an unqualified install is ambiguous. --path (the --local install mode) is unaffected since it targets one manifest directly.
  • Both tilth network-install call sites (pinned --rev branch and the unpinned upstream-HEAD fallback) now pass tilth explicitly as the package name, matching the pattern ICM's install already used (icm-cli).
  • Verified against the real upstream repo: cargo install --git https://github.com/artificemachine/tilth --rev <pinned sha> tilth --force succeeds.

Test plan

  • New regression test: install: tilth cargo install disambiguates the package name (repo also has a fuzz crate) asserts the dry-run cargo command carries the explicit tilth package arg
  • 278 bats / 72 pytest, 0 fail (local macOS)
  • Manually reproduced the original failure and confirmed the fixed command installs successfully against the real upstream repo

🤖 Generated with Claude Code

Running the real (network) installer to pick up the prior fixes
surfaced a live failure: `cargo install --git <tilth-repo> --rev <sha>
--force` aborted with "multiple packages with binaries found: tilth,
tilth-fuzz". The upstream tilth repo now carries a fuzz/ package
alongside the tilth binary crate, and `cargo install --git` searches
the whole cloned repo for any Cargo.toml with a [[bin]] — unlike
--path, which targets one manifest and was unaffected (--local install
is fine). RTK's equivalent invocation is unaffected (no second binary
package in its repo); ICM's already passed an explicit icm-cli package
name.

Both tilth call sites (pinned --rev branch and the unpinned
upstream-HEAD fallback) now pass `tilth` explicitly, matching ICM's
pattern. Verified against the real upstream repo.

278 bats / 72 pytest, 0 fail. Version 1.15.20 to 1.15.21.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@newblacc
newblacc merged commit e680351 into main Jul 22, 2026
3 checks passed
@newblacc
newblacc deleted the fix/tilth-cargo-install-ambiguous-binary branch July 22, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant