Skip to content

feat: implement durable legacy purchase continuation coordinator for AdCP 3.2 #466

Description

@bokelley

Context

Protocol follow-up to adcp#6716 and adcp#6733.

AdCP 3.2 splits legacy compound media-buy operations across compact lifecycle tasks. The protocol now defines the compatibility coordinator input and the exact failure/atomicity contract, including products-only brief continuation and legacy inline-creative behavior.

Scope

Implement the Go SDK-local coordinator API: an idiomatic equivalent of ContinueLegacyPurchase(CompatibilityPurchaseCoordinatorInput).

  • Consume the exact signed 3.2.0-beta.4 schema artifact once published.
  • Provide a durable, pluggable continuation store.
  • Bind continuations to principal, account, source protocol version, expiry, the full request payload, selected products/packages, and any listed-purchase context.
  • Enforce atomic single-use claim, deterministic replay, fail-closed crash reconciliation, and the protocol's exact loss/error reporting.
  • Support the products-only brief path and the reverse compact-seller → legacy-buyer facade where this SDK exposes server-side adapters.
  • Keep operational controls distinct from commercial-term proposal successors.
  • Run the shared products-only-brief-compatibility vectors from the beta.4 protocol bundle.

Acceptance criteria

  • Coordinator API and durable-store interface are public and documented.
  • Concurrent claims cannot purchase twice.
  • Retry after success returns the deterministic prior result.
  • Ambiguous/crashed claims fail closed and expose recovery guidance.
  • Principal/account/version/expiry/payload mismatches are rejected.
  • Shared beta.4 compatibility vectors pass.
  • Migration guidance explains what remains application-owned.

Blocked until adcp#6733 merges and the signed 3.2.0-beta.4 artifact is available.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    claude-triagedenhancementNew feature or requestgo-first-classWork required to make adcp-go a first-class SDK and seller frameworksdkSDK public API, framework, or developer experience work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions