[Bug]: AgentCard REQUIRED fields are never validated
メンテナーはふだん 2 日以内に返信
評価
この issue はまだ評価されていません。
説明
What happened?
AgentCard marks 8 fields field_behavior = REQUIRED (https://github.com/a2aproject/A2A/blob/main/specification/a2a.proto#L362-L399): name, description, supported_interfaces, version, capabilities, default_input_modes, default_output_modes, skills.
Nothing in the SDK checks them. proto3 has no required keyword and the annotation is inert metadata, so an empty card is constructible and travels the whole pipeline unchallenged:
AgentCard() # -> served as HTTP 200 with body {}
None of the methods that accept a card validate it:
- create_agent_card_routes(agent_card=...)
- DefaultRequestHandler(agent_card=..., extended_agent_card=...) and on_get_extended_agent_card — validates the request, never the returned card
- agent_card_to_dict(card)
Correct fix: call the existing validate_proto_required_fields where the card is passed. This would introduce breaking changes for clients that rely on non-spec compliant agent card.
Suggested first step: log a warning when validation fails rather than raising, which is non-breaking and surfaces the problem to the user, with enforcement by default deferred to a major version.
Relevant log output
Code of Conduct
- I agree to follow this project's Code of Conduct
- 主要言語
- Python
- スター
- 2.2k
- フォーク
- 509
- 平均マージ
- 3日 13時間
- マージ済み PR(30日)
- 40
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
a2aproject/a2a-python のほかの issue
-
[Bug]: REST task/request id sanitization対応中かも @Linux2010 が 100 日前に担当しました。 オープンmaintainers-only
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
a2aproject/a2a-python#805 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
[Bug]: DefaultRequestHandler runs follow-up messages on a task with the first request's contextvars対応中かも @rohityan が 1 日前に担当しました。 オープン
a2aproject/a2a-python#1316 · リアクション 1 件 · 担当者 2 名 ·
メンテナーはふだん 2 日以内に返信
-
[Bug]: Push notification store failure rewrites a completed task as FAILED (DefaultRequestHandlerV2)対応中かも @rohityan が 1 日前に担当しました。 オープン
a2aproject/a2a-python#1313 · 担当者 2 名 ·
メンテナーはふだん 2 日以内に返信
-
v0.3 JSON-RPC and REST GetTask return no history when history_length is 0対応中かも @rohityan が 2 日前に担当しました。 オープン
a2aproject/a2a-python#1311 · 担当者 2 名 ·
メンテナーはふだん 2 日以内に返信
-
[Bug]: DefaultRequestHandlerV2 keeps the ActiveTask (producer, consumer, 2 dispatchers) alive forever after a direct Message or input-required response対応中かも @rohityan が 4 日前に担当しました。 オープン
a2aproject/a2a-python#1296 · 担当者 2 名 ·
メンテナーはふだん 2 日以内に返信
a2aproject/a2a-python の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 3 日以内に返信
-
Negation with "not" and "no" is ignored during sentiment analysis対応中かも @vivek-3728 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
techcsispit/mess-mood#11 · コメント 1 件 ·
-
changelog investigate
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ramnes/notion-sdk-py#408 ·
-
good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
btclib-org/btclib-wallet#267 ·
メンテナーはふだん 1 日以内に返信
-
good first issue tech-debt
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
knnmelprop/YAADO#111 ·