Skip to content

Wire enum gaps: creative-builder specialism, audio MediaChannel, cpv/vcpm pricing #3735

Description

@bokelley

Background

scope3data/agentic-adapters ported all 13 platform adapters to @adcp/sdk v6 DecisioningPlatform shape during Phase B (PRs #207#221). Across that fan-out, three wire-enum gaps surfaced where the v6 TypeScript surface anticipated a value the wire schema doesn't know about. Adapters had to claim adjacent values that fit imperfectly. Filing as a single tracking issue since the diagnosis is shared (adapter port surfaced cases the spec didn't anticipate).

Gap 1: creative-builder not in AdCPSpecialism

The v6 SDK has a CreativeBuilderPlatform TypeScript interface (referenced in RequiredPlatformsFor<S> mapping). The wire AdCPSpecialism enum only knows the legacy split: creative-template and creative-generative. Adapters using CreativeBuilderPlatform (e.g., AudioStack — a stateless brief→creative agent) had to claim creative-template even though structurally they're builders. The TS interface unifies both, but the wire enum still bifurcates.

Ask: add creative-builder to AdCPSpecialism and map both legacy values to it for backwards compat. The SDK's RequiredPlatformsFor already unifies them at the type level; the wire enum should follow.

Gap 2: MediaChannel has no generic audio

AudioStack outputs MP3 ads applicable to radio + streaming_audio + podcast — there's no umbrella audio value. Adapters had to advertise all three.

Current enum: display, olv, social, search, ctv, linear_tv, radio, streaming_audio, podcast, dooh, ooh, print, cinema, email, gaming, retail_media, influencer, affiliate, product_placement, sponsored_intelligence.

Ask: add audio as a parent / coverage value. Spec needs to define the relationship to the existing radio/streaming_audio/podcast values (semantic broadening vs. additional concrete value).

Gap 3: pricing models missing cpv, vcpm

Google Ads supports CPV (cost-per-view, video). Amazon DSP supports vCPM (viewable CPM). Neither is in the pricing-model enum — adapters used the values inline but they're not strictly-validated.

Ask: add cpv and vcpm to the pricing-model enum.

Why bundle

All three gaps share the same root cause: adapters from established ad-tech platforms encoding values the spec didn't anticipate at v3.0 freeze. Fixing them in one spec PR keeps the discussion coherent (semantics of "broader coverage" applies across all three) and lets adopters track one issue rather than three.

References

  • Workspace migration PRs: scope3data/agentic-adapters#207 (snap), scope3data/agentic-adapters#218 (flashtalking — CreativeAdServerPlatform), scope3data/agentic-adapters#219 (audiostack — CreativeBuilderPlatform).
  • Each packages/adapter-*/src/platform.ts carries inline TODO markers at the gap seams.
  • Cross-ref: adcp-client#1145 (umbrella tracking issue for v6 interface gaps observed across the port).

Metadata

Metadata

Assignees

No one assigned

    Labels

    claude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions