Skip to content

spec: add §3.3.1 verification guidance for external execution evidence (#34)#60

Merged
imran-siddique merged 1 commit into
mainfrom
spec/external-execution-evidence-34
Jun 22, 2026
Merged

spec: add §3.3.1 verification guidance for external execution evidence (#34)#60
imran-siddique merged 1 commit into
mainfrom
spec/external-execution-evidence-34

Conversation

@imran-siddique

Copy link
Copy Markdown
Contributor

Summary

Adds §3.3.1 — External execution evidence (optional) — under §3.3, the verification section.

This is the spec-side counterpart to agentrust-io/cmcp#301, which added the external_execution_evidence receipt field to cMCP audit entries and implemented signature verification in cmcp-verify. TRACE needed matching guidance so the spec and the reference implementation stay aligned.

Key rules defined:

  • When a verifier holds the named issuer's public key: verify the JCS-canonical receipt signature, assert linked_call_id == call_id, fail closed on any mismatch
  • When the issuer key is not configured: receipt is unverified, not invalid; gateway-produced evidence is unaffected; verifier SHOULD surface external_evidence_unverified rather than silently ignoring
  • Trust boundary explicit: TRACE binds the receipt; it does not certify physical actions, actuation outcomes, or functional-safety compliance

No schema changes — the receipt lives in the cMCP audit chain (committed by the Trust Record's tool_transcript.hash), not in the TRACE Trust Record itself.

Test plan

Closes #34

#34)

Closes #34. Adds a new subsection under §3.3 defining how a conforming verifier
handles optional out-of-band receipts attached to audit-chain entries. Core rules:
verify issuer signature and linked_call_id when the issuer key is configured, fail
closed on mismatch, treat unknown-issuer receipts as unverified-not-invalid, and
surface an advisory status rather than silently ignoring them. Explicit trust
boundary: TRACE binds the receipt; it does not certify physical actions or safety
compliance.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@imran-siddique imran-siddique merged commit 790ee4e into main Jun 22, 2026
4 checks 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.

Recognize external execution evidence (controller-signed receipts) on the verification side (cMCP #301)

1 participant