Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .changeset/normalize-storyboard-brand-and-account.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
---

Storyboard consistency pass across `static/compliance/source/`:

- Normalize brand and agency domains to the RFC 2606 `.example` TLD: `acmeoutdoor.com` → `acmeoutdoor.example`, `amsterdam-steakhouse.com` → `amsterdam-steakhouse.example`, `pinnacle-agency.com` → `pinnacle-agency.example`, and fix the `acme-outdoor.example.com` typo (#2530).
- Fix `operator: <brand.domain>` in property-lists and collection-lists specialisms — these are meant to demonstrate an agency operating on behalf of a brand, not the brand operating directly. Use `pinnacle-agency.example` (#2533).
- Standardize buyer-side storyboards on the expressive `account: { brand, operator }` shape. Where steps already had an `account` block, drop the redundant top-level `brand`; otherwise promote the top-level `brand` into an `account` wrapper with `operator: "pinnacle-agency.example"` (#2528).

Purely mechanical: no runtime behavior change, both shapes still resolve to the same session key via `sessionKeyFromArgs`.
32 changes: 16 additions & 16 deletions static/compliance/source/protocols/governance/index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@ phases:
sample_request:
accounts:
- brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
billing: "operator"
payment_terms: "net_30"

Expand Down Expand Up @@ -148,8 +148,8 @@ phases:
accounts:
- account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
governance_agents:
- url: "https://governance.pinnacle-agency.example"
authentication:
Expand Down Expand Up @@ -206,7 +206,7 @@ phases:
plans:
- plan_id: "gov_acme_q2_2027"
brand:
domain: "acmeoutdoor.com"
domain: "acmeoutdoor.example"
objectives: "Q2 outdoor lifestyle campaign — display and video, Adults 25-54, US"
budget:
total: 50000
Expand Down Expand Up @@ -273,11 +273,11 @@ phases:
buying_mode: "brief"
brief: "Premium CTV and video on sports publishers. Q2 flight, $50K budget. Adults 25-54, US."
brand:
domain: "acmeoutdoor.com"
domain: "acmeoutdoor.example"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"

context:
correlation_id: "media_buy_governance_escalation--get_products_brief"
Expand Down Expand Up @@ -343,8 +343,8 @@ phases:
type: "media_buy"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
total_budget: 50000
packages:
- product_id: "sports_ctv_q2"
Expand Down Expand Up @@ -411,16 +411,16 @@ phases:
type: "media_buy"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
total_budget: 50000
packages:
- product_id: "sports_ctv_q2"
budget: 30000
- product_id: "outdoor_video_q2"
budget: 20000
human_approval:
approved_by: "jsmith@pinnacle-agency.com"
approved_by: "jsmith@pinnacle-agency.example"
approved_at: "2026-04-03T14:22:00Z"
conditions:
- "Weekly delivery reporting required"
Expand Down Expand Up @@ -484,10 +484,10 @@ phases:
sample_request:
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
brand:
domain: "acmeoutdoor.com"
domain: "acmeoutdoor.example"
governance_context: "gov_ctx_acme_q2_approved"
start_time: "2026-04-01T00:00:00Z"
end_time: "2026-06-30T23:59:59Z"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ phases:
url: "https://test-assets.adcontextprotocol.org/acme-outdoor/hero-master.jpg"
click_url:
asset_type: "url"
url: "https://acme-outdoor.example.com/summer-sale"
url: "https://acmeoutdoor.example/summer-sale"

idempotency_key: "$generate:uuid_v4#creative_sales_agent_push_creatives_sync_creatives"
context:
Expand Down
34 changes: 16 additions & 18 deletions static/compliance/source/protocols/media-buy/index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ phases:
sample_request:
accounts:
- brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
billing: "operator"
payment_terms: "net_30"
idempotency_key: "$generate:uuid_v4#media_buy_seller_account_setup_sync_accounts"
Expand Down Expand Up @@ -185,8 +185,8 @@ phases:
accounts:
- account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
governance_agents:
- url: "https://governance.pinnacle-agency.example"
authentication:
Expand Down Expand Up @@ -258,12 +258,10 @@ phases:
sample_request:
buying_mode: "brief"
brief: "Premium video inventory on sports and outdoor lifestyle publishers. Q2 flight, $50K budget. Adults 25-54, US and Canada."
brand:
domain: "acmeoutdoor.com"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
context:
correlation_id: "media_buy_seller--get_products_brief"

Expand Down Expand Up @@ -373,12 +371,12 @@ phases:
- Used only when the seller needs the buyer to respond (e.g., confirm a budget). If the blocker is account-level (credit application, funding), the resolution path is list_accounts / sync_accounts, where account.setup.url surfaces on the pending_approval account

sample_request:
brand:
domain: "acmeoutdoor.example"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
brand:
domain: "acmeoutdoor.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
start_time: "2026-04-01T00:00:00Z"
end_time: "2026-06-30T23:59:59Z"
packages:
Expand Down Expand Up @@ -444,8 +442,8 @@ phases:
sample_request:
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
media_buy_ids:
- "mb_acme_q2_2026"
context:
Expand Down Expand Up @@ -554,8 +552,8 @@ phases:
sample_request:
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
creatives:
- creative_id: "video_30s_trail_pro"
name: "Trail Pro 3000 - 30s CTV Spot"
Expand Down Expand Up @@ -629,8 +627,8 @@ phases:
sample_request:
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
media_buy_ids:
- "mb_acme_q2_2026"
include_package_daily_breakdown: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ phases:
sample_request:
accounts:
- brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
billing: "operator"
payment_terms: "net_30"
idempotency_key: "$generate:uuid_v4#media_buy_seller_delivery_reporting_setup_sync_accounts"
Expand All @@ -79,12 +79,10 @@ phases:
sample_request:
buying_mode: "brief"
brief: "Display and video inventory on outdoor lifestyle content. Q2 flight, $25K budget. Adults 25-54, US."
brand:
domain: "acmeoutdoor.com"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
validations:
- check: response_schema
description: "Response matches get-products-response.json schema"
Expand All @@ -103,12 +101,12 @@ phases:
expected: |
Create the media buy. We need a media_buy_id to simulate delivery against.
sample_request:
brand:
domain: "acmeoutdoor.example"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
brand:
domain: "acmeoutdoor.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
start_time: "2026-04-01T00:00:00Z"
end_time: "2026-06-30T23:59:59Z"
packages:
Expand Down Expand Up @@ -169,8 +167,8 @@ phases:
sample_request:
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
media_buy_ids:
- "$context.media_buy_id"
include_package_daily_breakdown: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ phases:
plans:
- plan_id: "comply-gov-approved-plan"
brand:
domain: "acmeoutdoor.com"
domain: "acmeoutdoor.example"
objectives: "Q2 outdoor lifestyle campaign — display and video"
budget:
total: 100000
Expand Down Expand Up @@ -88,8 +88,8 @@ phases:
sample_request:
accounts:
- brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
billing: "operator"
payment_terms: "net_30"
idempotency_key: "$generate:uuid_v4#media_buy_seller_governance_approved_seller_setup_sync_accounts"
Expand All @@ -113,8 +113,8 @@ phases:
accounts:
- account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
governance_agents:
- url: "$context.governance_agent_url"
categories: ["budget_authority", "brand_policy"]
Expand All @@ -139,12 +139,10 @@ phases:
sample_request:
buying_mode: "brief"
brief: "Display and video inventory on outdoor lifestyle content. Q2 flight, $25K budget. Adults 25-54, US."
brand:
domain: "acmeoutdoor.com"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
validations:
- check: response_schema
description: "Response matches get-products-response.json schema"
Expand All @@ -164,12 +162,12 @@ phases:
The buy succeeds — governance approved because the $25K buy is within
the plan's $100K budget.
sample_request:
brand:
domain: "acmeoutdoor.example"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
brand:
domain: "acmeoutdoor.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
start_time: "2026-04-01T00:00:00Z"
end_time: "2026-06-30T23:59:59Z"
packages:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ phases:
plans:
- plan_id: "comply-gov-conditions-plan"
brand:
domain: "acmeoutdoor.com"
domain: "acmeoutdoor.example"
objectives: "Q2 CTV campaign with reporting requirements"
budget:
total: 100000
Expand Down Expand Up @@ -97,8 +97,8 @@ phases:
sample_request:
accounts:
- brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
billing: "operator"
payment_terms: "net_30"
idempotency_key: "$generate:uuid_v4#media_buy_seller_governance_conditions_seller_setup_sync_accounts"
Expand All @@ -122,8 +122,8 @@ phases:
accounts:
- account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
governance_agents:
- url: "$context.governance_agent_url"
categories: ["budget_authority", "brand_policy"]
Expand All @@ -148,12 +148,10 @@ phases:
sample_request:
buying_mode: "brief"
brief: "CTV and connected TV inventory on outdoor lifestyle content. Q2 flight, $25K budget. Adults 25-54, US."
brand:
domain: "acmeoutdoor.com"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
validations:
- check: response_schema
description: "Response matches get-products-response.json schema"
Expand All @@ -176,12 +174,12 @@ phases:
- governance_context: token from the governance agent
- conditions visible to the buyer
sample_request:
brand:
domain: "acmeoutdoor.example"
account:
brand:
domain: "acmeoutdoor.com"
operator: "pinnacle-agency.com"
brand:
domain: "acmeoutdoor.com"
domain: "acmeoutdoor.example"
operator: "pinnacle-agency.example"
start_time: "2026-04-01T00:00:00Z"
end_time: "2026-06-30T23:59:59Z"
packages:
Expand Down
Loading
Loading