Skip to content

feat: promote 4 protocol storyboards to canonical definitions#2002

Merged
bokelley merged 6 commits into
mainfrom
bokelley/promote-storyboards
Apr 8, 2026
Merged

feat: promote 4 protocol storyboards to canonical definitions#2002
bokelley merged 6 commits into
mainfrom
bokelley/promote-storyboards

Conversation

@bokelley

@bokelley bokelley commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Promotes 4 protocol compliance storyboards from @adcp/client to canonical definitions in the adcp repo. These describe agent behavior requirements per the AdCP spec — they belong here, not in the client.

New storyboards (4):

  • schema_validation — response schema conformance + temporal constraint enforcement
  • behavioral_analysis — brief filtering behavior, response consistency, pricing edge cases
  • error_compliance — error codes, recovery hints, L1/L2/L3 transport bindings
  • media_buy_state_machine — state transitions (pause/resume/cancel) + terminal state enforcement

Updated PLATFORM_STORYBOARDS — sales platforms now include schema_validation, behavioral_analysis, error_compliance, and media_buy_state_machine where applicable.

25 total storyboards in the canonical set. deterministic_testing stays in @adcp/client as test harness infrastructure.

Storyboard inventory after this PR

Domain Storyboards
Protocol capability_discovery, schema_validation, behavioral_analysis, error_compliance
Creative creative_template, creative_ad_server, creative_sales_agent, creative_lifecycle
Media buy media_buy_seller, media_buy_guaranteed_approval, media_buy_non_guaranteed, media_buy_proposal_mode, media_buy_catalog_creative, media_buy_state_machine
Governance media_buy_governance_escalation, campaign_governance_denied, campaign_governance_conditions, campaign_governance_delivery, property_governance, content_standards
Signals signal_marketplace, signal_owned
Social social_platform
SI si_session
Brand brand_rights

Follow-up

@adcp/client PR #445 should pull storyboard YAMLs from this repo rather than maintaining its own copies. The canonical set lives here; the client adds deterministic_testing as a client-specific overlay.

Test plan

  • 563 unit tests pass
  • TypeScript compiles clean
  • 25 storyboards load and pass structural validation

🤖 Generated with Claude Code

bokelley and others added 6 commits April 8, 2026 13:54
…efinitions

Add 4 storyboards that define protocol compliance requirements:
- schema_validation: response schema conformance + temporal constraints
- behavioral_analysis: brief filtering, response consistency, pricing edge cases
- error_compliance: error codes, recovery hints, transport bindings (L1/L2/L3)
- media_buy_state_machine: state transitions + terminal state enforcement

These were developed in @adcp/client but describe agent behavior requirements,
not client internals. The adcp repo is the canonical source for protocol
storyboards; @adcp/client will pull from here.

Also updates PLATFORM_STORYBOARDS to include the new storyboards for all
sales platforms (schema_validation, behavioral_analysis, error_compliance,
media_buy_state_machine where applicable).

25 storyboards total. brand_rights already existed from #1985.
deterministic_testing stays in @adcp/client (test harness, not protocol).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…board tests

- Add media_buy_state_machine to all media-buy-capable platforms
  (retail_media, search_platform, audio_platform, ai_ad_network, social_platform)
- Add behavioral_analysis and error_compliance to ai_platform
- Add per-storyboard test blocks for schema_validation, behavioral_analysis,
  error_compliance, and media_buy_state_machine

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All 25 storyboards now include:
- track: compliance track for grouping results (core, products, media_buy, etc.)
- required_tools: tools the agent must advertise for the storyboard to run
- platform_types: (where applicable) which platform types this storyboard applies to

These fields are required by @adcp/client's loader functions
(getStoryboardsForPlatformType, getComplianceStoryboardsForTrack).
Without them, the client cannot filter or group storyboards.

Also updates the Storyboard TypeScript interface to include the new fields.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This mapping will move to @adcp/client once adcp-client#445 ships
storyboard-based comply(). Callers will pass platform_type to comply()
and let the client resolve storyboards internally.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rom main + track/required_tools from branch)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bokelley bokelley merged commit 85ad72b into main Apr 8, 2026
12 checks passed
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