From 1d4c202637fd202923b333e9958621c03e9c1dad Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 8 Jul 2026 14:43:18 +0000 Subject: [PATCH] fix(compliance): replace hardcoded capability_id fixture value with field_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 --- .changeset/fix-canonical-formats-fixture-checks.md | 9 +++++++++ .../creative/scenarios/canonical_supported_formats.yaml | 8 ++------ 2 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 .changeset/fix-canonical-formats-fixture-checks.md diff --git a/.changeset/fix-canonical-formats-fixture-checks.md b/.changeset/fix-canonical-formats-fixture-checks.md new file mode 100644 index 0000000000..bdb03896a2 --- /dev/null +++ b/.changeset/fix-canonical-formats-fixture-checks.md @@ -0,0 +1,9 @@ +--- +"adcontextprotocol": patch +--- + +Fix `canonical_supported_formats` storyboard: replace hardcoded `capability_id` value assertion with `field_present` check. + +`creative.supported_formats[].capability_id` is an agent-local stable identifier — a free-form string that each creative agent defines independently. The storyboard incorrectly used `check: field_value` with the hardcoded value `"training_image_generation"`, causing every creative agent whose capability id differs from the fixture constant to fail this phase. The protocol schema (`get-adcp-capabilities-response.json`) defines `capability_id` as a free-form string with no enum constraint; the storyboard narrative itself states it is "agent-local". Changed to `check: field_present` so the check validates structure rather than a fixture-specific constant. + +Also 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") rather than a protocol requirement. Storyboards must not encode fixture-specific catalog shape as required validations. diff --git a/static/compliance/source/protocols/creative/scenarios/canonical_supported_formats.yaml b/static/compliance/source/protocols/creative/scenarios/canonical_supported_formats.yaml index cb05cebab1..f58252ca52 100644 --- a/static/compliance/source/protocols/creative/scenarios/canonical_supported_formats.yaml +++ b/static/compliance/source/protocols/creative/scenarios/canonical_supported_formats.yaml @@ -77,10 +77,9 @@ phases: - check: field_present path: "creative.supported_formats" description: "Creative canonical supported formats are advertised" - - check: field_value + - check: field_present path: "creative.supported_formats[0].capability_id" - value: "training_image_generation" - description: "The image build path has a stable local capability_id" + description: "The image build path has a stable agent-local capability_id" - check: field_value path: "creative.supported_formats[0].format.format_kind" value: "image" @@ -91,9 +90,6 @@ phases: - check: field_absent path: "creative.supported_formats[0].format.format_option_id" description: "Creative-agent build routing uses capability_id, not product format_option_id" - - check: field_absent - path: "creative.supported_formats[1].capability_id" - description: "Storyboard fixture only advertises implemented canonical build paths" - check: field_value path: "context.correlation_id" value: "creative_canonical_supported_formats--get_capabilities"