# A2Aは「つながる」だけでは相互運用にならない

CURRENT_STATUS: CURRENT
OBSERVATION: SPEC_ONLY
FRESHNESS: CURRENT
PAGE_TYPE: reference
CANONICAL_URL: /tools/ea-158-a2a
CLAIM_IDS: none
EVIDENCE_IDS: EA-158-CURRENT-APPROVAL, EA-158-CURRENT-BODY-READBACK
UNKNOWN_IDS: EA-158-UNKNOWN-01
OPS_IDS: none

## Summary
A2A 1.0はagent間のdiscovery、message、Task、Artifact、streaming/pushを共通化するprotocol contractである。ただし「A2A対応」だけでは相互運用の十分条件ではない。interfaceごとのprotocol version/binding、Agent Card trust、request authorization、tenant isolation、Task/Artifact semantics、failure/retryを分離して検証する。

## Current judgment
A2A 1.0はagent間のdiscovery、message、Task、Artifact、streaming/pushを共通化するprotocol contractである。ただし「A2A対応」だけでは相互運用の十分条件ではない。interfaceごとのprotocol version/binding、Agent Card trust、request authorization、tenant isolation、Task/Artifact semantics、failure/retryを分離して検証する。

## Scope
A2Aは「つながる」だけでは相互運用にならない

## Confirmed

## UNKNOWN
- EA-158-UNKNOWN-01: - provider横断のA2A 1.0 conformance実測。
- JSON-RPC/gRPC/HTTP+JSON間のsemantic parity。
- Agent Card freshness/registry mirror/緊急失効の共通運用。
- delegated authorization/token propagation。
- Task retry/cancel/idempotencyのSDK間差異。
- Artifact checksum/provenance。
- push delivery retry/dedup/replay。
- managed gatewayのtenant isolation。
- cross-organization incident corpus。

## Evidence
- EA-158-CURRENT-APPROVAL (RESEARCH): 現行本文の監査・revision対応
- EA-158-CURRENT-BODY-READBACK (IMPL): 現行本文の収録照合

## Failure / limits
Agent Card取得成功をremote agent能力の証拠にする。
## Failure / limits
Signed Agent Cardをrequest authorization成立と同一視する。
## Failure / limits
JSON-RPC成功をgRPC/HTTP+JSONへ一般化する。
## Failure / limits
protocolVersionを確認せずv0.3とv1.0を暗黙互換とみなす。
## Failure / limits
Task acceptanceを業務完了とみなす。
## Failure / limits
CancelTask成功を既実行side effectのrollbackとみなす。
## Failure / limits
push callbackを通常requestと同じtrust boundaryで扱う。
## Practice
Agent Card取得元とfreshness。
## Practice
supportedInterfaces のURL・binding・protocolVersion。
## Practice
clientが実際に選んだbinding/version。
## Practice
authentication schemeとrequest authorization。
## Practice
Signed Agent Cardのtrust store、kid/jku、rotation/revocation。
## Practice
tenant routingとcross-tenant resource isolation。
## Practice
Task state、cancel/retry、duplicate、idempotency。
## Practice
Artifact provenance/integrity。
## Practice
streaming/push callbackのauthentication、replay、SSRF境界。
## Practice
provider/SDK/region/org policyによるavailability。
## 結論・何が分かったか
A2A 1.0はagent-to-agent通信の共通契約を提供するが、endpointへ到達できること、Agent Cardを読めること、Taskを受理されたことだけでは相互運用成立とは判定できない。実運用では、少なくとも protocol version、protocol binding、Agent Card、認証・認可、tenant routing、Task/Artifact semantics、streaming/push、署名・鍵trust、error/cancel/retry を分離して確認する必要がある。

## 確認できたclaim
### Claim 1 — A2A 1.0ではversionとbindingをinterface単位で扱う
現行仕様では AgentInterface が endpoint URL、protocolBinding、protocolVersion を持つ。標準bindingは JSON-RPC、gRPC、HTTP+JSON であり、Agent Cardは利用可能なinterfaceを順序付きで宣言する。

