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
- 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.
- Thread
req.paused into the initial media-buy status / adapter package state so delivery is gated until unpaused.
- Mirror in the mock adapter's metric simulation (paused buy simulates zero delivery until unpaused).
- Revert the parameter description wording once honored.
- 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.
Summary
CreateMediaBuyRequest.paused(AdCP 3.1.1 surface, exposed on both transports in PR #1567) is accepted but read nowhere on the create path — apaused=truecreate delivers immediately._build_create_successtakes a separatepausedparam, and adapters read the response package'spaused, 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
pausedis 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
pausedsemantics + the conformance storyboard step that grades it (or note "ungraded") before implementation.req.pausedinto the initial media-buy status / adapter package state so delivery is gated until unpaused.Related: #1305 (async/submitted response envelopes) — both touch create-path lifecycle semantics; coordinate the status values.
Acceptance
paused=truecreate produces a buy that does not deliver until unpaused, on all transports.