Skip to content

feat(testing): replay Trusted Match Context router vectors - #2483

Merged
bokelley merged 1 commit into
mainfrom
cut-release-v1
Aug 8, 2026
Merged

feat(testing): replay Trusted Match Context router vectors#2483
bokelley merged 1 commit into
mainfrom
cut-release-v1

Conversation

@bokelley

@bokelley bokelley commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a raw-HTTP replay_trusted_match_context_vector storyboard primitive
  • host canonical provider fixtures and expose an operator-owned registration callback
  • grade the real router POST /context response through normal storyboard validations
  • report not_applicable when the registration seam is unavailable, with no MCP/A2A fallback
  • preserve prototype-like provider IDs safely in redacted compliance output

Why

Trusted Match Context routers expose raw HTTP rather than an AdCP tool. The existing runner could not exercise that trust boundary or replay the provider-attribution vectors from adcontextprotocol/adcp#6252.

The vector/schema source is being introduced by adcontextprotocol/adcp#6281. This SDK primitive can land independently and will consume that packaged vector once the protocol change is published.

Validation

  • npm run build:lib
  • npx tsc --project tsconfig.lib.json --noEmit
  • npm run lint (0 errors; pre-existing warnings only)
  • focused storyboard suite: 88 passed
  • fast Node suite: 13,050 passed, 7 skipped, 2 parallel-only failures; both failing files passed independently (4/4 and 25/25)
  • Prettier and git diff --check

Closes #2479

@bokelley
bokelley marked this pull request as ready for review August 8, 2026 09:28

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ladon verdict: Approve

Approve.

Adds a raw-HTTP Trusted Match Context router replay probe (replay_trusted_match_context_vector) with runner-hosted provider fixtures, an operator-owned registration seam, and a coherent redactSecrets __proto__ fix. Fail-closed to not_applicable with no MCP/A2A fallback; router POST has an explicit AbortController+timeout and both request/response bodies are byte-capped. Witness contract intact — grades the actual router response with no fabrication or reshaping. Changeset present and correctly scoped for the additive surface.

No Critical/High/Medium findings. Three low findings noted (redactSecrets fix correctness, minor request-precedence wording vs CONFORMANCE.md, consumeBody not destroying the oversize stream) — all stylistic/speculative, non-blocking.

Decision path: no critical/high (row 1 n/a); gated_paths false (row 2 n/a); high_risk false (rows 3/5 n/a); no medium findings (rows 4/8 n/a); no prior escalation (row 6 n/a); no no-auto-approve team match (row 7 n/a). Falls through to row 9 → approve. Note: review_decision is REVIEW_REQUIRED, but the gated-paths gate only applies when gated_paths is true, which it is not here.

@bokelley
bokelley merged commit 4abd5e9 into main Aug 8, 2026
33 checks passed
@bokelley
bokelley deleted the cut-release-v1 branch August 8, 2026 09:33
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.

Add Trusted Match Context router conformance replay primitive

1 participant