docs(conformance): catalog creative vector sets - #6875
Conversation
2ae814e to
7e4154f
Compare
| | [`webhook-receiver-envelope`](https://github.com/adcontextprotocol/adcp/blob/main/static/compliance/source/test-vectors/webhook-receiver-envelope.json) | Receiver-side replay vectors for full MCP webhook POST envelopes: canonical delivery-report envelope acceptance, retry idempotency preservation, and rejection of bare result payloads or malformed envelopes | `static/compliance/source/test-vectors/webhook-receiver-envelope.json` | `/compliance/latest/test-vectors/webhook-receiver-envelope.json` | | ||
| | [`catalog-macro-substitution`](https://github.com/adcontextprotocol/adcp/blob/main/static/compliance/source/test-vectors/catalog-macro-substitution.json) | Catalog-item macro substitution safety: NFC normalization, RFC 3986 percent-encoding, nested-expansion preservation, CRLF neutralization, bidi override neutralization, and URL-scheme injection neutralization | `static/compliance/source/test-vectors/catalog-macro-substitution.json` | `/compliance/latest/test-vectors/catalog-macro-substitution.json` | | ||
| | [`universal-macro-translation`](https://github.com/adcontextprotocol/adcp/blob/main/static/compliance/source/test-vectors/universal-macro-translation.json) | Producer-side universal-macro translation: RFC 3986 unreserved-whitelist value encoding, verbatim native insertion, unmapped-macro param dropping, privacy/consent macro advisory, suspect native-value detection, single-pass substitution, and control-character rejection in native mappings | `static/compliance/source/test-vectors/universal-macro-translation.json` | `/compliance/latest/test-vectors/universal-macro-translation.json` | | ||
| | [`creative-representation-resolution`](https://github.com/adcontextprotocol/adcp/blob/main/static/compliance/source/test-vectors/creative-representation-resolution.json) | Deterministic creative-representation selection across product and seller capability intersections: paired redirects, highest-compatible VAST selection, representation-order tie breaking, retained alternatives, and exhaustive rejection output when no representation is compatible | `static/compliance/source/test-vectors/creative-representation-resolution.json` | `/compliance/latest/test-vectors/creative-representation-resolution.json` | |
There was a problem hiding this comment.
MUST FIX: No .changeset/*.md in this PR. docs/reference/** is protocol-scoped — check-changeset-protocol-scope.cjs matches /^docs\/reference\//, so the Changeset Check job runs changesets status and will not skip. Precedent: the two prior edits to this exact file each carried a changeset — #6807 (patch) and #4559 (empty notes-only). Add one (empty ---\n--- notes changeset matches #4559 for a catalog-freshness sync). Omitting it ships a docs/reference/ change untracked against the versioning surface: high.
There was a problem hiding this comment.
Ladon verdict: Request changes
Request changes — 1 blocking finding.
Blocking findings
- docs/reference/test-vectors/index.mdx:38 — docs/reference/ (protocol-scoped) change ships with no changeset. Per the repo's mandatory changeset-scope rule, a PR touching the published protocol surface (including normative reference docs under
docs/reference/**) without a.changeset/*.mdishigh— it ships an untracked wire/spec change. Add an appropriate changeset (node scripts/check-changeset-protocol-scope.cjs origin/mainis the gate; an empty changeset to satisfy CI is not the fix).
The rest of the PR checks out: both source vector files exist, row descriptions match their contents, and CDN paths follow the /compliance/latest/ column convention. The high-risk flag is only a (modified) docs match, not an escalation trigger. Row 1 of the decision table fires on the single high finding.
Blocking findings
- docs/reference/test-vectors/index.mdx:38 — docs/reference/ (protocol-scoped) change ships with no changeset
There was a problem hiding this comment.
Ladon verdict: Approve
Approve — documentation-only catalog repair with no blocking findings.
What I checked:
- Diff touches only
.changeset/catalog-creative-vector-sets.mdanddocs/reference/test-vectors/index.mdx(7 additions, 1 deletion). - The change catalogs two creative vector sets (creative-representation-resolution, macro-processing) already published under #6781 and refreshes the freshness date to 2026-08-25. Catalog descriptions and source paths are coherent with on-disk vector files.
- Empty no-bump changeset correctly satisfies the protocol-scope gate for a docs/reference change that ships no new wire surface.
high_riskis true only becausedocs/reference/index.mdxis a(modified)match — no medium-or-higher finding on that file, so the modification is presumed safe. Row 5 does not fire (no medium finding).gated_pathsis false, so row 2 does not apply despitereview_decision: REVIEW_REQUIRED.- No no-auto-approve team match; no prior decision.
No findings from the reviewer. Rows 1–8 do not fire → row 9 approve.
Pull request was closed
Summary
This is a documentation-only repair for the deterministic main-branch conformance freshness failure. It does not change schemas, vectors, protocol behavior, or conformance rules.
Verification