Skip to content

feat(examples): update seller_agent.py to handle @adcp/sdk@7.10.x storyboard scenarios #782

Description

@bokelley

Background

@adcp/sdk@7.10.0 (published 2026-05-21T14:29Z) shipped new storyboard scenarios that examples/seller_agent.py doesn't currently handle. The PR pinning the SDK version to 7.9.0 (#780) is the immediate fix; this issue tracks bringing the example forward to 7.10.x.

Failing scenarios on @adcp/sdk@7.10.1

From PR #780's initial CI attempt against 7.10.1:

  1. media_buy_seller/measurement_terms_rejected/create_media_buy_aggressive_terms — expects error code TERMS_REJECTED, seller returns PRODUCT_NOT_FOUND. Either (a) the new scenario uses a product_id not in the example's catalog (need to add it), or (b) the seller's error-code precedence is wrong (returning PRODUCT_NOT_FOUND before reaching the measurement-terms-rejected branch). Read the scenario fixture in @adcp/sdk@7.10.1 to determine which.

  2. media_buy_seller/invalid_transitions/update_unknown_package — expects PACKAGE_NOT_FOUND, seller returns MEDIA_BUY_NOT_FOUND. The seller's error-code precedence checks media-buy existence before package existence; the scenario expects the opposite ordering. Likely a spec clarification in 7.10.x — the package-existence check should happen first when both are missing.

Other failures cascade from these via prerequisite_failed (22 skipped steps in the failing run).

Acceptance

  • Bump ADCP_SDK_VERSION in .github/workflows/ci.yml from 7.9.07.10.1 (or latest).
  • All 4 storyboard runner jobs pass on the new version:
    • AdCP storyboard runner — examples/seller_agent.py
    • AdCP storyboard runner — examples/multi_platform_seller (PlatformRouter)
    • AdCP storyboard runner — sales-proposal-mode (proposal_finalize)
    • AdCP storyboard runner — v3 reference seller (translator)
  • If the gap is a real spec change, file companion docs work; if it's an example-only catch-up, document in CHANGELOG.

Refs

Notes

This is the exact scenario adcp#4907 Phase 1 is designed to surface earlier — once that lands, an @adcp/sdk release with new scenarios cannot ship without first being validated against the reference impl.

Metadata

Metadata

Assignees

No one assigned

    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