Skip to content

fix: Gate creative fate storyboard on library support - #6713

Open
mvanhorn wants to merge 1 commit into
adcontextprotocol:mainfrom
mvanhorn:fix/6701-gate-creative-library-storyboard
Open

fix: Gate creative fate storyboard on library support#6713
mvanhorn wants to merge 1 commit into
adcontextprotocol:mainfrom
mvanhorn:fix/6701-gate-creative-library-storyboard

Conversation

@mvanhorn

Copy link
Copy Markdown

Summary

Add the existing requires_capability predicate for creative.has_creative_library == true at storyboard level in creative_fate_after_cancellation.yaml, and increment the storyboard's patch version because its applicability contract changes. Extend the existing SDK-backed capability-gate regression suite to load the real storyboard and prove that an explicit false declaration skips the whole storyboard even when all required tools are auto-registered, while a true declaration passes the gate; strip executable phases only for the affirmative check so the test exercises selection without network calls. Add a descriptive protocol patch changeset explaining that library-less sellers now exclude this storyboard from runnable coverage and therefore may see corrected badge/completeness denominators.

Validation

  • With creative.has_creative_library: false and every storyboard tool present in agentTools, running the real storyboard returns one whole-storyboard capability_unsupported/not_applicable skip, performs no scenario steps, and records no failure.
  • With creative.has_creative_library: true, the same storyboard satisfies the gate; a non-executable copy with prerequisites and phases removed reaches the normal no_phases result instead of capability rejection.
  • With the capability path absent, the storyboard remains not applicable rather than inferring support from sync_creatives or list_creatives tool registration.
  • The compliance source build/check accepts the gated storyboard and the changeset communicates the expected runnable-scenario and badge/completeness-score shift without modifying a released semver artifact.

Why

media_buy_seller/creative_fate_after_cancellation calls sync_creatives and list_creatives but has no storyboard-level applicability gate, so a seller explicitly declaring creative.has_creative_library: false can be selected and then fail outside its advertised scope. The repository contract says an unsatisfied storyboard-level requires_capability gate must produce a clean not_applicable result before tool and phase execution. This plan covers the independently mergeable patch for that storyboard only; it does not introduce the compound gate needed by the other three scenarios or rewrite immutable 3.0/3.1 release artifacts.

Closes #6701

@aao-ipr-bot

aao-ipr-bot Bot commented Aug 20, 2026

Copy link
Copy Markdown

IPR Policy Agreement Required

@mvanhorn — thanks for the contribution. Before this PR can be merged, the AgenticAdvertising.Org IPR Policy requires your agreement.

To agree, post a new comment on this PR with the exact phrase:

I have read the IPR Policy

Your signature is recorded once and covers all contributions to AAO repositories. See signatures/README.md for what gets recorded and why.

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.

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

1 participant