[Bug] Scaffolded agent card grows a duplicate JSONRPC 0.3 interface on every GET (card_modifier mutates the shared AgentCard)
- Dominant language
- Python
- Stars
- 5.9k
- Forks
- 660
- PR merge metrics
- No merged PRs in 30d
Description
Every project scaffolded from the ADK template appends a duplicate
`JSONRPC / 0.3` entry to `supportedInterfaces` on **every** request to the
public agent-card endpoint. The list grows without bound for the life of
the process.
### Reproduction
```bash
uv tool install google-agents-cli # 1.4.1
agents-cli create react-agent --adk
cd react-agent && uv sync
uv run uvicorn app.fast_api_app:app --host 127.0.0.1 --port 8000
for i in 1 2 3 4 5; do
curl -s localhost:8000/a2a/app/.well-known/agent-card.json \
| python3 -c "import sys,json;print(len(json.load(sys.stdin)['supportedInterfaces']))"
done
```
**Observed:** `2 3 4 5 6` — one `JSONRPC 1.0` entry plus N identical
`JSONRPC 0.3` entries, all with the same URL.
**Expected:** a stable card with exactly two interfaces, regardless of how
many times it is fetched.
Contributor guide
Research direction
Start at the scaffolded app's app.fast_api_app:app entry point and trace the public agent-card endpoint to the card_modifier mentioned in the issue. Reproduce the behavior with the provided curl loop, then verify that repeated requests leave supportedInterfaces at exactly two entries with the expected URLs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100