Skip to content

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

@bokelley

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions