fix(storyboards): push_notification_config uses schemes array (#2770) - #2780
Merged
Conversation
Align sales-guaranteed and creative-generative/seller storyboards with the PushNotificationConfig spec schema, which requires `schemes` (array) and `credentials` — not the singular `scheme` the fixtures had. @adcp/client 5.9.0+ rejects the malformed shape at client-side zod validation, breaking 3 sales_guaranteed and 2 creative_generative/seller compliance runs. sales-broadcast-tv was already correct. Drop the two grandfathered entries from the sample-request schema allowlist now that the drift is fixed. Closes #2770. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…placeholders Expert review flagged that the same singular `scheme` bug was already grandfathered in the base `protocols/media-buy/index.yaml` storyboard (higher-traffic than the specialisms). Same class of drift, same fix. Also rename the two specialism placeholder credentials from the generic `placeholder-webhook-secret-token` to storyboard-scoped values matching the `sales-broadcast-tv` pattern — reduces the chance of copy-paste collisions across fixtures and makes the origin of a leaked placeholder traceable. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
push_notification_config.authenticationshape in three storyboards (one base + two specialisms) to useschemes(array) +credentialsperPushNotificationConfigSchema. The fixtures had the deprecated singularschemefield, which@adcp/client5.9.0+ rejects at client-side zod validation.static/compliance/source/protocols/media-buy/index.yaml(basemedia_buy_seller)static/compliance/source/specialisms/sales-guaranteed/index.yamlstatic/compliance/source/specialisms/creative-generative/generative-seller.yamltests/storyboard-sample-request-schema-allowlist.jsonnow that the drift is fixed (surfaces via the lint added in feat(storyboards): lint sample_request against schema_ref with ratchet allowlist #2768).sales-broadcast-tvpattern) instead of a generic string.sales-broadcast-tv/index.yamlwas already correct and served as the reference shape.Closes #2770.
Follow-ups (out of scope)
authenticationis a "switch, not a fallback"). Worth a narrative pass or adding a no-authenticationexample variant.sample_requestpayloads through@adcp/clientzod schemas — only static AJV lint. Closing that gap would catch AJV↔zod drift.additionalProperties@/:accountacross five fixtures); triage suggested.Test plan
npm run test:storyboard-sample-request-schemapasses (previously failed on stale allowlist entries)npm run test:unit+npm run typecheck(precommit) green on both commitsmedia_buy_seller,sales_guaranteed, andcreative_generative/sellerwith@adcp/client5.9.0+🤖 Generated with Claude Code