Found integrating wsc 0.9.4 as varve's manifest-verification library. wsc::dsse (DSSE sign/verify over arbitrary blobs — exactly what a downstream verifier wants) lives only in the full wsc crate, whose default build pulls 179 crates including ring, rustls 0.23, ureq 3, rcgen, x509-parser, p256, webpki-roots. The dsse module's actual dependencies are just base64, serde, serde_json, ed25519-compact.
Proposal: move src/lib/src/dsse.rs into wsc-verify-core (21 crates) or a new wsc-dsse microcrate, re-export from wsc for compatibility. Downstream offline verifiers (varve, kiln-style embedded consumers) get a ~21-crate footprint.
Related findings from the same integration, filed separately: in-library cosign-bundle verification is absent (SigstoreBundle is export-only), AirGappedVerifier::verify_crypto is a stub, no keyless blob signing, and ed25519_compact appears in public API without being re-exported.
🤖 Filed from varve v0.2.0 integration per report-tool-friction.
Found integrating wsc 0.9.4 as varve's manifest-verification library.
wsc::dsse(DSSE sign/verify over arbitrary blobs — exactly what a downstream verifier wants) lives only in the fullwsccrate, whose default build pulls 179 crates including ring, rustls 0.23, ureq 3, rcgen, x509-parser, p256, webpki-roots. The dsse module's actual dependencies are just base64, serde, serde_json, ed25519-compact.Proposal: move
src/lib/src/dsse.rsintowsc-verify-core(21 crates) or a newwsc-dssemicrocrate, re-export fromwscfor compatibility. Downstream offline verifiers (varve, kiln-style embedded consumers) get a ~21-crate footprint.Related findings from the same integration, filed separately: in-library cosign-bundle verification is absent (SigstoreBundle is export-only), AirGappedVerifier::verify_crypto is a stub, no keyless blob signing, and ed25519_compact appears in public API without being re-exported.
🤖 Filed from varve v0.2.0 integration per report-tool-friction.