change(ard): drop the trust-manifest signature; publish the catalogue unsigned (rebuild of #123) - #139
Merged
Merged
Conversation
… unsigned Rebuild of #123 on current main, which #121 conflicted with. The signature protected three static fields and was verified by a JWK Set on the same origin as the catalogue it vouched for, so it folded to exactly the compromise it existed to detect. It also left `entries` — where the MCP and A2A endpoint URLs live — unsigned. Removes host.trustManifest, the jwks _headers block and api-catalog entry, the sign:ard / check:ard scripts and the CI step. The spec page gains the reasoning: sign only when the verifying key is anchored independently of the signed document. Two files still need deleting; see the PR body. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Deploying specification-website with
|
| Latest commit: |
8b5a7f4
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://6701b3d7.specification-website.pages.dev |
| Branch Preview URL: | https://change-drop-ard-signing-v2.specification-website.pages.dev |
Completes the removal: public/.well-known/jwks.json and scripts/sign-ard-catalog.mjs. Nothing references either — the _headers block, the api-catalog entry, the npm scripts and the CI step went in the previous commit. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The changelog entry, the spec page's `updated`, and the superseded banners all read 23 July — when the change was written, not when it lands. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
jdevalk
marked this pull request as ready for review
July 31, 2026 09:38
This was referenced Jul 31, 2026
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.
Rebuild of #123 on current
main. Merging #121 put a conflict inCLAUDE.md; this branch replays the same change set on top of it. #123 is closed in favour of this.The reasoning is unchanged — see #123 for the full argument. Short version: the signature protected three static fields, was verified by a JWK Set on the same origin as the catalogue it vouched for, and left
entries— the MCP and A2A endpoint URLs — unsigned.Differences from #123
Three deliberate deviations, all because
mainmoved while #123 sat open:package.jsonkeepsastro: ^7.1.1. change(ard): drop the trust-manifest signature; publish the catalogue unsigned #123's branch predates the Astro bump, so replaying it verbatim would have silently reverted the dependency to^7.0.9. Only the twosign:ard/check:ardscript lines are removed.public/_headerswas hand-edited, not taken wholesale. perf(webmcp): load the tool bundle only when the browser has modelContext #122 landed CSP changes in that file first. Only the five-linejwks.jsonblock is removed; the WebMCP guard hash is untouched — confirmed bycheck-integritypassing withpagefind.js + component-ui + WebMCP guard pinned and CSP-allowed.CLAUDE.mdhand-merged onto the post-change(governance): decouple speccing from shipping, add /considered/ #121 version. Thescripts/sign-ard-catalog.mjsarchitecture row is gone and thepublic/.well-known/row now points at the spec page for the reasoning instead of carrying thesign:ardwarning. change(governance): decouple speccing from shipping, add /considered/ #121's new governance section is untouched. Prettier reflowed the table, which is why that file's diff is larger than the semantic change.Dated 31 July, not 23 July
The changelog entry, the spec page's
updated, and the superseded banners ondocs/okf-recon.mdandops/notes/ard-adoption.mdall originally read 23 July — the day #123 was written. They now read 31 July, the day this ships. The changelog file was renamed to match. Trivially revertible if you would rather they record when the decision was taken.Everything else —
ai-catalog.json, the api-catalog Linkset,ci.yml,.gitignore, and the agentic-resource-discovery rewrite — is identical to #123.Checks
npm run build✓ ·npm run lint✓ ·npm run format:check✓ ·npm run check:skill✓ (164 pages, 10 categories, digest ✓)Both deletions are now in:
public/.well-known/jwks.jsonandscripts/sign-ard-catalog.mjsare gone, and a repo-wide grep confirms nothing references either. The remainingjwkshits are the unrelatedjwks_urifield on the OAuth/OIDC spec pages.🤖 Generated with Claude Code