Skip to content

change(ard): drop the trust-manifest signature; publish the catalogue unsigned (rebuild of #123) - #139

Merged
jdevalk merged 3 commits into
mainfrom
change/drop-ard-signing-v2
Jul 31, 2026
Merged

change(ard): drop the trust-manifest signature; publish the catalogue unsigned (rebuild of #123)#139
jdevalk merged 3 commits into
mainfrom
change/drop-ard-signing-v2

Conversation

@jdevalk

@jdevalk jdevalk commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Rebuild of #123 on current main. Merging #121 put a conflict in CLAUDE.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 main moved while #123 sat open:

  1. package.json keeps astro: ^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 two sign:ard / check:ard script lines are removed.
  2. public/_headers was 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-line jwks.json block is removed; the WebMCP guard hash is untouched — confirmed by check-integrity passing with pagefind.js + component-ui + WebMCP guard pinned and CSP-allowed.
  3. CLAUDE.md hand-merged onto the post-change(governance): decouple speccing from shipping, add /considered/ #121 version. The scripts/sign-ard-catalog.mjs architecture row is gone and the public/.well-known/ row now points at the spec page for the reasoning instead of carrying the sign:ard warning. 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 on docs/okf-recon.md and ops/notes/ard-adoption.md all 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.json and scripts/sign-ard-catalog.mjs are gone, and a repo-wide grep confirms nothing references either. The remaining jwks hits are the unrelated jwks_uri field on the OAuth/OIDC spec pages.

🤖 Generated with Claude Code

… 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>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 31, 2026

Copy link
Copy Markdown

Deploying specification-website with  Cloudflare Pages  Cloudflare Pages

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

View logs

jdevalk and others added 2 commits July 31, 2026 11:37
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
jdevalk marked this pull request as ready for review July 31, 2026 09:38
@jdevalk
jdevalk merged commit 032c508 into main Jul 31, 2026
7 of 8 checks passed
@jdevalk
jdevalk deleted the change/drop-ard-signing-v2 branch July 31, 2026 09:39
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