Problem
static/compliance/source/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml step reuse_creative_on_new_buy/reassign_creative (lines 382–402) references $context.creative_id in both creatives[0].creative_id and assignments[0].creative_id.
That context key is populated by sync_creative_with_assignment via path: creatives[0].creative_id against the seller's sync_creatives response. Sellers whose response envelope doesn't surface creatives[0].creative_id at exactly that path cause the resolver to drop the item, leaving creatives: undefined — which fails @adcp/client's zod pre-flight with:
Request validation failed for sync_creatives: creatives: Invalid input: expected array, received undefined
…before the request ever reaches the agent.
Current (lines 387–389 + 398–400)
creatives:
- creative_id: "$context.creative_id"
name: "Reassigned creative"
Fix
Substitute the literal acme_reuse_banner_001 (the buyer-supplied id set in sync_creative_with_assignment) — buyer-authoritative and doesn't need to round-trip through a response. Matches the narrative at lines 369–371 ("Reference the original creative by creative_id only") and hardens the scenario against envelope variance across sellers:
creatives:
- creative_id: "acme_reuse_banner_001"
name: "Reassigned creative"
Mirror the same change in assignments[0].creative_id on line 400.
Filed from the training-agent compliance audit — parallel investigation at #2832.
Problem
static/compliance/source/protocols/media-buy/scenarios/creative_fate_after_cancellation.yamlstepreuse_creative_on_new_buy/reassign_creative(lines 382–402) references$context.creative_idin bothcreatives[0].creative_idandassignments[0].creative_id.That context key is populated by
sync_creative_with_assignmentviapath: creatives[0].creative_idagainst the seller'ssync_creativesresponse. Sellers whose response envelope doesn't surfacecreatives[0].creative_idat exactly that path cause the resolver to drop the item, leavingcreatives: undefined— which fails@adcp/client's zod pre-flight with:…before the request ever reaches the agent.
Current (lines 387–389 + 398–400)
Fix
Substitute the literal
acme_reuse_banner_001(the buyer-supplied id set insync_creative_with_assignment) — buyer-authoritative and doesn't need to round-trip through a response. Matches the narrative at lines 369–371 ("Reference the original creative by creative_id only") and hardens the scenario against envelope variance across sellers:Mirror the same change in
assignments[0].creative_idon line 400.Filed from the training-agent compliance audit — parallel investigation at #2832.