Skip to content

Accept or publish AdCP 3.1-beta.5 wire version #883

Description

@bokelley

Summary

The current Python SDK release used by Sales Agent rejects requests that carry the current JS SDK / Agentic wire envelope value:

{"adcp_version": "3.1-beta.5"}

Local runtime with adcp @ git+https://github.com/adcontextprotocol/adcp-client-python.git@v6.3.0-beta.4 reports:

adcp.validation.envelope.SUPPORTED_WIRE_VERSIONS = ('3.0', '3.1-beta.4', '2.5')

and detect_wire_version({"adcp_version": "3.1-beta.5"}) raises UnsupportedVersionError because normalize_to_release_precision() preserves the prerelease patch label and the strict supported set does not include beta.5.

Downstream impact

Prebid Sales Agent had to add a local compatibility shim in bokelley/salesagent#632 so embedded/managed tenants can interoperate with current buyers emitting 3.1-beta.5 while the Python SDK pin is still on 3.1-beta.4.

That shim patches:

  • adcp.validation.envelope.SUPPORTED_WIRE_VERSIONS
  • adcp.validation.envelope.detect_wire_version

so the strict dispatcher path accepts 3.1-beta.5 as wire-compatible.

Ask

Please either:

  1. publish a Python SDK prerelease whose SUPPORTED_WIRE_VERSIONS includes 3.1-beta.5, or
  2. make detect_wire_version() tolerant of wire-compatible 3.1 beta patch aliases when the request/response envelope shape has not changed.

Suggested acceptance criteria

  • detect_wire_version({"adcp_version": "3.1-beta.5"}) returns "3.1-beta.5" or another documented compatible 3.1 release-precision value instead of raising.
  • Server dispatch/envelope validation accepts 3.1-beta.5 requests without adopter monkeypatching.
  • Capabilities helpers advertise the exact supported wire versions consistently with runtime validation.

Related downstream validation

Sales Agent PR #632 is green with the local shim:

  • make quality
  • focused managed-tenant webhook integration slice
  • GitHub CI: lint/typecheck, unit, integration shards, E2E, quickstart, security audit, storyboard gates, GHCR build

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions