Skip to content

docs(specs): static OOH draft proposal - #6146

Open
bokelley wants to merge 1 commit into
mainfrom
static-ooh-standards-research
Open

docs(specs): static OOH draft proposal#6146
bokelley wants to merge 1 commit into
mainfrom
static-ooh-standards-research

Conversation

@bokelley

@bokelley bokelley commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Draft design doc for adding static (printed) out-of-home to the Media Buy protocol — the channel gap raised by AdQuick, who transact static OOH daily and want to help define it in the spec. ooh exists in channels.json and the media channel taxonomy today, but nothing downstream implements it: the DOOH guide requires an impression tracker on every format, and a printed bulletin has no play event to fire.

The draft is grounded in existing standards rather than invented conventions:

  • OAAA model contracts (Bulletin/Poster Net Contracts) for proof-of-performance photos, posting leeway, material deadlines, and makegoods — conventions the whole US industry mirrors but nobody has made machine-readable
  • OAAA Standard OOH Media Formats + Print Production Specs for format definitions and asset requirements
  • IAB Tech Lab OpenDirect 2.1 (Oct 2024, with OAAA/OMA/Outsmart) as prior art that classic OOH belongs in guaranteed order-based trading — vocabulary borrowed, transport not
  • Geopath/Route/MOVE/COMMB for delivery as vendor-attested weekly modeled impressions, kept pluggable given the announced Geopath→Ipsos transition

Core architectural claim: static OOH is broadcast-shaped, not DOOH-shaped — no tracker slot + billing_measurement naming the audience currency, reusing the print creative machinery, the installment/material-deadline model for posting periods, and existing billing-authority modes. The genuinely new pieces are posting-period semantics, a structured measurement-methodology reference, a posting_evidence proof-of-performance artifact, and an ooh property type.

Status

Discussion draft — this is the GitHub-first strawman ahead of Media Buy WG review. The Open Questions section lists the decisions that need real transaction data (unit identity across operators, markets without a measurement currency, rotary bulletins, makegood states, materials responsibility, the dooh/ooh boundary). Comments welcome, especially from folks who transact static today.

No schema or docs changes in this PR — design doc only.

🤖 Generated with Claude Code

…t prior art

Codifies the standards research for adding static (printed) OOH to the
Media Buy protocol: broadcast-style tracker-less measurement via
billing_measurement, OAAA format/contract conventions (posting periods,
material deadlines, proof-of-performance photos), posting periods on the
installment model, and an ooh property type. Prepared ahead of the
AdQuick discussion.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ladon verdict: Approve

Approve — clean first review, no blocking findings.

Checked: single new file specs/static-ooh.md (125 lines), a discussion-draft design memo explicitly marked "Draft — for discussion." It touches no published protocol surface (no static/schemas/source/**, no docs/reference/** normative docs, no dist/**, no release scripts), so no changeset is required and the wire-shape/immutability/oneOf/patch-eligibility gates do not apply. Constitutionally it is Normative-input (a memo), not the change itself — not a Breaking-class change requiring ratification.

Reviewer verified all six load-bearing factual claims about the existing spec as accurate against base (ooh in channels.json but absent from property-type.json, taxonomy exclusion quoted verbatim, reporting-frequency.json lacking weekly, venue_breakdown nesting, impression-multiplier prose with no backing field, Static Billboard Manifest impression_tracker requirement).

No Critical/High/Medium findings. high_risk: false, gated_paths: false (so the REVIEW_REQUIRED status does not trigger row 2), no no-auto-approve team match, no prior decision. Rows 1–8 do not fire; falls through to row 9 → approve.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant