diff --git a/CHANGELOG.md b/CHANGELOG.md index 6efe2a1..2a21244 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,13 +24,17 @@ Versioning: [SemVer 2.0](https://semver.org/spec/v2.0.0.html). trick — so `use scry_interval` and the Bazel target paths are unchanged. Internal path deps now carry `version` so `cargo publish` rewrites them to the crates.io coordinate. -- **Wasm-component crates** (`wasm-lattice`, `scry-analyzer`) are being migrated - to the `scry-sai-*` namespace + self-contained `wit_bindgen::generate!` - bindings so they build and publish under plain `cargo` as well as Bazel — in a - follow-up PR (it touches the `//:scry` composition and needs full CI - re-validation). Until then they remain `publish = false` and ship as signed - `.wasm` release assets. The `scry-host-tests` and `scry-mcdc` harnesses remain - unpublished. +- **Wasm-component crates renamed** into the namespace: `wasm-lattice` → + `scry-sai-lattice`, `scry-analyzer` → `scry-sai-analyzer` (`[package] name` + only — `[lib] name`, directories, and Bazel targets unchanged). They remain + `publish = false` and ship as signed `.wasm` release assets: they are `cdylib` + Wasm components built from Bazel-generated WIT bindings, so a host + `cargo publish` cannot build them and a `cargo add` consumer cannot use a + cdylib component (the witness precedent — publish the libraries, ship the + component). Making them genuine crates.io libraries would require a + `wit_bindgen::generate!` binding refactor that touches the shipped `//:scry` + composition for no consumer benefit; deferred. The `scry-host-tests` and + `scry-mcdc` harnesses remain unpublished. ### Changed diff --git a/Cargo.lock b/Cargo.lock index e8fdbf0..d6e728a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1823,13 +1823,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "scry-analyzer" -version = "1.9.0" -dependencies = [ - "scry-sai-core", -] - [[package]] name = "scry-host-tests" version = "1.9.0" @@ -1847,6 +1840,13 @@ dependencies = [ "wat", ] +[[package]] +name = "scry-sai-analyzer" +version = "1.9.0" +dependencies = [ + "scry-sai-core", +] + [[package]] name = "scry-sai-core" version = "1.9.0" @@ -1864,6 +1864,15 @@ dependencies = [ name = "scry-sai-interval" version = "1.9.0" +[[package]] +name = "scry-sai-lattice" +version = "1.9.0" +dependencies = [ + "bitflags", + "scry-sai-octagon", + "scry-sai-taint", +] + [[package]] name = "scry-sai-octagon" version = "1.9.0" @@ -2477,15 +2486,6 @@ dependencies = [ "wasmparser 0.250.0", ] -[[package]] -name = "wasm-lattice" -version = "1.9.0" -dependencies = [ - "bitflags", - "scry-sai-octagon", - "scry-sai-taint", -] - [[package]] name = "wasm-metadata" version = "0.244.0" diff --git a/crates/scry-analyzer/Cargo.toml b/crates/scry-analyzer/Cargo.toml index 290c62e..866faa1 100644 --- a/crates/scry-analyzer/Cargo.toml +++ b/crates/scry-analyzer/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "scry-analyzer" +name = "scry-sai-analyzer" description = "scry interval-domain abstract interpreter as a Wasm component." version.workspace = true edition.workspace = true @@ -15,6 +15,7 @@ authors.workspace = true publish = false [lib] +name = "scry_analyzer" crate-type = ["cdylib"] [dependencies] diff --git a/crates/wasm-lattice/Cargo.toml b/crates/wasm-lattice/Cargo.toml index 991acb7..005584d 100644 --- a/crates/wasm-lattice/Cargo.toml +++ b/crates/wasm-lattice/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "wasm-lattice" +name = "scry-sai-lattice" description = "Interval-domain abstract-domain library as a Wasm component." version.workspace = true edition.workspace = true @@ -16,6 +16,7 @@ authors.workspace = true publish = false [lib] +name = "wasm_lattice" crate-type = ["cdylib"] [dependencies]