### Claim 2 — 複数bindingは意味的等価性を要求される
複数protocolを提供するagentは、core operation、behavior、error mapping、authenticationを機能的に等価に保つことを要求される。JSON-RPCだけの疎通成功をgRPC/HTTP+JSONの成功へ一般化してはならない。

### Claim 3 — Agent Cardはdiscovery contractであり能力の真実性証明ではない
Agent Cardはidentity、capabilities、skills、supported interfaces、security requirements等を宣言する。A2A 1.0ではJWS署名とJCS canonicalizationを利用できるが、署名はCardの真正性・完全性を強化するだけで、capability truthやrequest authorization、business outcomeを証明しない。

### Claim 4 — tenant routingもprotocol contractの一部である
AgentInterfaceはtenant routing値を持ち得る。endpoint共有型では、接続成功だけでtenant isolationを判定せず、cross-tenant task/list/cancel/artifact accessをnegative testする必要がある。

### Claim 5 — Task受理は完了・rollback・exactly-onceを意味しない
A2Aはmessage、Task、Artifact、streaming/push等を定義するが、外部business APIの既実行side effect rollback、duplicate delivery完全排除、業務結果の正しさまではprotocol単体で保証しない。

## 失敗経路・反証・例外
- Agent Card取得成功をremote agent能力の証拠にする。
- Signed Agent Cardをrequest authorization成立と同一視する。
- JSON-RPC成功をgRPC/HTTP+JSONへ一般化する。
- protocolVersionを確認せずv0.3とv1.0を暗黙互換とみなす。
- Task acceptanceを業務完了とみなす。
- CancelTask成功を既実行side effectのrollbackとみなす。
- push callbackを通常requestと同じtrust boundaryで扱う。

## Availability Gate
1. Agent Card取得元とfreshness。
2. supportedInterfaces のURL・binding・protocolVersion。
3. clientが実際に選んだbinding/version。
4. authentication schemeとrequest authorization。
5. Signed Agent Cardのtrust store、kid/jku、rotation/revocation。
6. tenant routingとcross-tenant resource isolation。
7. Task state、cancel/retry、duplicate、idempotency。
8. Artifact provenance/integrity。
9. streaming/push callbackのauthentication、replay、SSRF境界。
10. provider/SDK/region/org policyによるavailability。

## OPEN_UNKNOWN
- provider横断のA2A 1.0 conformance実測。
- JSON-RPC/gRPC/HTTP+JSON間のsemantic parity。
- Agent Card freshness/registry mirror/緊急失効の共通運用。
- delegated authorization/token propagation。
- Task retry/cancel/idempotencyのSDK間差異。
- Artifact checksum/provenance。
- push delivery retry/dedup/replay。
- managed gatewayのtenant isolation。
- cross-organization incident corpus。

## 実務チェックポイント
接続前にAgent Cardを保存し、interfaceごとのbinding/version/security requirementを固定する。各bindingへ同一fixtureを流し、success/error/authenticationの等価性を確認する。task/artifact/list/cancelをtenant・actor・scope違いでnegative testする。Card署名検証と能力実測を分離し、disconnect、duplicate push、retry、cancel/commit raceを障害試験する。

## 証拠・更新情報
Evidence as of: 2026-10-11 JST.

Primary / author-maintained:
- A2A Protocol Specification — latest released version 1.0.0.
- specification/a2a.proto — AgentInterface / AgentCard / AgentCardSignature.
- A2A specification sections for binding interoperability and Agent Card signing.
- A2A custom protocol bindings guidance.
- Existing EA-158 canonical research/audit packet.

GX provenance:
- GX01_RUN_20260928_1113_A3. GX RUN番号はprovenanceであり公開記事identityではない。

## SAFE_WORDING
A2A 1.0はagent間のdiscovery、message、Task、Artifact、streaming/pushを共通化するprotocol contractである。ただし「A2A対応」だけでは相互運用の十分条件ではない。interfaceごとのprotocol version/binding、Agent Card trust、request authorization、tenant isolation、Task/Artifact semantics、failure/retryを分離して検証する。

NEXT: /agent/start.json
STOP: This is a knowledge projection, not an execution order.