The decisioning framework auto-emits completion/task webhooks for requests with push_notification_config.url, but the generated MCP webhook payload omits top-level operation_id. The emitter receives an internal operation_id used for idempotency, yet buildTaskWebhookPayload does not place an operation_id on the wire, so payloads fail mcp-webhook-payload.json in storyboard receivers that require operation_id. Please thread the buyer-supplied push_notification_config.operation_id into auto-emitted webhook payloads, and provide a documented fallback for legacy URL-template runners if needed. Local workaround in adcp training-agent will wrap taskWebhookEmitter and inject operation_id until the SDK payload builder handles it directly.
The decisioning framework auto-emits completion/task webhooks for requests with push_notification_config.url, but the generated MCP webhook payload omits top-level operation_id. The emitter receives an internal operation_id used for idempotency, yet buildTaskWebhookPayload does not place an operation_id on the wire, so payloads fail mcp-webhook-payload.json in storyboard receivers that require operation_id. Please thread the buyer-supplied push_notification_config.operation_id into auto-emitted webhook payloads, and provide a documented fallback for legacy URL-template runners if needed. Local workaround in adcp training-agent will wrap taskWebhookEmitter and inject operation_id until the SDK payload builder handles it directly.