Skip to content

docs(a2a): correct misleading v1-tolerance comments - #2514

Merged
HongmingWang-Rabbit merged 1 commit into
stagingfrom
fix/honest-v1-tolerance-comments
May 2, 2026
Merged

docs(a2a): correct misleading v1-tolerance comments#2514
HongmingWang-Rabbit merged 1 commit into
stagingfrom
fix/honest-v1-tolerance-comments

Conversation

@HongmingWang-Rabbit

Copy link
Copy Markdown
Contributor

Summary

Follow-up to PR #2509 + PR #2510. The defensive v1-detection branches that survived the revert had comments claiming they fix a "v0→v1 silent-drop" bug — the 2026-05-01 hongming "no text content" incident. Live test against the (chown-fixed) hongming workspace disproved that hypothesis:

  • a2a-sdk's JSON-RPC layer validates inbound requests against the v0 Pydantic discriminated union (`TextPart | FilePart | DataPart`)
  • v1 flat shapes are rejected at the request boundary with `Field required` errors before reaching the executor
  • The v1 detection branch is unreachable on the JSON-RPC ingress path today

The actual root cause of the hongming incident was the missing `/workspace` chown — fixed by CP PR #381 (cloud-init mkdir+chown) + test pin #382 (task #230, both already shipped).

Scope

Comment-only. The defensive v1 branches stay; their docstrings now honestly describe them as future-proofing against:

  • An eventual SDK schema migration that flips the JSON-RPC union to a v1 shape
  • In-process callers (e.g. a template that constructs a Part directly from protobuf)

Also trims `ChatTab.tsx`'s outbound-shape comment from ~21 lines to a 3-line pointer to the SDK union.

Test plan

  • No code change → behavior unchanged
  • 86/86 workspace tests pass
  • 91/91 canvas tests pass

Why a follow-up PR rather than amending PR #2509

PR #2509 + PR #2510 both already merged. The misleading comments don't break anything operationally — this is a code-review finding (correctness of stated rationale), not a bug. Documenting the corrected understanding in commit history is the right shape.

Follow-up to PR #2509/#2510. The defensive v1-detection branches in
extract_attached_files (Python) and extractFilesFromTask (TypeScript)
were merged with comments claiming they fix a "v0→v1 silent-drop"
bug that surfaced as the 2026-05-01 hongming "no text content"
incident. Live test disproved that hypothesis: a2a-sdk's JSON-RPC
layer validates inbound requests against the v0 Pydantic union, so
v1 shapes are rejected at the request boundary — the v1 detection
branch is unreachable on the JSON-RPC ingress path. The actual root
cause of the hongming incident was the missing /workspace chown
fixed by CP PR #381 + test #382.

Update the comments to honestly describe these branches as
defensive future-proofing (kept against an eventual SDK schema
migration or in-process callers that construct Parts directly from
protobuf), not as fixes for an observed bug. Also trims
ChatTab.tsx's outbound-shape comment block from ~21 lines to a
3-line pointer to the SDK union.

Comment-only change. No behavior change. 86 workspace tests + 91
canvas tests still pass.
@HongmingWang-Rabbit
HongmingWang-Rabbit added this pull request to the merge queue May 2, 2026
Merged via the queue into staging with commit 1f77f41 May 2, 2026
22 checks passed
@HongmingWang-Rabbit
HongmingWang-Rabbit deleted the fix/honest-v1-tolerance-comments branch May 2, 2026 09:50
HongmingWang-Rabbit pushed a commit that referenced this pull request Jun 12, 2026
…rror logging (#2507)' (#2514) from feat/2507-kind-wire-contract-truth-up into main
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.

1 participant