Skip to content

feat(compliance): add DOOH sales profile - #6619

Open
bokelley wants to merge 1 commit into
mainfrom
dooh-spec-feedback
Open

feat(compliance): add DOOH sales profile#6619
bokelley wants to merge 1 commit into
mainfrom
dooh-spec-feedback

Conversation

@bokelley

Copy link
Copy Markdown
Contributor

Summary

  • add a precise sales-dooh specialism for non-guaranteed DOOH, using existing Product, placement, canonical-format, plays, and dooh_metrics contracts rather than a new Product subtype
  • add a DOOH implementation guide and executable sandbox storyboard with exact product selection, optional product preflight, accepted creative sync, and deterministic delivery reconciliation at package and totals grain
  • keep vendor-defined attention optional, document the remaining machine-readable auction loop/allocation gap, and clarify safe legacy-format canonicalization for pass-through sources
  • add a 128 KiB MCP interoperability target, allow terse text summaries beside authoritative structuredContent, and align reference producers so payloads are not duplicated
  • clarify that sandbox semantics are account-bound: natural keys repeat sandbox: true; account IDs select preverified sandbox accounts and cannot convert live accounts

Review focus

  • Is sales-dooh correctly scoped as the non-guaranteed channel profile, with guaranteed-only DOOH continuing to use sales-guaranteed?
  • Should auction-based DOOH gain a future typed loop/allocation contract beyond today’s Product/placement/measurement fields?
  • Is 128 KiB the right recommended interoperability target for pageable/projectable MCP reads and tools/list pages?

Validation

  • three expert design/review passes; final reviews found no blockers
  • pre-commit: 437 files, 6,175 tests passed, 30 skipped; typecheck passed
  • schema, OpenAPI, changeset-scope, storyboard request/response/path, compliance build, MCP projection, examples, and docs navigation checks passed
  • push gate: current and AdCP 3.0 compatibility storyboard matrices passed for all tenants

@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: Escalate to human review

Escalate — gated-path change requires human/CODEOWNERS approval.

This PR modifies protocol source files under static/schemas/source/** (comply-test-controller-request.json, comply-test-controller-response.json, enums/specialism.json), which are under the repo's hard, path-based approval gate (gated_paths: true). The current review_decision is REVIEW_REQUIRED, not APPROVED, so per decision rule row 2 the gate is not satisfied and the outcome must be escalate.

The reviewer found no blocking or medium findings: the change is purely additive (new sales-dooh specialism plus plays/dooh_metrics delivery-simulation support and an MCP content[].text de-duplication). Enum, docs, OpenAPI registry, taxonomy, and SPECIALISM_CATALOG are coherent; the minor changeset matches the additive, no-wire-removal surface; dooh_metrics uses allOf+$ref rather than a new undiscriminated oneOf; and the load-bearing single-package delivery checks are covered, including a new multi-package rejection test. The diff appears clean on the merits.

No critical/high/medium findings were surfaced, so this is not request-changes. But the gated-path approval gate stands until a human/CODEOWNERS approval flips review_decision to APPROVED.

Escalation reasons:

  • Modifies gated protocol-source files under static/schemas/source/** — human/CODEOWNERS review required before merge (review_decision is REVIEW_REQUIRED, not APPROVED).

Why human review

  • Modifies gated files under static/schemas/source/** (comply-test-controller-request.json, comply-test-controller-response.json, enums/specialism.json) with review_decision=REVIEW_REQUIRED — human/CODEOWNERS approval required (decision rule row 2).
  • This PR touches a path under a hard, non-overridable approval gate (static/schemas/source/compliance/comply-test-controller-request.json (modified) matches static/schemas/source/**; static/schemas/source/compliance/comply-test-controller-response.json (modified) matches static/schemas/source/**; static/schemas/source/enums/specialism.json (modified) matches static/schemas/source/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@aao-secretariat aao-secretariat Bot added the ladon/needs-human-review Ladon has escalated this PR for human review. label Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ladon/needs-human-review Ladon has escalated this PR for human review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant