Skip to content

docs(compliance): enumerate a2a_submitted_artifact in storyboard-schema check list#3107

Merged
bokelley merged 2 commits into
mainfrom
claude/issue-3105-a2a-submitted-artifact-check-docs
Apr 25, 2026
Merged

docs(compliance): enumerate a2a_submitted_artifact in storyboard-schema check list#3107
bokelley merged 2 commits into
mainfrom
claude/issue-3105-a2a-submitted-artifact-check-docs

Conversation

@bokelley

Copy link
Copy Markdown
Contributor

Closes #3105

Summary

Adds a2a_submitted_artifact to the canonical check: enum comment in static/compliance/source/universal/storyboard-schema.yaml and adds a sibling documentation section (modelled on the existing refs_resolve section). 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"
  • New # A2A wire-shape — use check: a2a_submitted_artifact: section after the refs_resolve block, documenting: Task.id/Task.contextId non-empty, Task.state normalised to completed (both A2A 0.3 "completed" and A2A 1.0 "TASK_STATE_COMPLETED" wire values), last non-null object-typed DataPart's data.status === 'submitted', and not_applicable grade 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 in static/test-vectors/a2a-response-extraction.json)
  • Task.state === 'completed'normalised to completed, with both A2A 0.3 and 1.0 wire values documented explicitly
  • 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

Pre-PR sign-offs:

  • code-reviewer: approved — no blockers; enum ordering (addition-order) and section placement correct
  • ad-tech-protocol-expert: approved after blocker fixes — all three prior blockers resolved; nit on submitted-state DataPart extraction path noted (runner grades not_applicable, not silent misdirection)

Session: https://claude.ai/code/session_01EK9xRfKmujiZpL6GDrC5wQ


Generated by Claude Code

claude added 2 commits April 25, 2026 11:52
…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
@bokelley bokelley marked this pull request as ready for review April 25, 2026 23:50
@bokelley bokelley merged commit 0082c7b into main Apr 25, 2026
14 checks passed
@bokelley bokelley deleted the claude/issue-3105-a2a-submitted-artifact-check-docs branch April 25, 2026 23:50
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.

docs(storyboard-schema): enumerate a2a_submitted_artifact in validation check list

2 participants