You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
AdCP 3.3: mutation_outcome on errors and unsupported-targeting-dimension details #1642
core/error.json can carry mutation_outcome (not_applied, unknown, applied), so a buyer knows whether to re-plan after a failed state-changing request. See L3 error-handling §Mutation outcome.
UNSUPPORTED_FEATURE for an unsupported or removed targeting dimension SHOULD carry the new error-details/unsupported-targeting-dimension.json details (unsupported_dimension, optional supported_dimensions, deprecated, replacement_dimension, product_id, package_index), with error.field pointing at the targeting path (#8052).
Tag v3.3.0-beta.0; What's new §Did a failed mutation apply? and §Optional declarations.
Work (after regen)
AdcpError(mutation_outcome=...) and projection through MCP, A2A and the payload errors[].
The framework sets not_applied where it knows the mutation never ran: validation, auth, idempotency conflicts, pre-dispatch rejections.
A typed constructor for unsupported-targeting-dimension details.
Buyer: expose mutation_outcome on TaskResult errors.
Gate both for callers below 3.3 if a 3.2 schema rejects them.
Done on next in #1811 (40a82f5b): AdcpError(mutation_outcome=...) projected on MCP/A2A and errors[]; the framework sets not_applied on pre-dispatch rejections of mutating tools and on IDEMPOTENCY_CONFLICT; UnsupportedTargetingDimensionError / unsupported_targeting_dimension_details; buyer TaskResult.mutation_outcome, ADCPTaskError.mutation_outcome, AdcpErrorInfo.mutation_outcome. No 3.2 gating needed (3.2 core/error.json allows extra properties).
Activity
feat(errors): AdCP 3.3 mutation_outcome and unsupported-targeting-dim…
feat(errors): AdCP 3.3 mutation_outcome and unsupported-targeting-dim…
feat(errors): AdCP 3.3 mutation_outcome and unsupported-targeting-dim…
feat(errors): AdCP 3.3 mutation_outcome and unsupported-targeting-dim…
feat(errors): AdCP 3.3 mutation_outcome and unsupported-targeting-dim…
bokelley commentedon Nov 2, 2026
Done on
nextin #1811 (40a82f5b):AdcpError(mutation_outcome=...)projected on MCP/A2A anderrors[]; the framework setsnot_appliedon pre-dispatch rejections of mutating tools and onIDEMPOTENCY_CONFLICT;UnsupportedTargetingDimensionError/unsupported_targeting_dimension_details; buyerTaskResult.mutation_outcome,ADCPTaskError.mutation_outcome,AdcpErrorInfo.mutation_outcome. No 3.2 gating needed (3.2core/error.jsonallows extra properties).