Skip to content

feat(examples): serve the AdCP 3.3 property breakdowns from injected rows in the reference seller - #1715

Merged
bokelley merged 1 commit into
nextfrom
claude/issue-1669-reference-seller-property-rows
Oct 29, 2026
Merged

bokelley merged 1 commit into
nextfrom
claude/issue-1669-reference-seller-property-rows

Conversation

@bokelley

Copy link
Copy Markdown
Contributor

Part of #1669. The 3.3 storyboards media_buy_seller/property_delivery_reporting and installment_property_delivery_reporting graded not_applicable against examples/seller_agent.py: it declared neither seller-wide rollup, and its simulate_delivery accepted no injected rows. After this PR it declares both, so the storyboard CI lanes run them.

  • Capabilities: media_buy.features.supports_property_breakdown and supports_installment_property_breakdown are now true.
  • simulate_delivery: accepts property_delivery and installment_property_delivery on a single-package buy and refuses a multi-package buy with INVALID_PARAMS. Each array replaces the previous one and never enters totals. The SDK dispatcher, as of feat(reporting): apply the AdCP 3.3 reporting rules #1707, already refuses these arrays when sent with delivery_date.
  • get_media_buy_delivery: for products with the matching reporting flag, reporting_dimensions.property / installment_property return by_property / by_installment_property from exactly the injected rows. Rows are sorted before the limit is applied, with the _truncated, _suppressed (false), _sorted_by and _sort_direction companions.

Tests: a parametrized test mirrors both storyboards' row sets, limits and orderings, and validates against the 3.3.0-beta.1 delivery response schema; another covers the multi-package refusal. test_seller_agent_storyboard.py, test_seller_agent_dual_emit.py and test_discovery_payload_size.py: 78 passed.

Refs #1669

🤖 Generated with Claude Code

…rows in the reference seller

The 3.3 storyboards property_delivery_reporting and
installment_property_delivery_reporting grade not_applicable against the
reference seller: it declared neither seller-wide rollup and its
simulate_delivery accepted no injected rows.

The reference seller now declares media_buy.features
supports_property_breakdown and supports_installment_property_breakdown.
simulate_delivery accepts property_delivery and
installment_property_delivery on a single-package buy; each array replaces
the previous one and never enters totals. get_media_buy_delivery returns
by_property and by_installment_property from exactly those rows for
products with the matching reporting flag, sorted before the limit, with
the truncated, suppressed, sorted_by and sort_direction companions.

Refs #1669

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ladon verdict: Approve

Approve — clean example-only PR.

Changes touch examples/seller_agent.py and tests/test_seller_agent_storyboard.py only — not the public adcp.* surface. Adds AdCP 3.3 property / installment_property breakdowns to the reference seller agent plus storyboard tests.

Checked:

  • No public-API / wire-shape changes, so no semver signal required; feat(examples): prefix is correct.
  • _injected_breakdown sorts-then-limits with _truncated/_suppressed/_sorted_by/_sort_direction companions, mirroring the existing by_format pattern; deepcopy guards row mutation.
  • Single-package guard keeps media-buy-level injected_delivery unambiguous; serving gated on both agent feature flag and product reporting_capabilities flag.
  • Tests validate the full response against the real 3.3.0-beta.1 schema, cover both sort directions and the multi-package refusal.

No Critical/High/Medium findings. high_risk false, gated_paths false, no author team gate. Falls through to row 9.

@bokelley
bokelley merged commit a998b82 into next Oct 29, 2026
37 checks passed
@bokelley
bokelley deleted the claude/issue-1669-reference-seller-property-rows branch October 29, 2026 23:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant