Skip to content

fix(compliance): gate creative-library storyboards and backport 3.0/3.1 packs #6701

Description

@bokelley

Problem

The published 3.0 and 3.1 compliance packs still select creative-dependent seller scenarios for agents that explicitly advertise:

creative:
  has_creative_library: false

Those agents cannot support the sync_creatives setup used by the scenarios, so the harness reports a compliance failure for behavior that is outside the agent's declared scope.

This was isolated while resolving adcontextprotocol/adcp-client#2401. The remaining fix belongs in the upstream compliance source and generated packs, not in the SDK runner.

Affected scenarios include:

  • media_buy_seller/pending_creatives_to_start (3.0 and 3.1)
  • media_buy_seller/creative_fate_after_cancellation (3.0 and 3.1)
  • media_buy_seller/dependency_impairment (3.1)
  • media_buy_seller/dependency_impairment_cardinality (3.1)

The dependency-impairment scenarios declare has_creative_library in required_features, but that is not currently sufficient to prevent selection when tools are auto-registered. The selection path needs an authoritative capability gate.

Proposed fix

Add a source-level scenario or setup-phase gate equivalent to:

requires_capability:
  path: creative.has_creative_library
  equals: true

Apply it consistently to every scenario whose setup or assertions require a creative library. Ensure tool availability or auto-registration cannot override an explicit has_creative_library: false.

Backport requirement

Please implement this in the current compliance source, then backport and regenerate the active AdCP 3.0 and 3.1 packs wherever each scenario exists. At minimum, the currently consumed 3.0.24 and 3.1.15 pack lines need corrected published artifacts and indexes.

This must not be fixed only on the newest protocol line: SDK users testing 3.0 and 3.1 sellers need the corrected storyboard selection behavior.

Acceptance criteria

  • An agent declaring creative.has_creative_library: false skips these scenarios rather than failing them.
  • An agent declaring creative.has_creative_library: true still runs them.
  • Tool auto-registration does not bypass the capability gate.
  • Source storyboards and generated/published 3.0 and 3.1 packs are updated where applicable.
  • Pack/index regeneration preserves correct badge and completeness calculations.

Client-side tracking: adcontextprotocol/adcp-client#2401

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingclaude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.compliance-suitecreativepriority:P0Immediate priority: user/revenue/security/reliability bug to work now

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions