Skip to content

fix: omit artifacts from list tasks responses - #1212

Merged
mykytanetipa merged 2 commits into
a2aproject:mainfrom
dawNotPoi:fix/1211-list-tasks-artifacts
Aug 31, 2026
Merged

fix: omit artifacts from list tasks responses#1212
mykytanetipa merged 2 commits into
a2aproject:mainfrom
dawNotPoi:fix/1211-list-tasks-artifacts

Conversation

@dawNotPoi

Copy link
Copy Markdown
Contributor

Description

The A2A specification requires each Task in a ListTasks response to omit the artifacts field when includeArtifacts is false or unset. The protobuf response already excludes artifact content, but JSON serialization with default fields enabled emitted artifacts: [].

This change centralizes ListTasks wire serialization for REST and JSON-RPC. It preserves the existing pagination fields while removing the artifacts key unless the request explicitly enables it. When enabled, the field remains present with its actual content, including an empty array for tasks without artifacts.

Regression tests cover both the default behavior and includeArtifacts=true across both protocol bindings.

  • Follow the CONTRIBUTING Guide.
  • Make the Pull Request title in the https://www.conventionalcommits.org/ specification.
  • Ensure the tests and linter pass (bash scripts/format.sh / project lint checks).
  • Appropriate docs were updated (not required; this aligns serialization with the existing protocol contract).

Validation:

  • Route suites: 40 passed
  • Full suite: 1974 passed, 90 skipped, 3 xfailed, 1 xpassed
  • Coverage suite: 93% total coverage (88% required)
  • ./scripts/lint.sh (Ruff, format, and ty)

Fixes #1211 🦕

@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown

🧪 Code Coverage (vs main)

⬇️ Download Full Report

Base PR Delta
src/a2a/server/routes/common.py 89.66% 92.31% 🟢 +2.65%
Total 92.96% 92.97% 🟢 +0.01%

Generated by coverage-comment.yml

@dawNotPoi
dawNotPoi marked this pull request as ready for review August 27, 2026 14:50
@dawNotPoi
dawNotPoi requested a review from a team as a code owner August 27, 2026 14:50

@mykytanetipa mykytanetipa left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mykytanetipa
mykytanetipa merged commit 35ef52e into a2aproject:main Aug 31, 2026
16 checks passed
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.

[Bug]: ListTasks breaks the includeArtifacts=false spec "MUST omit" requirement

2 participants