Skip to content

feat(plugin): release-artifact-pipeline — five tracks from the org-wide release sweep (v0.10.0)#97

Merged
avrabe merged 1 commit into
mainfrom
feat/release-artifact-pipeline-five-tracks
Jun 22, 2026
Merged

feat(plugin): release-artifact-pipeline — five tracks from the org-wide release sweep (v0.10.0)#97
avrabe merged 1 commit into
mainfrom
feat/release-artifact-pipeline-five-tracks

Conversation

@avrabe

@avrabe avrabe commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

An org-wide release-consistency sweep across 12 release-cutting repos (rivet, sigil, witness, scry, synth, gale, meld, loom, spar, relay, wohl, mcp) found systematic drift. This extends release-artifact-pipeline from a single native-binary standard to five artifact-type tracks, encoding the maintainer's policy decisions.

The drift the sweep found

  • Every repo signs its native binary to the full bar (cosign + SHA256SUMS + CycloneDX SBOM + SLSA) but holds its wasm to a weaker one — the unifying defect.
  • witness + scry run on almost no wasm-emitting repo — most glaringly loom (a wasm optimizer), meld (fusion), gale (ships wasm kernels), spar (ships a component with not even a wasmtime load-check).
  • sigil-signs wasm almost nowhere — only sigil (self, best-effort) and wohl (CI, but the signed wasm isn't a release asset); gale has an open TODO(sigil).
  • Distribution incoherent — rivet npm-only (no crates.io), sigil/synth/scry crates.io-only, mcp a stale unsigned manual publish script outside CI.
  • Verification extraction already solved well in relay (test-level, 120/128 SWREQ), gale (642 links), synth (141) — but absent in scry (0 despite 111 tests + 12 Rocq proofs + a live MC/DC gate), witness (2/55), loom, meld, mcp.

The five tracks

  • A — native binaries: synth-canonical bundle (unchanged).
  • B — distribution: crates.io for everything Rust (signed CI, OIDC); npm for every CLI/tool; mcp's manual unsigned publish named as the anti-pattern.
  • C — wasm: sigil + cosign signing and a witness MC/DC gate and a scry gate — same bar as the binary. The sigil step is gated on fixing sigil's wasip2 parser first (add cosign now, sigil as it clears); SLSA subject-path must cover the .wasm.
  • D — Pages dashboard: witness-viz/scry-viz, with the github-pages v* tag deployment-branch-policy gotcha documented.
  • E — rivet extraction: a release requirement; copy relay's test-level verifies pattern.

Per-repo rollout will be tracked separately. Bumps the plugin to v0.10.0.

🤖 Generated with Claude Code

…de sweep (v0.10.0)

An org-wide release-consistency sweep (12 repos) found the pipelines have
drifted: every repo signs its native binary to the full bar (cosign +
SHA256SUMS + CycloneDX SBOM + SLSA) but holds its *wasm* to a weaker one,
distribution channels are incoherent (rivet npm-only, sigil/synth/scry
crates.io-only, mcp a stale unsigned manual script), and witness/scry run
on almost no wasm-emitting repo.

Extend release-artifact-pipeline from a single (native-binary) standard to
five artifact-type tracks, encoding the policy decisions:

- Track A — native binaries: the existing synth-canonical bundle (unchanged).
- Track B — distribution: crates.io for everything Rust (signed CI, OIDC),
  npm for every CLI/tool (not just rivet); more channels later; mcp's manual
  unsigned publish is the named anti-pattern.
- Track C — wasm: sigil + cosign signing AND a witness MC/DC gate AND a scry
  abstract-interpretation gate; same bar as the binary. sigil step is gated
  on fixing sigil's wasip2 parser first (add cosign now, sigil as it clears);
  SLSA subject-path must cover the .wasm.
- Track D — Pages verification dashboard (witness-viz/scry-viz), with the
  github-pages v* tag deployment-branch-policy gotcha documented.
- Track E — rivet verification extraction as a release requirement; copy
  relay's test-level verifies pattern (gale/synth for volume); laggards are
  scry/witness/loom/meld/mcp.

"How to apply" deltas updated to the real per-repo gaps from the sweep.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@avrabe avrabe merged commit bb230b4 into main Jun 22, 2026
1 check passed
@avrabe avrabe deleted the feat/release-artifact-pipeline-five-tracks branch June 22, 2026 17:58
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