Repository navigation
chore(deps): update @adcp/sdk to 15.9.2 and drop external-smoke SDK workarounds - #8231
Merged
Merged
Conversation
…orkarounds SDK 15.9.2 fixes the two bugs that #8208 worked around in the external smoke check (adcp-client#3278, #3279). Capability discovery now validates get_adcp_capabilities against the echoed adcp_version when it is in the pin's major and bundled. The protocol/tool cross-check now keys comply_test_controller under compliance_testing. Removed from scripts/external-smoke: the compliance cross-check waiver, and the served-release re-pin with its second discovery (ReleaseProbe, RepinProbe, releasePrecision, servedRelease, negotiateServedRelease, repinFor). Kept on top of the single 15.9.2 discovery: OAuth 401 classification, the echoed release must share the pin's major and be listed in supported_versions, and storyboards resolve from the served release's hosted bundle (new resolverFor option). The "same release when re-pinned" check needed the second probe and is dropped. SDK 15.9.0 adds pattern/transport to adcp_reporting_destination_ authorizations. PostgresReportingManagedDeliveryStore uses them in authorizeDestination, installBinding and claimRevocation (every worker pass), and its probe does not check them. Migration 624 adds them verbatim from REPORTING_MANAGED_DELIVERY_MIGRATION, plus the 15.9 tombstone retry columns for ledger parity. The disposable-PostgreSQL suite passes 8/8 with it and fails 6/8 without it. Moves the exact current-version pins to 15.9.2 (SDK doc, Addie certification text with a CODE_VERSION bump, buyer evidence, provenance tests). Re-records the TypeScript conformance baseline: all 125 cases, same 3.2.1 digest, counts and finding; only the SDK version changed. Removes the two request-signing SDK_KNOWN_GAPS todos, which now pass. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Ladon verdict: Approve
Approve — SDK bump 15.8.1→15.9.2 with accompanying migration and smoke-check refactor.
Checked:
- Migration 624 follows the established 620/621 precondition pattern; additive/idempotent with guarded ALTERs, fail-closed backfill (leaves pattern/transport NULL unless every binding agrees), bounded by lock_timeout 5s / statement_timeout 60s. Judged as production-facing (auto-runs on startup) and found safe.
- check.ts served-release logic fails closed on bad echo before assertDiscovery, which still rejects any capabilities_schema_issues.
- Removed SDK workarounds (compliance cross-check waiver, re-pin negotiation, request-signing SDK_KNOWN_GAPS) are obsolete under 15.9.2 and covered by rewritten tests.
- No protocol surface touched (no static/schemas/source, docs/reference, or dist), so no changeset is required and correctly none is added.
- Test plan fully checked, including disposable-postgres migration run (8/8) and external-smoke against the deployed agent.
Decision rules: No critical/high/medium findings (rows 1, 4, 5, 6, 8 don't fire). gated_paths is false (row 2 n/a). high_risk is true but all reasons are (modified) with no medium finding, or (added) scaffolding — not escalation-worthy (rows 3, 5 n/a). No no-auto-approve team match (row 7 n/a). Falls through to row 9 → approve.
This was referenced Oct 16, 2026
Merged
11 tasks done
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.
Summary
Bumps
@adcp/sdkfrom 15.8.1 to 15.9.2 and removes the external-smoke workarounds that #8208 added for two SDK bugs. Both bugs are fixed in 15.9.2 (adcontextprotocol/adcp-client#3278, adcontextprotocol/adcp-client#3279).External smoke (
scripts/external-smoke/)Removed:
compliance_testingcross-check waiver (SDK_COMPLIANCE_CROSS_CHECK_*,isSdkComplianceCrossCheckFalsePositive). In 15.9.2 the SDK keyscomply_test_controllerundercompliance_testing. Any cross-check failure now fails the probe. That includes the new 15.9.2 failure for an agent that declares acompliance_testingblock but does not expose the controller.negotiateServedRelease,ReleaseProbe,RepinProbe,RELEASE_RE,releasePrecision,servedRelease, therepinoption, andrepinForinrun.ts). 15.9.2 validatesget_adcp_capabilitiesagainst the echoedadcp_versionwhen it is in the pin's major and the SDK bundles its schema.testCapabilityDiscoverydoes not register the probe'sschemaRoot, so no pin-bound external root overrides the echo.Kept, now built on the single 15.9.2 discovery result:
requires OAuth authorizationis still classified as auth, so the anonymous probe reportsauth-required.adcp_versionmust be in the pin's major and listed inadcp.supported_versions. The SDK's schema issues are included as context in the failure message.resolverForoption). An echo with no hosted bundle fails.Tests were rewritten to cover each kept check (one discovery, the resolver bundle for the echo, release-candidate and same-as-pin echoes, a missing echo, a wrong major, a non-string echo, a release not in
supported_versions, no hosted bundle). They also cover any SDK cross-check failure, including the new 15.9.2 messages.Required server change: migration 624
SDK 15.9.0 adds
pattern/transportcolumns toadcp_reporting_destination_authorizationsinREPORTING_MANAGED_DELIVERY_MIGRATION.PostgresReportingManagedDeliveryStoreuses them on every call toauthorizeDestinationandinstallBinding, and inclaimRevocation, which runs at the start of every managed-delivery worker pass. The store'sprobe()does not check for these columns, so the opt-in training GCS reporting runtime would start normally and then fail withcolumn "pattern" does not exist.Migration 624 copies the SDK's
$pattern_transport$block (including its backfill) verbatim. It also copies the 15.9 tombstone retry columns fromREPORTING_LEDGER_MIGRATION. Those are for parity only: just period retention reads them, and the training runtime does not enable it. The namespace precondition is the same as 620/621. Row-storage and BigQuery warehouse-sink migration changes do not apply because the server uses neither.Version pins (same set as #8148)
Choose-your-SDK doc, Addie certification text (with a
CODE_VERSIONbump), the GCS buyer evidence script, and the provenance test fixtures (sdk_versioncomes from the SDK'sLIBRARY_VERSION). The TypeScript response-conformance baseline was re-recorded: all 125 cases dispatched with the same 3.2.1 artifact digest, summary counts and single known finding. Only the SDK version changed.Request-signing vectors
15.9.x now rejects the profile-3.2
026-non-ascii-hostand031-malformed-host-authorityvectors. BothSDK_KNOWN_GAPStodoentries were already passing, so they are removed, as the file's comment says to do.No changeset: nothing on the protocol release surface changes (same as #8148).
Test plan
npm run typechecknpm run test:unit(1131 passed)npm run test:schemasnpm run build:compliance -- --checknpm run test:server-unit -- --shard=N/3for N=1..3npm run test:external-smokeagainst the deployed public test agent: authenticated passed, anonymousauth-required. With plain 15.9.2 at the 3.0 pin, the agent echoes3.2, there are no capability schema issues and the cross-check passes.training-gcs-reporting-postgressuite: 8/8 pass with 624. Without it, 6/8 fail (column "pattern" does not exist,column target.pattern does not exist).migrate.tson a fresh database through 624, thentraining-gcs-account-replacement(9/9). Re-applying 624 is a no-op.registry-api-agent-refreshandregistry-api-compliance-verdict-sourceintegration tests (68 passed)npm run test:sdk-response-conformance; request-signing profile-3.2 and A2A vectors (151 pass, 0 todo)Follows #8208. Refs adcontextprotocol/adcp-client#3278, adcontextprotocol/adcp-client#3279.
🤖 Generated with Claude Code