Skip to content

chore(deps): bump @adcp/sdk to ^7.0.0#4412

Open
bokelley wants to merge 2 commits into
mainfrom
bokelley/sdk-bump-and-wonderstruck-findings
Open

chore(deps): bump @adcp/sdk to ^7.0.0#4412
bokelley wants to merge 2 commits into
mainfrom
bokelley/sdk-bump-and-wonderstruck-findings

Conversation

@bokelley
Copy link
Copy Markdown
Contributor

Summary

Bumps `@adcp/sdk` from `^6.19.1` to `^7.0.0`, which ships the SDK-side fixes for the five compliance-harness issues filed against `adcp-client` after the Wonderstruck probe:

  • adcp-client#1676 — `request-normalizer` no longer fabricates `account` from `brand.domain` on `create_media_buy`. Missing account now throws `ValidationError` at the client boundary, per the AdCP 3.0 spec + v2 sunset policy.
  • adcp-client#1677 — `PackageRequest` normalizer fails closed on pre-3.0 `product_ids: string[]` and `budget: {total, currency}` shapes (no safe translation; which id wins, which currency?).
  • adcp-client#1678 — Webhook storyboards skip cleanly when no `webhook_receiver` is configured instead of sending a relative URL and false-failing.
  • adcp-client#1679 — `ComplianceResult.failures[]` carries structured `adcp_error` + `validation` detail, so heartbeat output reveals real wire-level failures.
  • adcp-client#1680 — Storyboards whose `required_tools` aren't all in the discovered toolset are graded `not_applicable` and surfaced in `storyboards_missing_tools` / `storyboards_not_applicable` on the result root. No more cascading `partial`.

What this changes for AAO grading

  • No more false-positive badges. Previously, comply() against any 3.0-strict seller went through the account-fabrication shim and badges were issued against requests with invented `account.operator` data. Now those calls throw before they hit the wire.
  • No more cascading-partial false negatives. Tracks like `media_buy: 59/66 partial` (where 7 of the 7 non-passing were controller-dependent storyboards on a non-governance agent) cleanly become `media_buy: 59/59 + N missing-tool`.
  • Diagnosable failures. `step.error = {}` is replaced by structured `failures[].adcp_error` + `failures[].validation`, so an owner staring at a failing storyboard from the dashboard can see exactly what the seller rejected and why.

Wonderstruck before/after

6.19.0 7.0.0
Scenarios run 117 92
Passing 97 ~83
Empty `{}` errors 9 0 (all carry `adcp_error` or `validation` detail)
Storyboards cleanly skipped (`missing_tools`) 0 (chained mid-flight) 11 (storyboard-level)
Real conformance gaps surfaced 0 (hidden) 52 (each diagnosable)

The 52 surfaced failures are real Wonderstruck-side gaps (lowercase error codes, missing RFC 6750 auth metadata, no RFC 9421 signing, etc.) — 6.19.x was hiding them.

Test plan

  • `npx tsc --noEmit -p server/tsconfig.json` — clean
  • `npm run test:unit` — 873/873 pass
  • Wonderstruck probe re-run end-to-end — confirms new behavior matches the filed issues

🤖 Generated with Claude Code

bokelley and others added 2 commits May 11, 2026 15:08
Ships the SDK-side fixes for adcp-client#1676–#1680: removes the
account-fabrication shim on create_media_buy, fails closed on pre-3.0
PackageRequest shape, skips webhook storyboards without a receiver,
surfaces structured adcp_error + validation detail in
ComplianceResult.failures[], and grades storyboards not_applicable when
required_tools are missing instead of cascading partial to the track.

Typecheck clean, 873/873 unit tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…reative-builder tenant

@adcp/sdk 7.0 narrowed the CreativeBuilderPlatform interface to
buildCreative + previewCreative? + listCreativeFormats? + refineCreative?
+ syncCreatives?. listCreatives and getCreativeDelivery moved to
CreativeAdServerPlatform, so /creative-builder no longer advertises
them in tools/list.

Aligns the tool-catalog drift test (training-agent-tool-catalog-drift.test.ts)
with what the SDK actually mounts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bokelley
Copy link
Copy Markdown
Contributor Author

CI status

`Server integration tests` has one remaining failure: `registry-feed.test.ts > combines multiple type filters with OR`.

This failure is pre-existing on `main` (see CI run 25687949037 — same test, same expected/received, same call site) and is not caused by this PR. Root cause is the background crawler writing `property.` / `agent.` events into the test DB between `beforeEach` cleanup and the assertion. Tracked separately in #4413 with a one-line fix.

What this PR's CI runs now show

The previous version of this PR (commit `080d20956d`) had two failures; the second one (`training-agent-tool-catalog-drift` for `creative-builder`) was a legitimate consequence of the SDK 7.0 interface narrowing and is fixed in commit `71c21d2fd0`.

Safe to admin-merge once a reviewer clears.

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