@adcp/sdk 6.9.0 → 6.11.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.
Files changed (261) hide show
  1. package/bin/adcp.js +285 -5
  2. package/compliance/cache/3.0.6.previous/domains/brand/index.yaml +163 -0
  3. package/compliance/cache/3.0.6.previous/domains/creative/index.yaml +412 -0
  4. package/compliance/cache/3.0.6.previous/domains/governance/index.yaml +683 -0
  5. package/compliance/cache/3.0.6.previous/domains/media-buy/creative-reception.yaml +247 -0
  6. package/compliance/cache/3.0.6.previous/domains/media-buy/index.yaml +769 -0
  7. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/create_media_buy_async.yaml +232 -0
  8. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  9. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/delivery_reporting.yaml +205 -0
  10. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_approved.yaml +211 -0
  11. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_conditions.yaml +196 -0
  12. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_denied.yaml +192 -0
  13. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
  14. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/invalid_transitions.yaml +284 -0
  15. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  16. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/inventory_list_targeting.yaml +271 -0
  17. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
  18. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  19. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/proposal_finalize.yaml +243 -0
  20. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/refine_products.yaml +148 -0
  21. package/compliance/cache/3.0.6.previous/domains/media-buy/state-machine.yaml +442 -0
  22. package/compliance/cache/3.0.6.previous/domains/signals/index.yaml +266 -0
  23. package/compliance/cache/3.0.6.previous/domains/sponsored-intelligence/index.yaml +256 -0
  24. package/compliance/cache/3.0.6.previous/index.json +324 -0
  25. package/compliance/cache/3.0.6.previous/protocols/brand/index.yaml +163 -0
  26. package/compliance/cache/3.0.6.previous/protocols/creative/index.yaml +412 -0
  27. package/compliance/cache/3.0.6.previous/protocols/governance/index.yaml +683 -0
  28. package/compliance/cache/3.0.6.previous/protocols/media-buy/creative-reception.yaml +247 -0
  29. package/compliance/cache/3.0.6.previous/protocols/media-buy/index.yaml +769 -0
  30. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/create_media_buy_async.yaml +232 -0
  31. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  32. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/delivery_reporting.yaml +205 -0
  33. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_approved.yaml +211 -0
  34. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_conditions.yaml +196 -0
  35. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_denied.yaml +192 -0
  36. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
  37. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/invalid_transitions.yaml +284 -0
  38. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  39. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/inventory_list_targeting.yaml +271 -0
  40. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
  41. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  42. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/proposal_finalize.yaml +243 -0
  43. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/refine_products.yaml +148 -0
  44. package/compliance/cache/3.0.6.previous/protocols/media-buy/state-machine.yaml +442 -0
  45. package/compliance/cache/3.0.6.previous/protocols/signals/index.yaml +266 -0
  46. package/compliance/cache/3.0.6.previous/protocols/sponsored-intelligence/index.yaml +256 -0
  47. package/compliance/cache/3.0.6.previous/specialisms/audience-sync/index.yaml +280 -0
  48. package/compliance/cache/3.0.6.previous/specialisms/brand-rights/index.yaml +350 -0
  49. package/compliance/cache/3.0.6.previous/specialisms/brand-rights/scenarios/governance_denied.yaml +204 -0
  50. package/compliance/cache/3.0.6.previous/specialisms/collection-lists/index.yaml +359 -0
  51. package/compliance/cache/3.0.6.previous/specialisms/content-standards/index.yaml +572 -0
  52. package/compliance/cache/3.0.6.previous/specialisms/creative-ad-server/index.yaml +383 -0
  53. package/compliance/cache/3.0.6.previous/specialisms/creative-generative/generative-seller.yaml +758 -0
  54. package/compliance/cache/3.0.6.previous/specialisms/creative-generative/index.yaml +746 -0
  55. package/compliance/cache/3.0.6.previous/specialisms/creative-template/index.yaml +413 -0
  56. package/compliance/cache/3.0.6.previous/specialisms/governance-aware-seller/index.yaml +136 -0
  57. package/compliance/cache/3.0.6.previous/specialisms/governance-delivery-monitor/index.yaml +441 -0
  58. package/compliance/cache/3.0.6.previous/specialisms/governance-spend-authority/denied.yaml +221 -0
  59. package/compliance/cache/3.0.6.previous/specialisms/governance-spend-authority/index.yaml +330 -0
  60. package/compliance/cache/3.0.6.previous/specialisms/property-lists/index.yaml +482 -0
  61. package/compliance/cache/3.0.6.previous/specialisms/sales-broadcast-tv/index.yaml +689 -0
  62. package/compliance/cache/3.0.6.previous/specialisms/sales-catalog-driven/index.yaml +779 -0
  63. package/compliance/cache/3.0.6.previous/specialisms/sales-guaranteed/index.yaml +504 -0
  64. package/compliance/cache/3.0.6.previous/specialisms/sales-non-guaranteed/index.yaml +428 -0
  65. package/compliance/cache/3.0.6.previous/specialisms/sales-proposal-mode/index.yaml +520 -0
  66. package/compliance/cache/3.0.6.previous/specialisms/sales-social/index.yaml +584 -0
  67. package/compliance/cache/3.0.6.previous/specialisms/signal-marketplace/index.yaml +415 -0
  68. package/compliance/cache/3.0.6.previous/specialisms/signal-marketplace/scenarios/governance_denied.yaml +207 -0
  69. package/compliance/cache/3.0.6.previous/specialisms/signal-owned/index.yaml +316 -0
  70. package/compliance/cache/3.0.6.previous/test-kits/acme-outdoor.yaml +210 -0
  71. package/compliance/cache/3.0.6.previous/test-kits/bistro-oranje.yaml +126 -0
  72. package/compliance/cache/3.0.6.previous/test-kits/nova-motors.yaml +262 -0
  73. package/compliance/cache/3.0.6.previous/test-kits/osei-natural.yaml +126 -0
  74. package/compliance/cache/3.0.6.previous/test-kits/signed-requests-runner.yaml +155 -0
  75. package/compliance/cache/3.0.6.previous/test-kits/substitution-observer-runner.yaml +690 -0
  76. package/compliance/cache/3.0.6.previous/test-kits/summit-foods.yaml +125 -0
  77. package/compliance/cache/3.0.6.previous/test-kits/webhook-receiver-runner.yaml +265 -0
  78. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/001-minimal-plan.json +43 -0
  79. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/002-full-plan.json +217 -0
  80. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
  81. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
  82. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
  83. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
  84. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
  85. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
  86. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
  87. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
  88. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
  89. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/README.md +219 -0
  90. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/canonicalization.json +241 -0
  91. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/keys.json +60 -0
  92. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
  93. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
  94. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
  95. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
  96. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
  97. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
  98. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
  99. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
  100. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
  101. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
  102. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
  103. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
  104. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
  105. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
  106. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
  107. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
  108. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
  109. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
  110. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
  111. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
  112. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
  113. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
  114. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
  115. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
  116. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
  117. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
  118. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
  119. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/001-basic-post.json +30 -0
  120. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
  121. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/003-es256-post.json +30 -0
  122. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
  123. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
  124. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
  125. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
  126. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
  127. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
  128. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
  129. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
  130. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
  131. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/README.md +211 -0
  132. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/keys.json +61 -0
  133. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
  134. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
  135. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
  136. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
  137. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
  138. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
  139. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
  140. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
  141. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
  142. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
  143. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
  144. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
  145. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
  146. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
  147. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
  148. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
  149. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
  150. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
  151. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
  152. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
  153. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
  154. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
  155. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
  156. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
  157. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
  158. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
  159. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
  160. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
  161. package/compliance/cache/3.0.6.previous/universal/capability-discovery.yaml +125 -0
  162. package/compliance/cache/3.0.6.previous/universal/collection-lists-pagination-integrity.yaml +306 -0
  163. package/compliance/cache/3.0.6.previous/universal/content-standards-pagination-integrity.yaml +326 -0
  164. package/compliance/cache/3.0.6.previous/universal/deterministic-testing.yaml +1343 -0
  165. package/compliance/cache/3.0.6.previous/universal/error-compliance.yaml +474 -0
  166. package/compliance/cache/3.0.6.previous/universal/fictional-entities.yaml +307 -0
  167. package/compliance/cache/3.0.6.previous/universal/get-media-buys-pagination-integrity.yaml +160 -0
  168. package/compliance/cache/3.0.6.previous/universal/get-signals-pagination-integrity.yaml +211 -0
  169. package/compliance/cache/3.0.6.previous/universal/idempotency.yaml +593 -0
  170. package/compliance/cache/3.0.6.previous/universal/pagination-integrity-creative-formats.yaml +258 -0
  171. package/compliance/cache/3.0.6.previous/universal/pagination-integrity-list-accounts.yaml +262 -0
  172. package/compliance/cache/3.0.6.previous/universal/pagination-integrity.yaml +263 -0
  173. package/compliance/cache/3.0.6.previous/universal/property-lists-pagination-integrity.yaml +307 -0
  174. package/compliance/cache/3.0.6.previous/universal/runner-output-contract.yaml +358 -0
  175. package/compliance/cache/3.0.6.previous/universal/schema-validation.yaml +526 -0
  176. package/compliance/cache/3.0.6.previous/universal/security.yaml +431 -0
  177. package/compliance/cache/3.0.6.previous/universal/signed-requests.yaml +205 -0
  178. package/compliance/cache/3.0.6.previous/universal/storyboard-schema.yaml +1176 -0
  179. package/compliance/cache/3.0.6.previous/universal/v3-envelope-integrity.yaml +106 -0
  180. package/compliance/cache/3.0.6.previous/universal/webhook-emission.yaml +337 -0
  181. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  182. package/dist/lib/server/create-adcp-server.d.ts +33 -0
  183. package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
  184. package/dist/lib/server/create-adcp-server.js +127 -1
  185. package/dist/lib/server/create-adcp-server.js.map +1 -1
  186. package/dist/lib/server/credential-policy.d.ts +221 -0
  187. package/dist/lib/server/credential-policy.d.ts.map +1 -0
  188. package/dist/lib/server/credential-policy.js +260 -0
  189. package/dist/lib/server/credential-policy.js.map +1 -0
  190. package/dist/lib/server/decisioning/async-outcome.d.ts +17 -0
  191. package/dist/lib/server/decisioning/async-outcome.d.ts.map +1 -1
  192. package/dist/lib/server/decisioning/async-outcome.js +23 -18
  193. package/dist/lib/server/decisioning/async-outcome.js.map +1 -1
  194. package/dist/lib/server/decisioning/context.d.ts +8 -2
  195. package/dist/lib/server/decisioning/context.d.ts.map +1 -1
  196. package/dist/lib/server/decisioning/index.d.ts +1 -0
  197. package/dist/lib/server/decisioning/index.d.ts.map +1 -1
  198. package/dist/lib/server/decisioning/index.js.map +1 -1
  199. package/dist/lib/server/decisioning/runtime/from-platform.js +6 -4
  200. package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
  201. package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts.map +1 -1
  202. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js +5 -2
  203. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js.map +1 -1
  204. package/dist/lib/server/decisioning/runtime/task-registry.d.ts +5 -0
  205. package/dist/lib/server/decisioning/runtime/task-registry.d.ts.map +1 -1
  206. package/dist/lib/server/decisioning/runtime/task-registry.js +4 -1
  207. package/dist/lib/server/decisioning/runtime/task-registry.js.map +1 -1
  208. package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -1
  209. package/dist/lib/server/decisioning/runtime/to-context.js +10 -2
  210. package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -1
  211. package/dist/lib/server/dynamic-registry.d.ts +219 -0
  212. package/dist/lib/server/dynamic-registry.d.ts.map +1 -0
  213. package/dist/lib/server/dynamic-registry.js +245 -0
  214. package/dist/lib/server/dynamic-registry.js.map +1 -0
  215. package/dist/lib/server/index.d.ts +8 -0
  216. package/dist/lib/server/index.d.ts.map +1 -1
  217. package/dist/lib/server/index.js +15 -4
  218. package/dist/lib/server/index.js.map +1 -1
  219. package/dist/lib/server/operational-platform.d.ts +239 -0
  220. package/dist/lib/server/operational-platform.d.ts.map +1 -0
  221. package/dist/lib/server/operational-platform.js +94 -0
  222. package/dist/lib/server/operational-platform.js.map +1 -0
  223. package/dist/lib/server/test-controller.d.ts +2 -0
  224. package/dist/lib/server/test-controller.d.ts.map +1 -1
  225. package/dist/lib/server/test-controller.js +6 -11
  226. package/dist/lib/server/test-controller.js.map +1 -1
  227. package/dist/lib/server/wire-safe.d.ts +211 -0
  228. package/dist/lib/server/wire-safe.d.ts.map +1 -0
  229. package/dist/lib/server/wire-safe.js +231 -0
  230. package/dist/lib/server/wire-safe.js.map +1 -0
  231. package/dist/lib/server/wire-spec-fields.generated.d.ts +168 -0
  232. package/dist/lib/server/wire-spec-fields.generated.d.ts.map +1 -0
  233. package/dist/lib/server/wire-spec-fields.generated.js +172 -0
  234. package/dist/lib/server/wire-spec-fields.generated.js.map +1 -0
  235. package/dist/lib/testing/compliance/index.d.ts +2 -0
  236. package/dist/lib/testing/compliance/index.d.ts.map +1 -1
  237. package/dist/lib/testing/compliance/index.js +6 -1
  238. package/dist/lib/testing/compliance/index.js.map +1 -1
  239. package/dist/lib/testing/compliance/summary.d.ts +77 -0
  240. package/dist/lib/testing/compliance/summary.d.ts.map +1 -0
  241. package/dist/lib/testing/compliance/summary.js +176 -0
  242. package/dist/lib/testing/compliance/summary.js.map +1 -0
  243. package/dist/lib/testing/comply-controller.d.ts +2 -0
  244. package/dist/lib/testing/comply-controller.d.ts.map +1 -1
  245. package/dist/lib/testing/comply-controller.js.map +1 -1
  246. package/dist/lib/testing/storyboard/compliance.d.ts +26 -0
  247. package/dist/lib/testing/storyboard/compliance.d.ts.map +1 -1
  248. package/dist/lib/testing/storyboard/compliance.js +51 -0
  249. package/dist/lib/testing/storyboard/compliance.js.map +1 -1
  250. package/dist/lib/testing/storyboard/index.d.ts +2 -2
  251. package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
  252. package/dist/lib/testing/storyboard/index.js +4 -2
  253. package/dist/lib/testing/storyboard/index.js.map +1 -1
  254. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  255. package/dist/lib/testing/storyboard/runner.js +58 -5
  256. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  257. package/dist/lib/version.d.ts +3 -3
  258. package/dist/lib/version.d.ts.map +1 -1
  259. package/dist/lib/version.js +3 -3
  260. package/dist/lib/version.js.map +1 -1
  261. package/package.json +2 -2
