Skip to content

refactor(crates): rename published libraries to the scry-sai-* namespace#46

Merged
avrabe merged 2 commits into
mainfrom
feat-scry-sai-namespace
Jun 14, 2026
Merged

refactor(crates): rename published libraries to the scry-sai-* namespace#46
avrabe merged 2 commits into
mainfrom
feat-scry-sai-namespace

Conversation

@avrabe

@avrabe avrabe commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Adopt the scry-sai-* (Sound Abstract Interpretation) crates.io namespace for the published library set, using the witness DEC-034 trick: rename only the Cargo [package] name; keep the [lib] name and the on-disk directories so use scry_interval and the Bazel target paths are unchanged. Nothing is on crates.io yet, so this rename is free.

This is part 1 of 2 — the 5 pure libraries. The two Wasm-component crates additionally need a wit_bindgen::generate! binding refactor (it touches the //:scry composition) and come in a follow-up PR.

Renames (directory + [lib] name unchanged)

package (crates.io) dir lib name (use)
scry-sai-interval crates/scry-interval/ scry_interval
scry-sai-taint crates/scry-taint/ scry_taint
scry-sai-octagon crates/scry-octagon/ scry_octagon
scry-sai-provenance crates/scry-provenance/ scry_provenance
scry-sai-core crates/scry-analyze-core/ scry_analyze_core

Dependent dep keys updated to the new package names (in scry-analyze-core, wasm-lattice, scry-host-tests, scry-mcdc, scry-analyzer); code imports the unchanged lib names. scripts/publish.rs now uses (dir, package) pairs.

Why the trick (no source / Bazel churn)

  • use scry_interval etc. unchanged (lib name preserved).
  • Bazel rust_library name/crate_name and //crates/scry-interval:scry_interval target paths unchanged (Bazel doesn't use the Cargo package name for local targets).
  • Directories unchanged → no BUILD.bazel / MODULE.bazel path churn.

Verification

  • cargo build / cargo test green (5 analyzer + 24 octagon tests).
  • The 4 leaf crates cargo package under the new names.
  • scry-mcdc (separate workspace) builds against scry-sai-core.
  • bare cargo build --release, fmt, clippy, rivet validate clean.

🤖 Generated with Claude Code

avrabe and others added 2 commits June 14, 2026 21:30
Adopt the scry-sai-* (Sound Abstract Interpretation) crates.io namespace for
the published library set, using the witness DEC-034 trick: rename only the
Cargo `[package] name`; keep the `[lib] name` (scry_interval, …) and the
on-disk directories (crates/scry-interval/, …) so `use scry_interval` and the
Bazel target paths `//crates/scry-interval:scry_interval` are unchanged.

Package renames (dir / lib name unchanged):
  scry-interval     -> scry-sai-interval
  scry-taint        -> scry-sai-taint
  scry-octagon      -> scry-sai-octagon
  scry-provenance   -> scry-sai-provenance
  scry-analyze-core -> scry-sai-core

Dependent dep KEYS updated to the new package names (scry-analyze-core,
wasm-lattice, scry-host-tests, scry-mcdc, scry-analyzer); code still imports the
unchanged lib names. scripts/publish.rs now carries (dir, package) pairs since
the crates.io package name differs from the directory.

The Wasm-component crates (wasm-lattice, scry-analyzer) get their scry-sai-*
package rename + the wit_bindgen::generate! binding refactor needed to publish
in a follow-up PR (it touches the //:scry composition); they stay publish=false
here and ship as signed .wasm assets.

Verified: cargo build/test green (5 + 24), the 4 leaves cargo-package under the
new names, scry-mcdc (separate workspace) builds, bare cargo build --release,
fmt/clippy/rivet clean. Bazel target names + crate_name unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The clippy/test jobs invoked cargo --package scry-{provenance,taint,octagon};
those packages are now scry-sai-*. Update the --package args (the scry-host-tests
job and all crates/<dir> path references are unchanged). Also fix the
publish-to-crates-io.yml comments to the new names.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@avrabe avrabe merged commit 54f0d18 into main Jun 14, 2026
9 checks passed
@avrabe avrabe deleted the feat-scry-sai-namespace branch June 14, 2026 20:15
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