Skip to content

Add v3 protocol testing support (governance, SI, capabilities) #204

@bokelley

Description

@bokelley

Summary

The `@adcp/client/testing` module currently supports testing media buy agents (`discovery`, `full_sales_flow`, `signals_flow`, etc.) but lacks support for v3 protocols introduced in AdCP 3.0:

  1. Governance Protocol - property lists and content standards
  2. Sponsored Intelligence Protocol - SI session lifecycle
  3. Capability Discovery - `get_adcp_capabilities` task

Current Test Scenarios

```typescript
type TestScenario =
| 'health_check' | 'discovery' | 'create_media_buy' | 'full_sales_flow'
| 'creative_sync' | 'creative_inline' | 'creative_reference' | 'pricing_models'
| 'creative_flow' | 'signals_flow' | 'error_handling' | 'validation'
| 'pricing_edge_cases' | 'temporal_validation' | 'behavior_analysis' | 'response_consistency';
```

Requested Additions

1. Governance Protocol Testing

New scenarios to test governance agents:

Scenario Description
`property_list_crud` Create, read, update, delete property lists
`property_list_filters` Test GARM categories, MFA scores, custom tags
`get_property_features` Verify feature discovery
`content_standards_crud` Create, read, update content standards
`calibrate_content` Test calibration dialogue flow
`validate_content_delivery` Batch delivery validation

2. SI Protocol Testing

New scenarios to test SI agents as a client (not as a host):

Scenario Description
`si_session_lifecycle` Full session: initiate → messages → terminate
`si_availability_check` Test `si_check_availability`
`si_message_exchange` Verify message/response schema compliance
`si_ui_elements` Validate UI element rendering in responses
`si_handoff` Test transaction handoff flow

3. Capability Discovery Testing

Scenario Description
`capability_discovery` Verify `get_adcp_capabilities` returns valid v3 response
`protocol_negotiation` Test that reported protocols match implemented tools

4. v3 Breaking Change Validation

Schema-level validation for v3 migrations:

  • Channel taxonomy (v3 has 19 channels vs v2's 5)
  • Pricing fields (`fixed_rate` → `fixed_price`, `price_guidance.floor` → `floor_price`)
  • Creative assignments (weighted `creative_assignments` vs `creative_ids`)
  • Geo targeting (explicit `system` field)
  • Format assets (`assets_required` → `assets` array with `required` boolean)

Use Case

Addie (AgenticAdvertising.org's community agent) uses `@adcp/client/testing` via `test_adcp_agent` to help members validate their agent implementations. Currently Addie can only test media buy agents, leaving governance and SI agents without compliance testing.

Related

  • v3 schemas: `static/schemas/source/property/`, `static/schemas/source/content-standards/`, `static/schemas/source/sponsored-intelligence/`
  • Migration guide: `docs/reference/migrating-to-v3.mdx`

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions