Skip to content

artifact verify: fix ephemeral CI attestations with --identity-bundle - #380

Merged
bordumb merged 2 commits into
mainfrom
fix/artifact-verify-ephemeral-bundle
Jul 18, 2026
Merged

bordumb merged 2 commits into
mainfrom
fix/artifact-verify-ephemeral-bundle

Conversation

@bordumb

@bordumb bordumb commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

The v0.1.6 Release jobs fail at artifact verify <tarball> --identity-bundle .auths/ci-bundle.json with a bare "Verification failed". Root cause: this gate (added in #375) had never run before, and the combination it exercises was broken by construction — resolve_identity_key forced the BUNDLE root as the chain key even for an ephemeral (did:key) CI attestation, which the maintainer's key never signed. The chain leg failed, so the commit-anchor leg (where the trust actually lives) never ran.

Fix, fail-closed on every leg:

  • An ephemeral issuer self-verifies its signature leg against its own in-band key (same as the no-bundle path).
  • The commit-anchor leg now verifies against the bundle when one is supplied: new commit_trusted_via_bundle reuses the exact auths verify <sha> --identity-bundle doctrine — pinned .auths/roots are the anchor, the bundle is KEL evidence only (RT-005), offline freshness graded as the commit command grades it. (verify HEAD --identity-bundle already passes in the same CI job, which is why the trust chain artifact ← ephemeral key ← commit ← maintainer is provable there.)
  • A failed verdict never prints bare "Verification failed" again — the failing leg is named.

Getting v0.1.6 binaries out after this merges

This changes the shipped auths binary, so the tag must move to include it (crates/sdk/PyPI/verifier already shipped and are unaffected by this file — only Release + its gate need the new tree):

git push origin :refs/tags/v0.1.6
git tag -fs v0.1.6 origin/main -m "v0.1.6"
git push origin v0.1.6

Merging #379 first is recommended — its skip-if-published guards silence the republish noise on the re-fired channels.

🤖 Generated with Claude Code

bordumb added 2 commits July 18, 2026 15:34
…ure and anchors trust through the bundle-evidenced commit leg

Auths-Id: did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd
Auths-Device: did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd
Auths-Anchor-Seq: 1
Auths-Id: did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd
Auths-Device: did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd
Auths-Anchor-Seq: 1
@github-actions

Copy link
Copy Markdown

Auths Commit Verification

Commit Status Details
8acfbf6d ✅ Verified Signed by did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd

Result: ✅ 1/1 commits verified

@github-actions

Copy link
Copy Markdown

Auths Commit Verification

Commit Status Details
c8037f8d ✅ Verified Signed by did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd
8acfbf6d ✅ Verified Signed by did:keri:EB5cPHY0t-ejNC_rUzPS1dclTvd6kG-R9mQzjozCuGgd

Result: ✅ 2/2 commits verified

@bordumb bordumb changed the title artifact verify: fix ephemeral CI attestations with --identity-bundle (v0.1.6 release gate) artifact verify: fix ephemeral CI attestations with --identity-bundle Jul 18, 2026
@bordumb
bordumb merged commit 978c5e3 into main Jul 18, 2026
23 checks passed
@bordumb
bordumb deleted the fix/artifact-verify-ephemeral-bundle branch July 18, 2026 15: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