Skip to content

fix: omit artifacts from list tasks responses - #1212

Open
dawNotPoi wants to merge 1 commit into
a2aproject:mainfrom
dawNotPoi:fix/1211-list-tasks-artifacts
Open

fix: omit artifacts from list tasks responses#1212
dawNotPoi wants to merge 1 commit into
a2aproject:mainfrom
dawNotPoi:fix/1211-list-tasks-artifacts

Conversation

@dawNotPoi

Copy link
Copy Markdown

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

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 93.12% 93.12% 🟢 +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
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

1 participant