Skip to content

New storyboard: validate format_id references on products — prevent invalid agent_url/id combos #2597

Description

@EmmaLouise2018

Summary

Sales agents return format_ids on products from get_products, each referencing an agent_url and id. There is currently no storyboard that validates these references actually resolve to real formats on the declared creative agent. A sales agent can return a non-existent id, a wrong agent_url, or a stale format that has been removed — and nothing catches it until a buyer agent fails at sync_creatives time.

Proposed storyboard: media_buy_format_id_integrity

A new storyboard step (or addition to media_buy_seller) that:

  1. Calls get_products on the sales agent
  2. Collects all format_ids arrays across returned products
  3. Groups them by agent_url
  4. For each unique agent_url, calls list_creative_formats
  5. Asserts every referenced id exists in the returned formats list
  6. Fails with a clear error naming the specific invalid { agent_url, id } combo

Why this matters

  • Invalid format references are silent until sync_creatives fails — which is after the media buy is already committed
  • The video_640x480 example above is a real case: the format doesn't exist on the reference creative agent but nothing catches it at product discovery time
  • Stale format_ids are a common production issue when creative agents deprecate formats without sellers updating their product catalog

Scope

Two options for where this lives:

Option A: New standalone storyboard media_buy_format_id_integrity that only tests this. Easy to run in isolation.

Option B: Add as a step to the existing media_buy_seller storyboard between get_products and list_creative_formats. Runs automatically for all sellers.

Option B is preferred — this is a baseline correctness check that should run for every seller agent, not opt-in.

Affected files

  • storyboards/media_buy_seller.json (add step) OR storyboards/media_buy_format_id_integrity.json (new)
  • storyboards/README.md (update index)

Notes

  • The storyboard runner may need to authenticate against third-party creative agent URLs — handle gracefully if the creative agent requires auth the runner doesn't have
  • Should warn (not fail) if a creative agent URL is unreachable, since the sales agent may reference a buyer-deployed creative agent

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions