Problem Description
e2e/tck/sut.go wires a working GetExtendedAgentCard handler via a2asrv.WithExtendedAgentCard(agentCard) (sut.go:103), and the RPC succeeds unauthenticated when called directly. However, the SUT's public AgentCard only sets Capabilities: a2a.AgentCapabilities{Streaming: true} — it never sets ExtendedAgentCard: true.
This means any spec-compliant client that checks capabilities.extendedAgentCard before attempting the RPC (as recommended by the A2A spec) cannot exercise this code path against the TCK SUT at all, since the public card tells clients not to bother.
Repro
cd e2e/tck && go run sut.go sut_agent_executor.go -mode http
curl http://127.0.0.1:9999/.well-known/agent-card.json | jq .capabilities
# {"streaming": true} — no extendedAgentCard field
Requested Fix
Add a flag (e.g. -extended-card) or set ExtendedAgentCard: true on the SUT's public card, so client SDKs/CLIs have a deterministic, credential-free, network-free target for testing extended-card discovery — currently the only way to test this end-to-end is against a live, OAuth-gated, non-CI-safe server.
Found while validating a2acli's discover --extended command against the TCK SUT (a2a-go v2.4.0).
Problem Description
e2e/tck/sut.gowires a workingGetExtendedAgentCardhandler viaa2asrv.WithExtendedAgentCard(agentCard)(sut.go:103), and the RPC succeeds unauthenticated when called directly. However, the SUT's publicAgentCardonly setsCapabilities: a2a.AgentCapabilities{Streaming: true}— it never setsExtendedAgentCard: true.This means any spec-compliant client that checks
capabilities.extendedAgentCardbefore attempting the RPC (as recommended by the A2A spec) cannot exercise this code path against the TCK SUT at all, since the public card tells clients not to bother.Repro
Requested Fix
Add a flag (e.g.
-extended-card) or setExtendedAgentCard: trueon the SUT's public card, so client SDKs/CLIs have a deterministic, credential-free, network-free target for testing extended-card discovery — currently the only way to test this end-to-end is against a live, OAuth-gated, non-CI-safe server.Found while validating
a2acli'sdiscover --extendedcommand against the TCK SUT (a2a-go v2.4.0).