Skip to content

agent release show: return the per-commit signature-verification state - #35

Merged
taleodor merged 1 commit into
mainfrom
2026-08-release-show-signature-state
Aug 2, 2026
Merged

agent release show: return the per-commit signature-verification state#35
taleodor merged 1 commit into
mainfrom
2026-08-release-show-signature-state

Conversation

@taleodor-claude

Copy link
Copy Markdown
Contributor

rearm agent release show documents sourceCodeEntryDetails as "per-commit attribution + signature state" (its own --help and the served orientation doc §5), but the hard-coded GraphQL selection only requested the attribution fields — the signature verdict never appeared in the payload. Practical consequence: an agent could not distinguish "backend verified the signature" from "verifier couldn't match the key but nothing surfaced it", since attribution resolves off commit trailers independently of signature verification.

Fix: select SourceCodeEntry.signature { state format signedByOwnerType signedByOwnerUuid verifiedAt keyFingerprint } — the server-side field (latest signature_verifications verdict, same row the UI reads) has existed since before the agentic release-show query itself, so every backend that can answer this command already serves it; no compatibility fence needed, and no backend or doc changes — the existing docs simply become truthful.

Output change: each SCE gains a nullable signature object (null when no SIGNATURE artifact was ever attached, e.g. plain unsigned CI commits).

Verified live against a deployed instance: a signed agent-session release now returns

"attributionState": "RESOLVED",
"signature": {"state": "VERIFIED", "format": "SSH", "signedByOwnerType": "AGENT", "keyFingerprint": "SHA256:…", "verifiedAt": ""}

🤖 Generated with Claude Code

…ation state it promised

The command's own help text (and the served orientation doc) describe
sourceCodeEntryDetails as "per-commit attribution + signature state", but the
hard-coded GraphQL selection only asked for the attribution fields -- so the
payload never carried the signature verdict, and an agent could not
distinguish "backend verified the signature" from "key never matched but
nothing surfaced it" (attribution resolves off trailers and is independent of
signature verification).

Select SourceCodeEntry.signature (state, format, signedByOwnerType,
signedByOwnerUuid, verifiedAt, keyFingerprint) -- served by every backend
that supports agent release show at all, so no compatibility fence is
needed. Verified live: a signed agent-session release now returns
signature.state=VERIFIED with the matched key fingerprint alongside
attributionState=RESOLVED.

ReARM-Agentic-Session: cli-sig-state-1785636783
ReARM-Agent: 62df357e-a3a4-4df5-82d4-049e629d1c6b
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@taleodor
taleodor merged commit 5c41943 into main Aug 2, 2026
1 check passed
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.

2 participants