varve v0.13.0
varve v0.13.0 — adversarial inputs
REQ-FUZZ-001 + REQ-PROP-001 + REQ-MATRIX-001 verified.
- Fuzzing (
fuzz/,fuzz.yml— PR smoke + nightly): five cargo-fuzz targets on the untrusted-input parsers — layer-id grammar, layer-manifest JSON, DSSE envelope,varve.toml,varve-realms.toml. It found a real bug on the first run: the layer-id grammar accepted leading-zero patches, so2026.07.052and2026.07.52were two pin strings for one identity — a genuine hazard in a digest-is-identity system. Fixed, regression-seeded, re-fuzzed clean past 1.6M runs. - Property tests (proptest): the core laws over the whole input space — layer-id parse/Display round-trip, rollback verdict monotonicity (accept iff counter ≥ mark), advance-never-lowers, platform-match totality + wasm universality.
- Matrix: CI now tests linux AND macos (was ubuntu-only while releasing four platforms), pins an MSRV (1.89) build, and publishes cargo-llvm-cov coverage as advisory evidence.
- Kani proofs of the same invariants are tracked honestly as REQ-KANI-001 (v1.0, advisory→required) — not claimed here.
Verify: varve self-verify --archive varve-v0.13.0-<triple>.tar.gz --envelope SHA256SUMS.txt.dsse.json. This machine self-updated through the old-verifies-new chain.