Skip to content

plan(v0.12.0): scope varve-driven interop + trust-hardening (REQ-26..30) - #261

Merged
avrabe merged 2 commits into
mainfrom
plan/v0.12.0-varve-interop
Aug 21, 2026
Merged

plan(v0.12.0): scope varve-driven interop + trust-hardening (REQ-26..30)#261
avrabe merged 2 commits into
mainfrom
plan/v0.12.0-varve-interop

Conversation

@avrabe

@avrabe avrabe commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Triages the five issues varve filed while evaluating wsc::airgapped for offline manifest verification into a v0.12.0 release scope. Landed as rivet artifacts (the release: field is the source of truth; mirrored to the GitHub v0.12.0 milestone), so readiness is a live query: rivet release status v0.12.0.

REQ Issue What
REQ-26 #256 sign_digest — keyless sign over an arbitrary 32-byte digest, not only a Module
REQ-27 #260 from_sigstore_bundle — ingest cosign bundles (legacy-JSON + protobuf v0.3)
REQ-28 #231 SigstoreBundle::verify — in-library offline bundle verify (the verify half of #260; confirmed unimplemented)
REQ-29 #259 Ed25519 Rekor SET path + embedded-root refresh (Rekor-v2 time-bomb) — not a data refresh: the keyring is P256-only and silently skips the new Ed25519 log
REQ-30 #258 No vacuous oracles — the airgapped e2e test never calls verify_signature; broadened to a suite-wide sweep + CI gate

Execution order: REQ-30 → REQ-26 → REQ-27 → REQ-28 → REQ-29 (30 first so later oracles are trustworthy; 29 last — it's the largest, a new crypto path). Each feature lands as its own PR off main.

This PR is the plan artifact only (rivet YAML). Implementation PRs follow per-feature.

🤖 Generated with Claude Code

avrabe and others added 2 commits August 21, 2026 19:56
varve (downstream consumer of wsc) filed five issues while evaluating
wsc::airgapped for offline manifest verification. Triaged into a v0.12.0
release scope in rivet (release: field is the source of truth; mirrored to
the GitHub v0.12.0 milestone):

- REQ-26 / #256  sign_digest — keyless sign over an arbitrary 32-byte digest,
                 not only a WASM Module (verifier is already hash-based)
- REQ-27 / #260  from_sigstore_bundle — ingest cosign bundles (legacy-JSON +
                 protobuf v0.3 shapes) into KeylessSignature
- REQ-28 / #231  SigstoreBundle::verify — in-library offline bundle verify
                 (the verify half of #260; confirmed unimplemented on main);
                 depends-on REQ-27, derives-from REQ-23
- REQ-29 / #259  refresh embedded Sigstore trusted root (1 Rekor log -> 2) +
                 surface staleness (Rekor v2 tiled-log time-bomb)
- REQ-30 / #258  no vacuous oracles — the airgapped e2e test never calls
                 verify_signature; broadened to a suite-wide sweep + standing
                 check (third instance of the shape this cycle)

All draft; readiness is a live query (rivet release status v0.12.0).
Scoped as one release rather than a patch+minor split because the publish
pipeline was only just unblocked and #259's public-API ask makes a "patch"
a minor anyway.

Refs: #256 #260 #231 #259 #258

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012aR3Md1h46K9wAUWMQiESH
…fresh

Source read: RekorKeyring::from_trusted_root (rekor_verifier.rs:426) silently
skips non-ECDSA_P256 keys and verify_set is P256-only, so the new Ed25519
log2025-1 key needs a real verification path, not a JSON edit. Removed the
'mechanical, patch-safe' framing; folded in the silent-skip finding and the
open Rekor-v2 SET-envelope (checkpoint vs SignedEntryTimestamp) question.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012aR3Md1h46K9wAUWMQiESH
@avrabe
avrabe merged commit 99b865f into main Aug 21, 2026
1 check passed
@avrabe
avrabe deleted the plan/v0.12.0-varve-interop branch August 21, 2026 19:00
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