Skip to content

feat(client): server_version constructor scaffold (stage 7-lite)#674

Merged
bokelley merged 1 commit into
mainfrom
claude/stage-7-server-version-scaffold
May 11, 2026
Merged

feat(client): server_version constructor scaffold (stage 7-lite)#674
bokelley merged 1 commit into
mainfrom
claude/stage-7-server-version-scaffold

Conversation

@bokelley
Copy link
Copy Markdown
Contributor

Stage 7-lite. Adds the API surface adopters need to declare which AdCP wire shape their seller speaks: ADCPClient(server_version="2.5") + get_server_version() getter. Today the pin is plumbing-only — recording adopter intent and emitting DeprecationWarning when legacy. Stage 7-full will wire inverse translation. The scaffold gives the 3.1 client work somewhere to hang adopter signal without forcing the inverse translators to land first. 6 new tests; 4530 passed.

Adopters can now declare which AdCP wire shape their seller speaks:

    client = ADCPClient(agent_config=..., server_version="2.5")
    client.get_server_version()  # -> "2.5"

Today the pin is plumbing-only — recording the adopter's claim and
emitting a DeprecationWarning when it's a legacy version. Stage 7-full
will use the signal to drive inverse-translation of outbound requests.

The scaffold gives 3.1 client work somewhere to hang adopter signal
without forcing the inverse translators to land first.

* Current-major pins (3.0/3.1) accept silently — useful for telemetry
  attribution without forcing a code path.
* Legacy pins (2.5) emit DeprecationWarning pointing at the future
  Stage 7-full upgrade. Outbound requests still ship as v3 today; the
  pin records intent only.
* Garbage input raises ValueError — same contract as
  ``adcp.validation.version.resolve_bundle_key``.

The active agent-card probe (JS SDK ``detectServerVersion``-equivalent)
is deferred to Stage 7-full where the inverse translators provide
something for the probe result to actually drive.

6 new tests on the resolver helper.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bokelley bokelley merged commit 5c7acb4 into main May 11, 2026
16 checks passed
@bokelley bokelley deleted the claude/stage-7-server-version-scaffold branch May 11, 2026 13:41
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