You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of a five-issue set extending AdCP to support linear TV. These map to the buyer-expresses / seller-fulfills contract model AdCP already uses (measurement_terms, performance_standards, makegood_policy) — the goal is to add linear-specific objects onto that existing two-sided spine, not a separate "linear mode."
makegood_policy already enumerates remedies (additional_delivery, credit, invoice_adjustment) and there is variance/cancellation handling. But cancellation is all-or-nothing and a makegood is a static aggregate remedy triggered by variance — there is no interactive preemption loop ("spot preempted, here's a replacement, do you take it?").
Missing
Preemption notice as a normal operation (not all-or-nothing cancellation)
Seller→buyer replacement offer object
Buyer accept/reject workflow on that offer
Makeup scheduling
Proposed shape
Buyer expresses: accept/reject on a replacement offer
How pre-approved makegoods work today (Greg Morey, O-N-X, 2026-10-08): line alternates. The IO names a primary program and a ranked list of pre-approved alternates, for example:
Primary: "60 Minutes"
Alternate 1: "Jeopardy"
Alternate 2: "Wheel of Fortune"
Alternate 3: "KCAL 6P News"
If the primary is preempted, the seller airs the highest-ranked alternate available, and no per-spot negotiation is needed.
That gives the 3.4 contract-time half a concrete shape that's simpler than general "same-or-better" criteria: an ordered line_alternates[] on the booked line (program/network/daypart references), agreed at contract time. The report-time half that's in progress for 3.3 already covers the result: a makegood row with replaces_spot_id. A 3.4 follow-up could add which alternate rank was used. General same-or-better criteria can come later if anyone asks.
Part of this shipped: report-time spot_status, scheduled_at and replaces_spot_id in #8017 (3.3.0-beta.0), and the interactive seller offer lane with offer_reason: preemption in #8102 (3.3.0-beta.2). The offer lane's seller-held allowance part is 4.0 (#8660).
Contract-time pre-approval (preemption_criteria or line_alternates[]) was assigned to 3.4 (#5683 (comment)) and not decided for 3.3, so per the WG rule ('anything not decided moves to 3.4') only that remainder moves to 3.4. Objections by Fri 2026-11-06. The milestone stays 3.3.0 for now; it will be moved after Nov 6.
Activity
pkras commentedon Jun 24, 2026
Linear TV set — related issues (suggested sequence):
18 remaining items
bokelley commentedon Oct 8, 2026
How pre-approved makegoods work today (Greg Morey, O-N-X, 2026-10-08): line alternates. The IO names a primary program and a ranked list of pre-approved alternates, for example:
If the primary is preempted, the seller airs the highest-ranked alternate available, and no per-spot negotiation is needed.
That gives the 3.4 contract-time half a concrete shape that's simpler than general "same-or-better" criteria: an ordered
line_alternates[]on the booked line (program/network/daypart references), agreed at contract time. The report-time half that's in progress for 3.3 already covers the result: amakegoodrow withreplaces_spot_id. A 3.4 follow-up could add which alternate rank was used. General same-or-better criteria can come later if anyone asks.feat(media-buy): spot lifecycle, makegood linkage and break position …
docs(creative): expand broadcast TV guide with reconciliation contrac…
feat(media-buy): seller offers against an accepted media buy
feat(media-buy): seller offers against an accepted media buy
feat(media-buy): seller offers against accepted buys and pre-agreed s…
feat(media-buy): seller offers against accepted buys and pre-agreed s…
feat(media-buy): seller offers against accepted buys and generic pre-…
feat(media-buy): seller offers against accepted buys and generic pre-…
feat(media-buy): seller offers against accepted buys and generic pre-…
feat(media-buy): seller offers against accepted buys and generic pre-…
bokelley commentedon Oct 31, 2026
Part of this shipped: report-time
spot_status,scheduled_atandreplaces_spot_idin #8017 (3.3.0-beta.0), and the interactive seller offer lane withoffer_reason: preemptionin #8102 (3.3.0-beta.2). The offer lane's seller-held allowance part is 4.0 (#8660).Contract-time pre-approval (
preemption_criteriaorline_alternates[]) was assigned to 3.4 (#5683 (comment)) and not decided for 3.3, so per the WG rule ('anything not decided moves to 3.4') only that remainder moves to 3.4. Objections by Fri 2026-11-06. The milestone stays 3.3.0 for now; it will be moved after Nov 6.