@adcp/client 4.22.1 → 4.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/testing/compliance/comply.d.ts +22 -5
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
- package/dist/lib/testing/compliance/comply.js +242 -276
- package/dist/lib/testing/compliance/comply.js.map +1 -1
- package/dist/lib/testing/compliance/index.d.ts +1 -0
- package/dist/lib/testing/compliance/index.d.ts.map +1 -1
- package/dist/lib/testing/compliance/index.js +6 -1
- package/dist/lib/testing/compliance/index.js.map +1 -1
- package/dist/lib/testing/compliance/platform-storyboards.d.ts +44 -0
- package/dist/lib/testing/compliance/platform-storyboards.d.ts.map +1 -0
- package/dist/lib/testing/compliance/platform-storyboards.js +230 -0
- package/dist/lib/testing/compliance/platform-storyboards.js.map +1 -0
- package/dist/lib/testing/compliance/storyboard-tracks.d.ts +2 -9
- package/dist/lib/testing/compliance/storyboard-tracks.d.ts.map +1 -1
- package/dist/lib/testing/compliance/storyboard-tracks.js +4 -44
- package/dist/lib/testing/compliance/storyboard-tracks.js.map +1 -1
- package/dist/lib/testing/index.d.ts +1 -1
- package/dist/lib/testing/index.d.ts.map +1 -1
- package/dist/lib/testing/index.js +6 -1
- package/dist/lib/testing/index.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +241 -2
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +1 -1
- package/dist/lib/types/schemas.generated.d.ts +3380 -3154
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +220 -115
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +267 -74
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/docs/llms.txt +46 -30
- package/package.json +1 -1
- package/storyboards/audience_sync.yaml +18 -29
- package/storyboards/behavioral_analysis.yaml +40 -72
- package/storyboards/brand_rights.yaml +172 -75
- package/storyboards/campaign_governance_conditions.yaml +187 -0
- package/storyboards/campaign_governance_delivery.yaml +231 -0
- package/storyboards/campaign_governance_denied.yaml +135 -0
- package/storyboards/capability_discovery.yaml +106 -0
- package/storyboards/content_standards.yaml +251 -0
- package/storyboards/creative_ad_server.yaml +108 -16
- package/storyboards/creative_lifecycle.yaml +284 -0
- package/storyboards/creative_sales_agent.yaml +2 -6
- package/storyboards/creative_template.yaml +1 -5
- package/storyboards/error_compliance.yaml +105 -108
- package/storyboards/media_buy_catalog_creative.yaml +6 -4
- package/storyboards/media_buy_governance_escalation.yaml +9 -5
- package/storyboards/media_buy_guaranteed_approval.yaml +9 -7
- package/storyboards/media_buy_non_guaranteed.yaml +7 -6
- package/storyboards/media_buy_proposal_mode.yaml +9 -8
- package/storyboards/media_buy_seller.yaml +153 -165
- package/storyboards/media_buy_state_machine.yaml +100 -99
- package/storyboards/property_governance.yaml +239 -0
- package/storyboards/schema.yaml +2 -2
- package/storyboards/schema_validation.yaml +58 -51
- package/storyboards/si_session.yaml +99 -317
- package/storyboards/signal_marketplace.yaml +6 -5
- package/storyboards/signal_owned.yaml +5 -5
- package/storyboards/social_platform.yaml +274 -0
- package/storyboards/governance_content_standards.yaml +0 -213
- package/storyboards/governance_property_lists.yaml +0 -372
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
id: social_platform
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
title: "Social platform"
|
|
4
|
+
category: social_platform
|
|
5
|
+
summary: "Social media platform that accepts audience segments, native creatives, and conversion events from buyer agents."
|
|
6
|
+
track: audiences
|
|
7
|
+
required_tools:
|
|
8
|
+
- sync_audiences
|
|
9
|
+
|
|
10
|
+
narrative: |
|
|
11
|
+
You run a social media platform — Snap, Meta, TikTok, Pinterest, or any walled garden that
|
|
12
|
+
sells advertising through audience-based targeting and native creative formats. A buyer agent
|
|
13
|
+
connects to set up an account, push audience segments, sync native creatives, track conversion
|
|
14
|
+
events, and monitor spend.
|
|
15
|
+
|
|
16
|
+
Unlike open-web media buys, social platforms require the buyer to push assets into the
|
|
17
|
+
platform's environment. Audiences are activated via sync_audiences, creatives are pushed via
|
|
18
|
+
sync_creatives in platform-native formats, and conversion events flow back via log_event.
|
|
19
|
+
|
|
20
|
+
This storyboard covers the social platform integration from the buyer's perspective:
|
|
21
|
+
account setup, audience activation, native creative push, event tracking, and financial
|
|
22
|
+
monitoring.
|
|
23
|
+
|
|
24
|
+
agent:
|
|
25
|
+
interaction_model: media_buy_seller
|
|
26
|
+
capabilities:
|
|
27
|
+
- sells_media
|
|
28
|
+
- accepts_briefs
|
|
29
|
+
- supports_non_guaranteed
|
|
30
|
+
examples:
|
|
31
|
+
- "Snap"
|
|
32
|
+
- "Meta"
|
|
33
|
+
- "TikTok"
|
|
34
|
+
- "Pinterest"
|
|
35
|
+
|
|
36
|
+
caller:
|
|
37
|
+
role: buyer_agent
|
|
38
|
+
example: "Scope3 (DSP)"
|
|
39
|
+
|
|
40
|
+
prerequisites:
|
|
41
|
+
description: |
|
|
42
|
+
The caller needs a brand identity, operator credentials, audience segment definitions,
|
|
43
|
+
and native creative assets. The test kit provides a sample brand with creative assets
|
|
44
|
+
suitable for social formats.
|
|
45
|
+
test_kit: "test-kits/acme-outdoor.yaml"
|
|
46
|
+
|
|
47
|
+
phases:
|
|
48
|
+
- id: account_setup
|
|
49
|
+
title: "Account setup"
|
|
50
|
+
narrative: |
|
|
51
|
+
The buyer establishes an account with the social platform and verifies its status.
|
|
52
|
+
Social platforms often require advertiser verification before accepting ad spend.
|
|
53
|
+
|
|
54
|
+
steps:
|
|
55
|
+
- id: sync_accounts
|
|
56
|
+
title: "Register advertiser account"
|
|
57
|
+
narrative: |
|
|
58
|
+
The buyer registers their brand and operator with the social platform. The platform
|
|
59
|
+
provisions an advertiser account and returns its status. Social platforms may require
|
|
60
|
+
identity verification before the account goes active.
|
|
61
|
+
task: sync_accounts
|
|
62
|
+
schema_ref: "account/sync-accounts-request.json"
|
|
63
|
+
response_schema_ref: "account/sync-accounts-response.json"
|
|
64
|
+
doc_ref: "/accounts/tasks/sync_accounts"
|
|
65
|
+
stateful: true
|
|
66
|
+
expected: |
|
|
67
|
+
Return the advertiser account with:
|
|
68
|
+
- account_id: platform's identifier
|
|
69
|
+
- status: active or pending_approval (if verification required)
|
|
70
|
+
- account_scope: how the platform scopes this relationship
|
|
71
|
+
|
|
72
|
+
sample_request:
|
|
73
|
+
accounts:
|
|
74
|
+
- brand:
|
|
75
|
+
domain: "acmeoutdoor.com"
|
|
76
|
+
operator: "pinnacle-agency.com"
|
|
77
|
+
billing: "operator"
|
|
78
|
+
|
|
79
|
+
validations:
|
|
80
|
+
- check: response_schema
|
|
81
|
+
description: "Response matches sync-accounts-response.json schema"
|
|
82
|
+
- check: field_present
|
|
83
|
+
path: "accounts[0].account_id"
|
|
84
|
+
description: "Account has a platform-assigned ID"
|
|
85
|
+
|
|
86
|
+
- id: list_accounts
|
|
87
|
+
title: "Verify account status"
|
|
88
|
+
narrative: |
|
|
89
|
+
The buyer checks which accounts exist on the platform and their current status.
|
|
90
|
+
This confirms the account is active and shows any pending setup requirements.
|
|
91
|
+
task: list_accounts
|
|
92
|
+
schema_ref: "account/list-accounts-request.json"
|
|
93
|
+
response_schema_ref: "account/list-accounts-response.json"
|
|
94
|
+
doc_ref: "/accounts/tasks/list_accounts"
|
|
95
|
+
stateful: true
|
|
96
|
+
expected: |
|
|
97
|
+
Return accounts matching the query:
|
|
98
|
+
- accounts array with status, account_id, brand, operator
|
|
99
|
+
- Active accounts ready for ad operations
|
|
100
|
+
- Pending accounts with setup URLs if verification needed
|
|
101
|
+
|
|
102
|
+
sample_request:
|
|
103
|
+
brand:
|
|
104
|
+
domain: "acmeoutdoor.com"
|
|
105
|
+
|
|
106
|
+
validations:
|
|
107
|
+
- check: response_schema
|
|
108
|
+
description: "Response matches list-accounts-response.json schema"
|
|
109
|
+
- check: field_present
|
|
110
|
+
path: "accounts"
|
|
111
|
+
description: "Response contains accounts array"
|
|
112
|
+
|
|
113
|
+
- id: audience_sync
|
|
114
|
+
title: "Audience activation"
|
|
115
|
+
narrative: |
|
|
116
|
+
The buyer pushes audience segments to the platform. Social platforms use these segments
|
|
117
|
+
for targeting — the buyer defines who to reach, and the platform matches against its
|
|
118
|
+
user base.
|
|
119
|
+
|
|
120
|
+
steps:
|
|
121
|
+
- id: sync_audiences
|
|
122
|
+
title: "Push audience segments"
|
|
123
|
+
narrative: |
|
|
124
|
+
The buyer syncs audience segment definitions to the platform. Each segment includes
|
|
125
|
+
targeting criteria that the platform evaluates against its user graph. The platform
|
|
126
|
+
returns match rates and segment status.
|
|
127
|
+
task: sync_audiences
|
|
128
|
+
schema_ref: "media-buy/sync-audiences-request.json"
|
|
129
|
+
response_schema_ref: "media-buy/sync-audiences-response.json"
|
|
130
|
+
doc_ref: "/media-buy/task-reference/sync_audiences"
|
|
131
|
+
comply_scenario: sync_audiences
|
|
132
|
+
stateful: true
|
|
133
|
+
expected: |
|
|
134
|
+
Accept and process audience segments:
|
|
135
|
+
- Per-segment status: active, processing, or rejected
|
|
136
|
+
- Match rate estimates where available
|
|
137
|
+
- Platform-assigned segment IDs
|
|
138
|
+
|
|
139
|
+
sample_request:
|
|
140
|
+
account:
|
|
141
|
+
brand:
|
|
142
|
+
domain: "acmeoutdoor.com"
|
|
143
|
+
operator: "pinnacle-agency.com"
|
|
144
|
+
audiences:
|
|
145
|
+
- audience_id: "outdoor_enthusiasts_25_54"
|
|
146
|
+
name: "Outdoor enthusiasts 25-54"
|
|
147
|
+
description: "Adults 25-54 interested in hiking, camping, and outdoor gear"
|
|
148
|
+
|
|
149
|
+
validations:
|
|
150
|
+
- check: response_schema
|
|
151
|
+
description: "Response matches sync-audiences-response.json schema"
|
|
152
|
+
|
|
153
|
+
- id: creative_push
|
|
154
|
+
title: "Native creative sync"
|
|
155
|
+
narrative: |
|
|
156
|
+
The buyer pushes native creative assets to the platform. Social platforms render ads
|
|
157
|
+
in their native format — the buyer provides assets (images, headlines, descriptions)
|
|
158
|
+
and the platform assembles them into the native ad unit.
|
|
159
|
+
|
|
160
|
+
steps:
|
|
161
|
+
- id: sync_creatives
|
|
162
|
+
title: "Push native creative assets"
|
|
163
|
+
narrative: |
|
|
164
|
+
The buyer syncs creative assets for native ad formats. The platform validates
|
|
165
|
+
each creative against its format requirements and returns per-creative status.
|
|
166
|
+
task: sync_creatives
|
|
167
|
+
schema_ref: "creative/sync-creatives-request.json"
|
|
168
|
+
response_schema_ref: "creative/sync-creatives-response.json"
|
|
169
|
+
doc_ref: "/creative/task-reference/sync_creatives"
|
|
170
|
+
comply_scenario: creative_sync
|
|
171
|
+
stateful: true
|
|
172
|
+
expected: |
|
|
173
|
+
Accept and validate native creatives:
|
|
174
|
+
- Per-creative action: created or updated
|
|
175
|
+
- Per-creative status: accepted, pending_review, or rejected
|
|
176
|
+
- Validation errors for rejected creatives
|
|
177
|
+
|
|
178
|
+
sample_request:
|
|
179
|
+
account:
|
|
180
|
+
brand:
|
|
181
|
+
domain: "acmeoutdoor.com"
|
|
182
|
+
operator: "pinnacle-agency.com"
|
|
183
|
+
creatives:
|
|
184
|
+
- creative_id: "native_trail_pro"
|
|
185
|
+
name: "Trail Pro 3000 - Native"
|
|
186
|
+
format_id:
|
|
187
|
+
agent_url: "https://social-platform.example.com"
|
|
188
|
+
id: "native_feed"
|
|
189
|
+
assets:
|
|
190
|
+
- asset_id: "image"
|
|
191
|
+
asset_type: "image"
|
|
192
|
+
url: "https://cdn.pinnacle-agency.example/trail-pro-native.png"
|
|
193
|
+
mime_type: "image/png"
|
|
194
|
+
- asset_id: "headline"
|
|
195
|
+
asset_type: "text"
|
|
196
|
+
content: "Trail Pro 3000 — Built for the Summit"
|
|
197
|
+
|
|
198
|
+
validations:
|
|
199
|
+
- check: response_schema
|
|
200
|
+
description: "Response matches sync-creatives-response.json schema"
|
|
201
|
+
|
|
202
|
+
- id: event_logging
|
|
203
|
+
title: "Conversion event tracking"
|
|
204
|
+
narrative: |
|
|
205
|
+
The buyer sends conversion events back to the platform for measurement and optimization.
|
|
206
|
+
Events include purchases, signups, and other post-click actions that the platform uses
|
|
207
|
+
to optimize delivery and report on campaign performance.
|
|
208
|
+
|
|
209
|
+
steps:
|
|
210
|
+
- id: log_event
|
|
211
|
+
title: "Send conversion events"
|
|
212
|
+
narrative: |
|
|
213
|
+
The buyer logs conversion events that occurred after ad exposure. The platform
|
|
214
|
+
records these events for attribution, reporting, and delivery optimization.
|
|
215
|
+
task: log_event
|
|
216
|
+
schema_ref: "media-buy/log-event-request.json"
|
|
217
|
+
response_schema_ref: "media-buy/log-event-response.json"
|
|
218
|
+
doc_ref: "/media-buy/task-reference/log_event"
|
|
219
|
+
stateful: true
|
|
220
|
+
expected: |
|
|
221
|
+
Acknowledge the events:
|
|
222
|
+
- Per-event status: accepted or rejected
|
|
223
|
+
- Event IDs for deduplication
|
|
224
|
+
- Attribution window validation
|
|
225
|
+
|
|
226
|
+
sample_request:
|
|
227
|
+
account:
|
|
228
|
+
brand:
|
|
229
|
+
domain: "acmeoutdoor.com"
|
|
230
|
+
operator: "pinnacle-agency.com"
|
|
231
|
+
events:
|
|
232
|
+
- event_type: "purchase"
|
|
233
|
+
event_id: "evt_trail_pro_001"
|
|
234
|
+
timestamp: "2026-04-05T14:30:00Z"
|
|
235
|
+
value: 149.99
|
|
236
|
+
currency: "USD"
|
|
237
|
+
|
|
238
|
+
validations:
|
|
239
|
+
- check: response_schema
|
|
240
|
+
description: "Response matches log-event-response.json schema"
|
|
241
|
+
|
|
242
|
+
- id: financials
|
|
243
|
+
title: "Account financials"
|
|
244
|
+
narrative: |
|
|
245
|
+
The buyer checks account financials — spending, balance, and payment status. This is
|
|
246
|
+
essential for budget monitoring across multiple social platforms.
|
|
247
|
+
|
|
248
|
+
steps:
|
|
249
|
+
- id: get_account_financials
|
|
250
|
+
title: "Check account spending and balance"
|
|
251
|
+
narrative: |
|
|
252
|
+
The buyer retrieves financial information for the advertiser account. The platform
|
|
253
|
+
returns current spend, remaining balance, and payment status.
|
|
254
|
+
task: get_account_financials
|
|
255
|
+
schema_ref: "account/get-account-financials-request.json"
|
|
256
|
+
response_schema_ref: "account/get-account-financials-response.json"
|
|
257
|
+
doc_ref: "/accounts/tasks/get_account_financials"
|
|
258
|
+
stateful: true
|
|
259
|
+
expected: |
|
|
260
|
+
Return account financial data:
|
|
261
|
+
- Current spend to date
|
|
262
|
+
- Remaining balance or credit
|
|
263
|
+
- Payment status and terms
|
|
264
|
+
- Budget utilization metrics
|
|
265
|
+
|
|
266
|
+
sample_request:
|
|
267
|
+
account:
|
|
268
|
+
brand:
|
|
269
|
+
domain: "acmeoutdoor.com"
|
|
270
|
+
operator: "pinnacle-agency.com"
|
|
271
|
+
|
|
272
|
+
validations:
|
|
273
|
+
- check: response_schema
|
|
274
|
+
description: "Response matches get-account-financials-response.json schema"
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
id: governance_content_standards
|
|
2
|
-
version: "1.0.0"
|
|
3
|
-
title: "Governance content standards"
|
|
4
|
-
category: governance_content_standards
|
|
5
|
-
summary: "Content standards discovery, calibration, and delivery validation."
|
|
6
|
-
track: governance
|
|
7
|
-
required_tools:
|
|
8
|
-
- list_content_standards
|
|
9
|
-
|
|
10
|
-
narrative: |
|
|
11
|
-
You operate a governance agent that manages content standards — brand safety
|
|
12
|
-
configurations that define what content is acceptable for a brand's ads.
|
|
13
|
-
Buyer agents discover available standards, retrieve their details, calibrate
|
|
14
|
-
content against them, and validate delivery records for compliance.
|
|
15
|
-
|
|
16
|
-
This storyboard covers two concerns: discovering and inspecting content
|
|
17
|
-
standards, and the active calibration/validation workflow where the governance
|
|
18
|
-
agent evaluates content artifacts against those standards.
|
|
19
|
-
|
|
20
|
-
agent:
|
|
21
|
-
interaction_model: governance
|
|
22
|
-
capabilities:
|
|
23
|
-
- manages_content_standards
|
|
24
|
-
- brand_safety
|
|
25
|
-
- content_calibration
|
|
26
|
-
examples:
|
|
27
|
-
- "Brand safety verification platforms"
|
|
28
|
-
- "Content classification services"
|
|
29
|
-
- "Publisher quality assurance tools"
|
|
30
|
-
|
|
31
|
-
caller:
|
|
32
|
-
role: buyer_agent
|
|
33
|
-
example: "Scope3 (DSP)"
|
|
34
|
-
|
|
35
|
-
prerequisites:
|
|
36
|
-
description: |
|
|
37
|
-
The caller needs a brand identity and content artifacts (URLs) for
|
|
38
|
-
calibration and validation testing. The governance agent must have at
|
|
39
|
-
least one content standards configuration available.
|
|
40
|
-
test_kit: "test-kits/acme-outdoor.yaml"
|
|
41
|
-
|
|
42
|
-
phases:
|
|
43
|
-
- id: content_standards_discovery
|
|
44
|
-
title: "Content standards discovery"
|
|
45
|
-
narrative: |
|
|
46
|
-
The buyer discovers what content standards configurations are available
|
|
47
|
-
from the governance agent, then retrieves the details of a specific
|
|
48
|
-
standard. This is the read-only exploration phase before any calibration
|
|
49
|
-
or validation occurs.
|
|
50
|
-
|
|
51
|
-
steps:
|
|
52
|
-
- id: list_content_standards
|
|
53
|
-
title: "List available content standards"
|
|
54
|
-
narrative: |
|
|
55
|
-
The buyer asks the governance agent for all available content
|
|
56
|
-
standards configurations. These represent brand safety rule sets
|
|
57
|
-
that content can be evaluated against — GARM floor categories,
|
|
58
|
-
custom brand policies, or industry-specific compliance rules.
|
|
59
|
-
task: list_content_standards
|
|
60
|
-
stateful: false
|
|
61
|
-
expected: |
|
|
62
|
-
Return available content standards with:
|
|
63
|
-
- standards: array of content standards summaries
|
|
64
|
-
- Each standard has standards_id, name, and optionally provider
|
|
65
|
-
sample_request:
|
|
66
|
-
context: "Discover available brand safety configurations"
|
|
67
|
-
max_results: 10
|
|
68
|
-
validations:
|
|
69
|
-
- check: response_schema
|
|
70
|
-
description: "Response matches list-content-standards response schema"
|
|
71
|
-
- check: field_present
|
|
72
|
-
path: "standards"
|
|
73
|
-
description: "Response contains a standards array"
|
|
74
|
-
context_outputs:
|
|
75
|
-
- path: "standards[0].standards_id"
|
|
76
|
-
key: "standards_id"
|
|
77
|
-
|
|
78
|
-
- id: get_content_standards
|
|
79
|
-
title: "Get content standards detail"
|
|
80
|
-
requires_tool: get_content_standards
|
|
81
|
-
narrative: |
|
|
82
|
-
The buyer retrieves full details of a specific content standards
|
|
83
|
-
configuration discovered in the previous step. The response includes
|
|
84
|
-
the complete rule set — categories, thresholds, and feature
|
|
85
|
-
definitions that the governance agent uses to evaluate content.
|
|
86
|
-
task: get_content_standards
|
|
87
|
-
stateful: true
|
|
88
|
-
expected: |
|
|
89
|
-
Return the content standards configuration with:
|
|
90
|
-
- standards_id: matches the requested ID
|
|
91
|
-
- name: human-readable label
|
|
92
|
-
- features: array of evaluation criteria
|
|
93
|
-
sample_request:
|
|
94
|
-
standards_id: "$context.standards_id"
|
|
95
|
-
context_inputs:
|
|
96
|
-
- key: "standards_id"
|
|
97
|
-
inject_at: "standards_id"
|
|
98
|
-
validations:
|
|
99
|
-
- check: response_schema
|
|
100
|
-
description: "Response matches get-content-standards response schema"
|
|
101
|
-
- check: field_present
|
|
102
|
-
path: "standards_id"
|
|
103
|
-
description: "Response contains the standards ID"
|
|
104
|
-
|
|
105
|
-
- id: get_invalid_content_standards
|
|
106
|
-
title: "Get invalid content standards (error expected)"
|
|
107
|
-
requires_tool: get_content_standards
|
|
108
|
-
narrative: |
|
|
109
|
-
The buyer requests a content standards configuration that does not
|
|
110
|
-
exist. The governance agent should reject the request with an error,
|
|
111
|
-
rather than returning empty or fabricated data.
|
|
112
|
-
task: get_content_standards
|
|
113
|
-
stateful: false
|
|
114
|
-
expect_error: true
|
|
115
|
-
expected: |
|
|
116
|
-
Return an error indicating the standards ID does not exist.
|
|
117
|
-
sample_request:
|
|
118
|
-
standards_id: "INVALID_STANDARDS_ID_DOES_NOT_EXIST_12345"
|
|
119
|
-
validations:
|
|
120
|
-
- check: error_code
|
|
121
|
-
value: "not_found"
|
|
122
|
-
description: "Agent rejects an invalid standards_id"
|
|
123
|
-
|
|
124
|
-
- id: content_calibration
|
|
125
|
-
title: "Content calibration and delivery validation"
|
|
126
|
-
requires_tool: calibrate_content
|
|
127
|
-
narrative: |
|
|
128
|
-
With a content standards configuration identified, the buyer submits
|
|
129
|
-
content artifacts for calibration — asking the governance agent to
|
|
130
|
-
evaluate whether specific pages or content items meet the brand safety
|
|
131
|
-
requirements. After calibration, the buyer validates delivery records
|
|
132
|
-
to confirm that ads were served alongside compliant content.
|
|
133
|
-
|
|
134
|
-
steps:
|
|
135
|
-
- id: calibrate_content
|
|
136
|
-
title: "Calibrate content against standards"
|
|
137
|
-
narrative: |
|
|
138
|
-
The buyer submits content artifacts (web pages, articles) for
|
|
139
|
-
evaluation against a specific content standards configuration.
|
|
140
|
-
The governance agent classifies each artifact and returns
|
|
141
|
-
calibration results — pass/fail per artifact, with scores or
|
|
142
|
-
category assignments.
|
|
143
|
-
task: calibrate_content
|
|
144
|
-
stateful: true
|
|
145
|
-
expected: |
|
|
146
|
-
Return calibration results with:
|
|
147
|
-
- session_id: identifier for this calibration session
|
|
148
|
-
- session_status: completed or in_progress
|
|
149
|
-
- Per-artifact evaluation results (pending or evaluated)
|
|
150
|
-
sample_request:
|
|
151
|
-
context: "Evaluate sample content for brand safety"
|
|
152
|
-
standards_id: "$context.standards_id"
|
|
153
|
-
artifacts:
|
|
154
|
-
- artifact_id: "test-artifact-1"
|
|
155
|
-
artifact_type: "webpage"
|
|
156
|
-
url: "https://example.com/article/safe-content"
|
|
157
|
-
title: "Safe Test Article"
|
|
158
|
-
- artifact_id: "test-artifact-2"
|
|
159
|
-
artifact_type: "webpage"
|
|
160
|
-
url: "https://example.com/article/test-content"
|
|
161
|
-
title: "Another Test Article"
|
|
162
|
-
feedback_type: "binary"
|
|
163
|
-
context_inputs:
|
|
164
|
-
- key: "standards_id"
|
|
165
|
-
inject_at: "standards_id"
|
|
166
|
-
validations:
|
|
167
|
-
- check: response_schema
|
|
168
|
-
description: "Response matches calibrate-content response schema"
|
|
169
|
-
- check: field_present
|
|
170
|
-
path: "session_id"
|
|
171
|
-
description: "Response contains a calibration session ID"
|
|
172
|
-
context_outputs:
|
|
173
|
-
- path: "session_id"
|
|
174
|
-
key: "calibration_session_id"
|
|
175
|
-
|
|
176
|
-
- id: validate_content_delivery
|
|
177
|
-
title: "Validate content delivery records"
|
|
178
|
-
requires_tool: validate_content_delivery
|
|
179
|
-
narrative: |
|
|
180
|
-
The buyer submits delivery records — evidence that ads were served
|
|
181
|
-
alongside specific content — for compliance validation. The
|
|
182
|
-
governance agent checks each record against the content standards
|
|
183
|
-
and returns pass/fail results with a summary.
|
|
184
|
-
task: validate_content_delivery
|
|
185
|
-
stateful: true
|
|
186
|
-
expected: |
|
|
187
|
-
Return validation results with:
|
|
188
|
-
- summary.total_records: number of records validated
|
|
189
|
-
- summary.passed_records: number that met standards
|
|
190
|
-
- summary.failed_records: number that did not meet standards
|
|
191
|
-
- Per-record validation details
|
|
192
|
-
sample_request:
|
|
193
|
-
context: "Validate delivery records against content standards"
|
|
194
|
-
standards_id: "$context.standards_id"
|
|
195
|
-
records:
|
|
196
|
-
- record_id: "test-record-1"
|
|
197
|
-
artifact:
|
|
198
|
-
artifact_id: "test-artifact-1"
|
|
199
|
-
artifact_type: "webpage"
|
|
200
|
-
url: "https://example.com/article/delivered-content"
|
|
201
|
-
delivered_at: "2026-04-01T12:00:00Z"
|
|
202
|
-
context_inputs:
|
|
203
|
-
- key: "standards_id"
|
|
204
|
-
inject_at: "standards_id"
|
|
205
|
-
validations:
|
|
206
|
-
- check: response_schema
|
|
207
|
-
description: "Response matches validate-content-delivery response schema"
|
|
208
|
-
- check: field_present
|
|
209
|
-
path: "summary"
|
|
210
|
-
description: "Response contains a validation summary"
|
|
211
|
-
- check: field_present
|
|
212
|
-
path: "summary.total_records"
|
|
213
|
-
description: "Summary includes total record count"
|