Skip to content

fix(compliance): replace hardcoded capability_id fixture value with field_present check#5845

Draft
bokelley wants to merge 1 commit into
mainfrom
claude/issue-5843-canonical-formats-capability-id
Draft

fix(compliance): replace hardcoded capability_id fixture value with field_present check#5845
bokelley wants to merge 1 commit into
mainfrom
claude/issue-5843-canonical-formats-capability-id

Conversation

@bokelley

@bokelley bokelley commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes canonical_supported_formats storyboard: the capability_discovery phase incorrectly asserted a fixture-specific capability_id value ("training_image_generation") as a required protocol validation, causing every creative agent with a different — but equally valid — capability identifier to fail compliance.

  • Changed check: field_value (hardcoded "training_image_generation") to check: field_present on creative.supported_formats[0].capability_id, so the check validates structure rather than a fixture constant.
  • Removed a companion field_absent check on creative.supported_formats[1].capability_id whose own description identified it as a fixture constraint ("only advertises implemented canonical build paths"), not a protocol requirement.

creative.supported_formats[].capability_id is an agent-local stable identifier — a free-form string each creative agent defines independently. The protocol schema (get-adcp-capabilities-response.json) defines it with no enum constraint, and the storyboard narrative itself states it is "agent-local". The data flow from context_outputs to $context.image_build_capability_id in the build phase is unaffected.

Closes #5843

Test plan

  • canonical_supported_formats storyboard passes for a creative agent with any capability_id value
  • canonical_supported_formats storyboard still correctly validates that a capability_id is present (structure check intact)
  • canonical_supported_formats storyboard still validates format.format_kind: "image" (protocol-level assertion unchanged)
  • Context output image_build_capability_id is captured and consumed by the subsequent build phase
  • Changeset scope check passes (patch for adcontextprotocol)

Generated by Claude Code

…ield_present check

creative.supported_formats[].capability_id is an agent-local stable
identifier with no protocol enum. The storyboard incorrectly asserted
the fixture-specific value "training_image_generation", causing every
creative agent with a different capability id to fail validation.

Changed check: field_value (with hardcoded value) to check: field_present
so the check validates structure rather than a fixture constant. Also
removed the companion field_absent check on supported_formats[1].capability_id
whose own description identified it as fixture-specific catalog shape.

Closes #5843
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claude-triaged Issue has been triaged by the Claude Code triage routine. Remove to re-triage.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

creative/canonical_supported_formats storyboard hardcodes capability_id "training_image_generation" instead of reading from agent response

2 participants