Skip to content

feat: honor paused=true on create_media_buy #1619

Description

@KonstantinMirin

Summary

CreateMediaBuyRequest.paused (AdCP 3.1.1 surface, exposed on both transports in PR #1567) is accepted but read nowhere on the create path — a paused=true create delivers immediately. _build_create_success takes a separate paused param, and adapters read the response package's paused, never the request's. The parameter description currently states this honestly ("accepted for AdCP 3.1.1 compatibility; pause-on-create is NOT yet honored").

Provenance: pre-existing gap (request-level paused is 2.12.0-lineage, honored nowhere before the 6.6 bump either) — not a 6.6 regression. Surfaced in PR #1567 review round 1.

Fix

  1. Spec-grounding first (mandatory per repo policy): cite the 3.1.1 create-media-buy request schema section for paused semantics + the conformance storyboard step that grades it (or note "ungraded") before implementation.
  2. Thread req.paused into the initial media-buy status / adapter package state so delivery is gated until unpaused.
  3. Mirror in the mock adapter's metric simulation (paused buy simulates zero delivery until unpaused).
  4. Revert the parameter description wording once honored.
  5. Grade with the UC-002 paused partition across all four transports.

Related: #1305 (async/submitted response envelopes) — both touch create-path lifecycle semantics; coordinate the status values.

Acceptance

  • paused=true create produces a buy that does not deliver until unpaused, on all transports.
  • BDD scenario(s) graded, not dormant; mock adapter simulates the pause.
  • Parameter description matches behavior again.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Ready for Dev

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions