Skip to content

ci: provable-chain pre-publish gate in release.yml - #326

Merged
telleroutlook merged 2 commits into
mainfrom
ci/provable-chain-gate
Jul 30, 2026
Merged

ci: provable-chain pre-publish gate in release.yml#326
telleroutlook merged 2 commits into
mainfrom
ci/provable-chain-gate

Conversation

@telleroutlook

Copy link
Copy Markdown
Collaborator

Implements the strong half of the cross-package regression gate (restructure plan §4-1): prove the provable chain holds on the freshly-built workspace before publishing to npm, not after.

What

  • examples/integration-smoke/provable-chain.mjs — a self-contained end-to-end smoke (no LLM, no network) over the local workspace builds:
    1. a task output is verified by @wasmagent/compliance (backed by @wasmagent/core VerificationPipeline + DeterministicVerifier);
    2. the verdict becomes signed AEP evidence via @wasmagent/aep;
    3. the signature is verified, plus a tamper-evidence check (a mutated record must fail verification).
      Adds @wasmagent/aep + @wasmagent/compliance as workspace:* deps of the smoke package so the bare imports resolve to local builds.
  • run-all.mjs — registers provable-chain.mjs in ORDER (cheap/no-IO, runs early).
  • release.yml — runs the gate after Build and before npm auth/changeset publish. A break (a verified task can no longer become signed, verifiable evidence) fails the release rather than shipping the break.

Verification

Run on the workspace exactly as CI will (frozen install + build + gate command from repo root): exits 0 on a healthy chain; an injected signature break exits 1 (proving the gate is not a no-op). check:changeset-required, check:branding, check:no-control-bytes all pass — no changeset required (examples/ + CI only, no publishable package source).

Scope note

The trust-passport link (@openagentaudit/passport) is intentionally excluded: it is an external published dependency, not a workspace package, so a wasmagent-js pre-publish gate cannot meaningfully guard it. This complements the after-publish canary already merged in agent-golden-path (which tests the latest published stack daily).

Claude Bot added 2 commits July 30, 2026 14:31
Wires a cross-package regression gate into the release pipeline so a broken provable chain fails BEFORE publish, not after.

- examples/integration-smoke/provable-chain.mjs: self-contained end-to-end smoke over the freshly-built workspace (no LLM, no network). A task output is verified by @wasmagent/compliance (backed by @wasmagent/core VerificationPipeline+DeterministicVerifier), the verdict becomes signed AEP evidence via @wasmagent/aep, and the signature is verified; includes a tamper-evidence check. Adds @wasmagent/aep + @wasmagent/compliance as workspace:* deps of the smoke package so bare imports resolve to local builds.
- run-all.mjs: register provable-chain.mjs in ORDER (cheap, no-IO — runs early).
- release.yml: run the gate after Build and before npm auth/publish. A break (a verified task can no longer become signed, verifiable evidence) fails the release.

Verified on VPS: CI-equivalent (frozen install + build + gate from repo root) exits 0 on a healthy chain; an injected signature break exits 1. The trust-passport link is intentionally excluded (external dep, not a workspace package, so a wasmagent-js pre-publish gate cannot guard it). Complements the after-publish canary in agent-golden-path. No changeset needed (examples/ + CI only, no publishable package source).
@telleroutlook
telleroutlook force-pushed the ci/provable-chain-gate branch from b212c97 to 274615f Compare July 30, 2026 06:32
@telleroutlook
telleroutlook merged commit 837e477 into main Jul 30, 2026
3 checks passed
@telleroutlook
telleroutlook deleted the ci/provable-chain-gate branch July 30, 2026 06:36
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