docs(compliance): enumerate a2a_submitted_artifact in storyboard-schema check list#3107
Merged
bokelley merged 2 commits intoApr 25, 2026
Merged
Conversation
…ma check list Adds `a2a_submitted_artifact` to the canonical `check:` enum comment in storyboard-schema.yaml and adds a sibling documentation section (modelled after the existing `refs_resolve` section) that describes the A2A wire-shape invariants the check asserts and its `not_applicable` self-skip on non-A2A transports. Runner support shipped in adcp-client#952; this is docs-only. Closes #3105 https://claude.ai/code/session_01EK9xRfKmujiZpL6GDrC5wQ
Three inaccuracies flagged by protocol expert review on the first draft: - `parts[0]` → last non-null, object-typed DataPart (last-wins semantics per test vectors task_011/task_017/task_002/task_020) - `Task.state === 'completed'` → normalised to completed, with both A2A 0.3 (`"completed"`) and A2A 1.0 (`"TASK_STATE_COMPLETED"`) wire values - `artifact.metadata.adcp_task_id` removed — not grounded in repo schemas or test vectors; explicitly out-of-scope per create_media_buy_async.yaml:45-49 https://claude.ai/code/session_01EK9xRfKmujiZpL6GDrC5wQ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #3105
Summary
Adds
a2a_submitted_artifactto the canonicalcheck:enum comment instatic/compliance/source/universal/storyboard-schema.yamland adds a sibling documentation section (modelled on the existingrefs_resolvesection). The runner already supports this check (adcp-client#952); without this doc update, storyboard authors copying patterns from existing scenarios won't discover it.Non-breaking justification: Comment-only change to a YAML file. The runner doesn't enforce the comment enum at parse time. Additive enumeration; no schema, task definition, or wire-format change.
What changed
check:enum comment (line 559):"refs_resolve"→"refs_resolve", "a2a_submitted_artifact"# A2A wire-shape — use check: a2a_submitted_artifact:section after therefs_resolveblock, documenting:Task.id/Task.contextIdnon-empty,Task.statenormalised tocompleted(both A2A 0.3"completed"and A2A 1.0"TASK_STATE_COMPLETED"wire values), last non-null object-typed DataPart'sdata.status === 'submitted', andnot_applicablegrade on non-A2A transports.Pre-PR review
The proposed wording from the issue contained three inaccuracies caught by expert review and corrected before opening:
parts[0]→ last non-null, object-typed DataPart (last-wins semantics per test vectors task_011/task_017/task_002/task_020 instatic/test-vectors/a2a-response-extraction.json)Task.state === 'completed'→ normalised tocompleted, with both A2A 0.3 and 1.0 wire values documented explicitlyartifact.metadata.adcp_task_idremoved — not grounded in repo schemas or test vectors; explicitly out-of-scope percreate_media_buy_async.yaml:45-49Pre-PR sign-offs:
submitted-state DataPart extraction path noted (runner gradesnot_applicable, not silent misdirection)Session: https://claude.ai/code/session_01EK9xRfKmujiZpL6GDrC5wQ
Generated by Claude Code