You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
python: the fuzz crate's Cargo.lock resolves vitaminc 0.8.1, not the 0.8.0 the SDK ships with #1639
The Python SDK, stackencrypt in languages/python, wraps the Rust engine stack-encrypt. Its Rust code is a Cargo workspace of its own, with its own Cargo.lock. That lock is seeded from the repository's root Cargo.lock, so that the crates that decide what a stored value is resolve to the versions the root tests. vitaminc, CipherStash's cryptography library, is one of those crates. scripts/__tests__/python-lock-parity.test.mjs fails when the two locks disagree on them.
The SDK's value conversion also has a fuzz crate, languages/python/crates/core/fuzz. Like every fuzz crate here, it is a separate Cargo workspace with a third Cargo.lock. CI runs it from fuzz.yml, through the root mise.toml's fuzz:python-values task.
Problem
The fuzz crate's lock is not kept in step with the SDK's lock.
languages/python/Cargo.lock has the vitaminc 0.8 crates at 0.8.0. The fuzz crate's Cargo.lock has them at 0.8.1. I checked this by listing every vitaminc* entry in both files.
python-lock-parity.test.mjs reads only the root lock and languages/python/Cargo.lock (lines 29 and 30). It never reads the fuzz crate's lock.
The fuzz:python-values task runs cargo +nightly fuzz run with no --locked (root mise.toml, line 375).
AGENTS.md's re-seed steps name only languages/python/Cargo.lock.
So the fuzzer tests the value conversion against a different vitaminc from the one the SDK builds with. Today the difference is one patch release. Nothing stops it growing, and nothing reports it.
Proposal
Extend python-lock-parity.test.mjs to compare the same crates in languages/python/crates/core/fuzz/Cargo.lock, by version, source and checksum.
Re-seed the fuzz crate's lock so that it passes. Run cargo update -p <crate>@0.8.1 --precise 0.8.0 there for each vitaminc crate, as AGENTS.md describes for the SDK's lock.
Name the fuzz crate's lock in AGENTS.md's re-seed steps.
Activity