@@ -0,0 +1,572 @@
1
+ id: content_standards
2
+ version: "1.0.0"
3
+ title: "Content standards"
4
+ protocol: governance
5
+ category: content_standards
6
+ summary: "Define creative quality rules, calibrate content against them, and validate that delivered ads met the standards."
7
+ track: governance
8
+ required_tools:
9
+ - list_content_standards
10
+
11
+ # Cross-step assertion (adcp#2664). status.monotonic rejects resource
12
+ # status transitions observed across steps that aren't on the spec
13
+ # lifecycle graph. Silent on content-standards-only runs (no tracked
14
+ # lifecycle resource), but wired so phases that touch creative /
15
+ # account status are automatically gated.
16
+ invariants:
17
+ - status.monotonic
18
+
19
+ narrative: |
20
+ You run a governance agent that manages content standards — rules that define what
21
+ creative content is acceptable for a brand or campaign. Buyers create standards that
22
+ specify quality requirements, safety constraints, and brand compliance rules. Your
23
+ agent stores these standards, calibrates sample content against them, and validates
24
+ that delivered creatives met the requirements.
25
+
26
+ Content standards complement property governance. Property lists control where ads appear;
27
+ content standards control what the ads look like. Together they form a complete brand
28
+ safety framework.
29
+
30
+ This storyboard covers the full content standards lifecycle: defining standards, querying
31
+ them, calibrating content before launch, and validating delivery after the fact.
32
+
33
+ agent:
34
+ interaction_model: governance_agent
35
+ capabilities:
36
+ - content_standards
37
+ - creative_quality
38
+ examples:
39
+ - "Creative quality platforms"
40
+ - "Brand safety services"
41
+ - "Ad verification platforms"
42
+ - "GARM-aligned quality tools"
43
+
44
+ caller:
45
+ role: buyer_agent
46
+ example: "Pinnacle Agency (buyer)"
47
+
48
+ prerequisites:
49
+ description: |
50
+ The caller needs a brand identity and creative quality requirements. The test kit
51
+ provides a sample brand with visual assets for calibration.
52
+ test_kit: "test-kits/acme-outdoor.yaml"
53
+
54
+ phases:
55
+ - id: capability_discovery
56
+ title: "Capability discovery"
57
+ narrative: |
58
+ The buyer calls get_adcp_capabilities to confirm the agent supports governance before registering plans or checking compliance.
59
+
60
+ steps:
61
+ - id: get_capabilities
62
+ title: "Check agent capabilities"
63
+ narrative: |
64
+ Verify that the agent declares the expected protocol support before
65
+ proceeding with domain-specific operations.
66
+ task: get_adcp_capabilities
67
+ schema_ref: "protocol/get-adcp-capabilities-request.json"
68
+ response_schema_ref: "protocol/get-adcp-capabilities-response.json"
69
+ doc_ref: "/protocol/get_adcp_capabilities"
70
+ comply_scenario: capability_discovery
71
+ stateful: false
72
+ expected: |
73
+ Return capabilities declaring governance in supported_protocols, confirming the agent provides governance services.
74
+ sample_request:
75
+ context:
76
+ correlation_id: "content_standards--get_capabilities"
77
+ validations:
78
+ - check: response_schema
79
+ description: "Response matches get-adcp-capabilities-response.json schema"
80
+ - check: field_present
81
+ path: "supported_protocols"
82
+ description: "Agent declares supported protocols"
83
+
84
+ - check: field_present
85
+ path: "context"
86
+ description: "Response echoes back the context object"
87
+ - check: field_value
88
+ path: "context.correlation_id"
89
+ value: "content_standards--get_capabilities"
90
+ description: "Context correlation_id returned unchanged"
91
+ - id: create_standards
92
+ title: "Define content standards"
93
+ narrative: |
94
+ The buyer creates content standards that define what creative content is acceptable.
95
+ Standards include quality requirements, safety constraints, and brand-specific rules.
96
+
97
+ steps:
98
+ - id: create_content_standards
99
+ title: "Create content standards"
100
+ narrative: |
101
+ The buyer defines a set of content standards. These rules will be used to
102
+ evaluate creatives before and after delivery.
103
+ task: create_content_standards
104
+ schema_ref: "content-standards/create-content-standards-request.json"
105
+ response_schema_ref: "content-standards/create-content-standards-response.json"
106
+ doc_ref: "/governance/content-standards/tasks/create_content_standards"
107
+ comply_scenario: governance_content_standards
108
+ stateful: true
109
+ expected: |
110
+ Return the created content standards:
111
+ - standards_id: platform-assigned identifier
112
+ - Rules registered with severity levels
113
+ - Status: active
114
+
115
+ sample_request:
116
+ account:
117
+ brand:
118
+ domain: "acmeoutdoor.example"
119
+ operator: "pinnacle-agency.example"
120
+ scope:
121
+ languages_any: ["en"]
122
+ description: "Acme Outdoor creative quality standards"
123
+ policies:
124
+ - policy_id: no_violent_imagery
125
+ policy_categories: [brand_safety]
126
+ enforcement: must
127
+ policy: "No violent or controversial imagery"
128
+ - policy_id: min_display_dpi
129
+ policy_categories: [imagery_quality]
130
+ enforcement: should
131
+ channels: [display]
132
+ policy: "Minimum 72 DPI for display assets"
133
+ - policy_id: brand_color_tolerance
134
+ policy_categories: [brand_compliance]
135
+ enforcement: must
136
+ policy: "Brand colors must match palette within 5% tolerance"
137
+
138
+ idempotency_key: "$generate:uuid_v4#content_standards_create_standards_create_content_standards"
139
+ context:
140
+ correlation_id: "content_standards--create_content_standards"
141
+ validations:
142
+ - check: response_schema
143
+ description: "Response matches create-content-standards-response.json schema"
144
+
145
+ - check: field_present
146
+ path: "context"
147
+ description: "Response echoes back the context object"
148
+ - check: field_value
149
+ path: "context.correlation_id"
150
+ value: "content_standards--create_content_standards"
151
+ description: "Context correlation_id returned unchanged"
152
+ - id: list_and_get
153
+ title: "Query content standards"
154
+ narrative: |
155
+ The buyer lists all content standards for the account and retrieves a specific
156
+ standard to inspect its rules.
157
+
158
+ steps:
159
+ - id: list_content_standards
160
+ title: "List all content standards"
161
+ narrative: |
162
+ The buyer lists all content standards for the brand. The response includes
163
+ standard metadata without full rule details.
164
+ task: list_content_standards
165
+ schema_ref: "content-standards/list-content-standards-request.json"
166
+ response_schema_ref: "content-standards/list-content-standards-response.json"
167
+ doc_ref: "/governance/content-standards/tasks/list_content_standards"
168
+ comply_scenario: governance_content_standards
169
+ stateful: true
170
+ expected: |
171
+ Return content standard summaries:
172
+ - Array of standards with standards_id, name, rule_count
173
+ - Status of each standard set
174
+
175
+ sample_request:
176
+ account:
177
+ brand:
178
+ domain: "acmeoutdoor.example"
179
+ operator: "pinnacle-agency.example"
180
+
181
+ context:
182
+ correlation_id: "content_standards--list_content_standards"
183
+ validations:
184
+ - check: response_schema
185
+ description: "Response matches list-content-standards-response.json schema"
186
+
187
+ - check: field_present
188
+ path: "context"
189
+ description: "Response echoes back the context object"
190
+ - check: field_value
191
+ path: "context.correlation_id"
192
+ value: "content_standards--list_content_standards"
193
+ description: "Context correlation_id returned unchanged"
194
+ - id: get_content_standards
195
+ title: "Get a specific content standard"
196
+ narrative: |
197
+ The buyer retrieves the full details of a specific content standard, including
198
+ all rules and their severity levels.
199
+ task: get_content_standards
200
+ schema_ref: "content-standards/get-content-standards-request.json"
201
+ response_schema_ref: "content-standards/get-content-standards-response.json"
202
+ doc_ref: "/governance/content-standards/tasks/get_content_standards"
203
+ comply_scenario: governance_content_standards
204
+ stateful: true
205
+ expected: |
206
+ Return the full content standard:
207
+ - standards_id, name
208
+ - All rules with categories, descriptions, and severity
209
+
210
+ sample_request:
211
+ account:
212
+ brand:
213
+ domain: "acmeoutdoor.example"
214
+ operator: "pinnacle-agency.example"
215
+ standards_id: "$context.content_standards_id"
216
+
217
+ context:
218
+ correlation_id: "content_standards--get_content_standards"
219
+ validations:
220
+ - check: response_schema
221
+ description: "Response matches get-content-standards-response.json schema"
222
+
223
+ - check: field_present
224
+ path: "context"
225
+ description: "Response echoes back the context object"
226
+ - check: field_value
227
+ path: "context.correlation_id"
228
+ value: "content_standards--get_content_standards"
229
+ description: "Context correlation_id returned unchanged"
230
+ - id: update_standards
231
+ title: "Update content standards"
232
+ narrative: |
233
+ The buyer modifies existing content standards — adding rules, adjusting severity,
234
+ or removing obsolete constraints.
235
+
236
+ steps:
237
+ - id: update_content_standards
238
+ title: "Update content standards"
239
+ narrative: |
240
+ The buyer updates an existing content standard with new or modified rules.
241
+ task: update_content_standards
242
+ schema_ref: "content-standards/update-content-standards-request.json"
243
+ response_schema_ref: "content-standards/update-content-standards-response.json"
244
+ doc_ref: "/governance/content-standards/tasks/update_content_standards"
245
+ comply_scenario: governance_content_standards
246
+ stateful: true
247
+ expected: |
248
+ Return the updated content standard:
249
+ - Updated rule set
250
+ - Confirmation of changes applied
251
+
252
+ sample_request:
253
+ account:
254
+ brand:
255
+ domain: "acmeoutdoor.example"
256
+ operator: "pinnacle-agency.example"
257
+ standards_id: "$context.content_standards_id"
258
+ policies:
259
+ - policy_id: no_violent_imagery
260
+ policy_categories: [brand_safety]
261
+ enforcement: must
262
+ policy: "No violent or controversial imagery"
263
+ - policy_id: min_display_dpi
264
+ policy_categories: [imagery_quality]
265
+ enforcement: should
266
+ channels: [display]
267
+ policy: "Minimum 72 DPI for display assets"
268
+ - policy_id: brand_color_tolerance
269
+ policy_categories: [brand_compliance]
270
+ enforcement: must
271
+ policy: "Brand colors must match palette within 5% tolerance"
272
+ - policy_id: image_alt_text
273
+ policy_categories: [accessibility]
274
+ enforcement: should
275
+ policy: "All images must have alt text"
276
+
277
+ idempotency_key: "$generate:uuid_v4#content_standards_update_standards_update_content_standards"
278
+ context:
279
+ correlation_id: "content_standards--update_content_standards"
280
+ validations:
281
+ - check: response_schema
282
+ description: "Response matches update-content-standards-response.json schema"
283
+
284
+ - check: field_present
285
+ path: "context"
286
+ description: "Response echoes back the context object"
287
+ - check: field_value
288
+ path: "context.correlation_id"
289
+ value: "content_standards--update_content_standards"
290
+ description: "Context correlation_id returned unchanged"
291
+ - id: calibration
292
+ title: "Calibrate content"
293
+ narrative: |
294
+ Before launching a campaign, the buyer calibrates sample creatives against the
295
+ content standards. This is a pre-flight check — does the creative meet the rules
296
+ before it goes live?
297
+
298
+ steps:
299
+ - id: calibrate_content
300
+ title: "Calibrate content against standards"
301
+ narrative: |
302
+ The buyer submits sample creative content for evaluation against the content
303
+ standards. The governance agent checks each rule and returns a calibration
304
+ report indicating pass/fail per rule.
305
+ task: calibrate_content
306
+ schema_ref: "content-standards/calibrate-content-request.json"
307
+ response_schema_ref: "content-standards/calibrate-content-response.json"
308
+ doc_ref: "/governance/content-standards/tasks/calibrate_content"
309
+ comply_scenario: governance_content_standards
310
+ stateful: true
311
+ expected: |
312
+ Return a calibration report:
313
+ - overall_pass: boolean
314
+ - Per-rule results with pass/fail and evidence
315
+ - Remediation guidance for failed rules
316
+
317
+ sample_request:
318
+ account:
319
+ brand:
320
+ domain: "acmeoutdoor.example"
321
+ operator: "pinnacle-agency.example"
322
+ standards_id: "$context.content_standards_id"
323
+ artifact:
324
+ property_rid: "test-publisher.example"
325
+ artifact_id: "display_trail_pro_300x250"
326
+ assets:
327
+ - type: "image"
328
+ url: "https://cdn.pinnacle-agency.example/trail-pro-300x250.png"
329
+ width: 300
330
+ height: 250
331
+
332
+ idempotency_key: "$generate:uuid_v4#content_standards_calibration_calibrate_content"
333
+ context:
334
+ correlation_id: "content_standards--calibrate_content"
335
+ validations:
336
+ - check: response_schema
337
+ description: "Response matches calibrate-content-response.json schema"
338
+ - check: field_present
339
+ path: "verdict"
340
+ description: "Response includes calibration verdict"
341
+
342
+ - id: must_rule_violation
343
+ title: "Must-rule violation"
344
+ narrative: |
345
+ The buyer submits content that violates a "must" severity rule in the content
346
+ standards. The governance agent must reject it — this tests that the agent
347
+ distinguishes between "must" (blocking) and "should" (advisory) severity levels.
348
+
349
+ steps:
350
+ - id: calibrate_must_violation
351
+ title: "Calibrate content that violates a must rule"
352
+ narrative: |
353
+ The buyer submits creative content containing violent imagery, which violates
354
+ the "No violent or controversial imagery (must)" rule. The agent must return
355
+ a failing verdict with a reference to the violated rule.
356
+ task: calibrate_content
357
+ schema_ref: "content-standards/calibrate-content-request.json"
358
+ response_schema_ref: "content-standards/calibrate-content-response.json"
359
+ doc_ref: "/governance/content-standards/tasks/calibrate_content"
360
+ comply_scenario: governance_content_standards
361
+ stateful: true
362
+ expected: |
363
+ Return a failing calibration:
364
+ - verdict: fail
365
+ - At least one rule failure referencing the violent imagery must-rule
366
+ - Remediation guidance explaining why the content was rejected
367
+
368
+ sample_request:
369
+ account:
370
+ brand:
371
+ domain: "acmeoutdoor.example"
372
+ operator: "pinnacle-agency.example"
373
+ standards_id: "$context.content_standards_id"
374
+ artifact:
375
+ property_rid: "test-publisher.example"
376
+ artifact_id: "display_violent_imagery_300x250"
377
+ description: "Display ad featuring graphic hunting scene with violent imagery"
378
+ assets:
379
+ - type: "image"
380
+ url: "https://cdn.pinnacle-agency.example/violent-hunting-scene-300x250.png"
381
+ width: 300
382
+ height: 250
383
+
384
+ idempotency_key: "$generate:uuid_v4#content_standards_must_rule_violation_calibrate_must_violation"
385
+ validations:
386
+ - check: response_schema
387
+ description: "Response matches calibrate-content-response.json schema"
388
+ - check: field_value
389
+ path: "verdict"
390
+ value: "fail"
391
+ description: "Content that violates a must-rule receives fail verdict"
392
+
393
+ - id: standards_version_change
394
+ title: "Policy version change"
395
+ narrative: |
396
+ The buyer updates the content standards to add a stricter rule, then re-calibrates
397
+ previously passing content. This tests that the agent applies the updated policy
398
+ rather than caching the old version.
399
+
400
+ steps:
401
+ - id: update_stricter_standards
402
+ title: "Add stricter must-rule to content standards"
403
+ narrative: |
404
+ The buyer updates the content standards to require alt text on all images
405
+ as a must-severity rule (previously "should"). Content that previously passed
406
+ calibration may now fail.
407
+ task: update_content_standards
408
+ schema_ref: "content-standards/update-content-standards-request.json"
409
+ response_schema_ref: "content-standards/update-content-standards-response.json"
410
+ doc_ref: "/governance/content-standards/tasks/update_content_standards"
411
+ comply_scenario: governance_content_standards
412
+ stateful: true
413
+ expected: |
414
+ Return the updated content standard:
415
+ - Updated policy with stricter alt text rule
416
+ - Confirmation of changes applied
417
+
418
+ sample_request:
419
+ account:
420
+ brand:
421
+ domain: "acmeoutdoor.example"
422
+ operator: "pinnacle-agency.example"
423
+ standards_id: "$context.content_standards_id"
424
+ policies:
425
+ - policy_id: no_violent_imagery
426
+ policy_categories: [brand_safety]
427
+ enforcement: must
428
+ policy: "No violent or controversial imagery"
429
+ - policy_id: min_display_dpi
430
+ policy_categories: [imagery_quality]
431
+ enforcement: should
432
+ channels: [display]
433
+ policy: "Minimum 72 DPI for display assets"
434
+ - policy_id: brand_color_tolerance
435
+ policy_categories: [brand_compliance]
436
+ enforcement: must
437
+ policy: "Brand colors must match palette within 5% tolerance"
438
+ - policy_id: image_alt_text
439
+ policy_categories: [accessibility]
440
+ enforcement: must
441
+ policy: "All images must have alt text"
442
+ - policy_id: no_stock_photography
443
+ policy_categories: [brand_compliance]
444
+ enforcement: must
445
+ policy: "No stock photography"
446
+
447
+ idempotency_key: "$generate:uuid_v4#content_standards_standards_version_change_update_stricter_standards"
448
+ validations:
449
+ - check: response_schema
450
+ description: "Response matches update-content-standards-response.json schema"
451
+
452
+ - id: calibrate_after_policy_change
453
+ title: "Re-calibrate content against updated standards"
454
+ narrative: |
455
+ The buyer re-calibrates the same sample content against the updated standards.
456
+ If the agent is properly applying the current policy version, content without
457
+ alt text or using stock photography should now fail.
458
+ task: calibrate_content
459
+ schema_ref: "content-standards/calibrate-content-request.json"
460
+ response_schema_ref: "content-standards/calibrate-content-response.json"
461
+ doc_ref: "/governance/content-standards/tasks/calibrate_content"
462
+ comply_scenario: governance_content_standards
463
+ stateful: true
464
+ expected: |
465
+ Return calibration results reflecting the updated policy:
466
+ - verdict reflects evaluation against current (not cached) standards
467
+ - Rule results reference the updated policy rules
468
+
469
+ sample_request:
470
+ account:
471
+ brand:
472
+ domain: "acmeoutdoor.example"
473
+ operator: "pinnacle-agency.example"
474
+ standards_id: "$context.content_standards_id"
475
+ artifact:
476
+ property_rid: "test-publisher.example"
477
+ artifact_id: "display_stock_photo_300x250"
478
+ description: "Display ad using stock photography without alt text"
479
+ assets:
480
+ - type: "image"
481
+ url: "https://cdn.pinnacle-agency.example/stock-photo-300x250.png"
482
+ width: 300
483
+ height: 250
484
+
485
+ idempotency_key: "$generate:uuid_v4#content_standards_standards_version_change_calibrate_after_policy_change"
486
+ context:
487
+ correlation_id: "content_standards--calibrate_after_policy_change"
488
+ validations:
489
+ - check: response_schema
490
+ description: "Response matches calibrate-content-response.json schema"
491
+ - check: field_value
492
+ path: "verdict"
493
+ value: "fail"
494
+ description: "Content violating updated must-rules receives fail verdict"
495
+
496
+ - check: field_present
497
+ path: "context"
498
+ description: "Response echoes back the context object"
499
+ - check: field_value
500
+ path: "context.correlation_id"
501
+ value: "content_standards--calibrate_after_policy_change"
502
+ description: "Context correlation_id returned unchanged"
503
+ - id: delivery_validation
504
+ title: "Validate delivered content"
505
+ narrative: |
506
+ After the campaign runs, the buyer validates that the delivered creatives met the
507
+ content standards. The governance agent checks actual delivered content against
508
+ the rules and flags any violations.
509
+
510
+ steps:
511
+ - id: validate_content_delivery
512
+ title: "Validate content delivery compliance"
513
+ narrative: |
514
+ The buyer submits delivery data with creative references. The governance agent
515
+ evaluates the delivered content against the content standards and returns
516
+ a compliance report.
517
+ task: validate_content_delivery
518
+ schema_ref: "content-standards/validate-content-delivery-request.json"
519
+ response_schema_ref: "content-standards/validate-content-delivery-response.json"
520
+ doc_ref: "/governance/content-standards/tasks/validate_content_delivery"
521
+ comply_scenario: governance_content_standards
522
+ stateful: true
523
+ expected: |
524
+ Return validation results:
525
+ - compliant: boolean overall status
526
+ - Per-creative compliance status
527
+ - Violations with rule references and evidence
528
+
529
+ sample_request:
530
+ account:
531
+ brand:
532
+ domain: "acmeoutdoor.example"
533
+ operator: "pinnacle-agency.example"
534
+ standards_id: "$context.content_standards_id"
535
+ records:
536
+ - record_id: "delivery_display_001"
537
+ artifact:
538
+ property_rid: "test-publisher.example"
539
+ artifact_id: "display_trail_pro_300x250"
540
+ assets:
541
+ - type: "image"
542
+ url: "https://cdn.pinnacle-agency.example/trail-pro-300x250.png"
543
+ width: 300
544
+ height: 250
545
+ - record_id: "delivery_video_001"
546
+ artifact:
547
+ property_rid: "test-publisher.example"
548
+ artifact_id: "video_30s_trail_pro"
549
+ assets:
550
+ - type: "video"
551
+ url: "https://cdn.pinnacle-agency.example/trail-pro-30s.mp4"
552
+ duration_ms: 30000
553
+
554
+ context:
555
+ correlation_id: "content_standards--validate_content_delivery"
556
+ validations:
557
+ - check: response_schema
558
+ description: "Response matches validate-content-delivery-response.json schema"
559
+ - check: field_present
560
+ path: "summary"
561
+ description: "Response includes validation summary with pass/fail counts"
562
+ - check: field_present
563
+ path: "results"
564
+ description: "Response includes per-record validation results"
565
+
566
+ - check: field_present
567
+ path: "context"
568
+ description: "Response echoes back the context object"
569
+ - check: field_value
570
+ path: "context.correlation_id"
571
+ value: "content_standards--validate_content_delivery"
572
+ description: "Context correlation_id returned unchanged"