fix: move the extension URI off a domain we do not own; correct stale hardware caveats - #69
Merged
Merged
Conversation
… caveats The cA2A extension URI was https://agentrust.io/extensions/ca2a/v0.1, and agentrust.io is not ours: it resolves to parked AWS addresses. That URI is precisely the string we are asking other operators to copy into their Agent Cards, so it must not depend on a domain we do not control. It moves to agentrust-io.com, along with the transport spec, the fixture, the maintainer email, and the test that pins the constant. A2A treats extension URIs as identifiers rather than fetchable URLs, so this is not a functional break, but a peer pinning the old string must update. Doing it before filing the A2A proposal is the point: after the proposal it would be someone else's problem too. Separately, two spec pages had gone stale against hardware-validation.md. profile.md P-6 still said the appraisal runs at assurance="none" and call-graph.md still called hardware appraisal "the remaining hardware step", when verify_offer had already returned assurance="hardware" off a live SEV-SNP quote. Both now say what is true, and both keep the limits that genuinely remain: the appraisal is one-directional, and the committed examples stay software-attested because real evidence embeds per-CPU identifiers. The tag:agentrust.io,2026:trace-v0.1 EAT profile identifier is deliberately untouched. It is a cross-repo spec identifier embedded in signed records, so it needs a transition decision rather than a rename. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prerequisite for filing the A2A extension proposal. Both changes have to be true before that issue goes up, because the proposal points at these exact strings and pages.
1. Extension URI moves to
agentrust-io.comThe cA2A extension URI was
https://agentrust.io/extensions/ca2a/v0.1.agentrust.iois not ours — it resolves to parked AWS addresses. That URI is the one string we are asking other operators to copy into their Agent Cards, so it must not depend on a domain we do not control.A2A treats extension URIs as identifiers rather than fetchable URLs, so this is not a functional break, but any peer pinning the old string must update. Doing it now is the point: once the proposal is filed it stops being only our problem.
Moved together: the adapter constant, the transport spec table, the A2A fixture, the test that pins the constant, and the maintainer email in
pyproject.toml.2. Two spec pages had gone stale against the hardware run
After #68 landed,
hardware-validation.mdrecorded thatverify_offerreturnedassurance="hardware"off a live SEV-SNP quote, but two pages still said the opposite:profile.mdP-6: "Not yet met by this implementation ... the appraisal runs in software mode atassurance="none""call-graph.md: hardware appraisal is "the remaining hardware step"Both now state what is true, and both keep the limits that genuinely remain, rather than swapping one overclaim for another:
examples/harness stays software-attested, because genuine evidence embeds per-CPU identifiers and cannot ship as a fixtureDeliberately not touched
tag:agentrust.io,2026:trace-v0.1intrace_binding.py. That EAT profile identifier appears in 125 files across the org, including cmcp's JSON schema and trust records, and it sits inside signed payloads. An RFC 4151 tag URI is only valid if the minter controlled the domain on the stated date, so this one is wrong rather than merely misspelled — but renaming it is a cross-repo transition with a verifier-compatibility question attached, not a find-and-replace. Raising separately.211 passed, 3 skipped.