UAT: asgi.py ASGI app missing /.well-known/agent.json Agent Card endpoint — A2A server discovery not implemented #4900

Open
opened 2026-04-08 20:17:34 +00:00 by HAL9000 · 2 comments
Owner

Bug Report

Feature Area: Server Mode — A2A server Agent Card discovery

What Was Tested

The ASGI server application (asgi.py) for compliance with the A2A standard's Agent Card discovery mechanism.

Expected Behavior (from spec)

Per ADR-047 (A2A Standard Adoption), ADR-048 (Server Application Architecture), and the spec's Server and Client Architecture section:

The client discovers the server's Agent Card (via /.well-known/agent.json) which declares supported auth schemes and _cleveragents extensions.

The A2A standard requires that every A2A server expose an Agent Card at GET /.well-known/agent.json. This JSON document declares:

  • The server's capabilities and supported A2A methods
  • Supported authentication schemes (e.g., Bearer token)
  • _cleveragents/ extension methods supported
  • Server version and protocol version

The connection lifecycle per ADR-048:

  1. Client fetches /.well-known/agent.json (capability exchange)
  2. Client authenticates using the declared HTTP auth scheme
  3. Client sends message/send or message/stream requests

Actual Behavior (from code)

File: src/cleveragents/a2a/asgi.py

The ASGI app only serves health/readiness probes:

_KNOWN_PATHS: frozenset[str] = frozenset({"/", "/live", "/ready", "/health"})

There is no /.well-known/agent.json endpoint. A GET /.well-known/agent.json request returns 404 {"error": "not found"}.

Without the Agent Card endpoint, the A2A connection lifecycle cannot be initiated — clients cannot discover the server's capabilities or authentication requirements.

Steps to Reproduce

# Start the ASGI server
$ agents server serve --host 127.0.0.1 --port 8080

# Try to fetch the Agent Card
$ curl http://127.0.0.1:8080/.well-known/agent.json
# Returns: {"error":"not found"} (404)

Code Location

  • src/cleveragents/a2a/asgi.py — missing /.well-known/agent.json route

Impact

The A2A server cannot be discovered by any A2A-compliant client. The entire server-mode connection lifecycle is blocked because the first step (Agent Card discovery) is not implemented. This is a prerequisite for all server-mode A2A over HTTP functionality.


Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: uat-tester

## Bug Report **Feature Area:** Server Mode — A2A server Agent Card discovery ### What Was Tested The ASGI server application (`asgi.py`) for compliance with the A2A standard's Agent Card discovery mechanism. ### Expected Behavior (from spec) Per ADR-047 (A2A Standard Adoption), ADR-048 (Server Application Architecture), and the spec's Server and Client Architecture section: > The client discovers the server's Agent Card (via `/.well-known/agent.json`) which declares supported auth schemes and `_cleveragents` extensions. The A2A standard requires that every A2A server expose an Agent Card at `GET /.well-known/agent.json`. This JSON document declares: - The server's capabilities and supported A2A methods - Supported authentication schemes (e.g., Bearer token) - `_cleveragents/` extension methods supported - Server version and protocol version The connection lifecycle per ADR-048: 1. Client fetches `/.well-known/agent.json` (capability exchange) 2. Client authenticates using the declared HTTP auth scheme 3. Client sends `message/send` or `message/stream` requests ### Actual Behavior (from code) **File:** `src/cleveragents/a2a/asgi.py` The ASGI app only serves health/readiness probes: ```python _KNOWN_PATHS: frozenset[str] = frozenset({"/", "/live", "/ready", "/health"}) ``` There is **no `/.well-known/agent.json` endpoint**. A `GET /.well-known/agent.json` request returns `404 {"error": "not found"}`. Without the Agent Card endpoint, the A2A connection lifecycle cannot be initiated — clients cannot discover the server's capabilities or authentication requirements. ### Steps to Reproduce ```bash # Start the ASGI server $ agents server serve --host 127.0.0.1 --port 8080 # Try to fetch the Agent Card $ curl http://127.0.0.1:8080/.well-known/agent.json # Returns: {"error":"not found"} (404) ``` ### Code Location - `src/cleveragents/a2a/asgi.py` — missing `/.well-known/agent.json` route ### Impact The A2A server cannot be discovered by any A2A-compliant client. The entire server-mode connection lifecycle is blocked because the first step (Agent Card discovery) is not implemented. This is a prerequisite for all server-mode A2A over HTTP functionality. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
freemo added this to the v3.5.0 milestone 2026-04-08 23:39:56 +00:00
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: High — Agent Card endpoint is required for A2A ecosystem discovery; without it, server is not A2A-compliant
  • Milestone: v3.5.0 (Autonomy Hardening — server mode features)
  • Story Points: 3 — M — Adding a well-known endpoint to the ASGI app is a medium task
  • MoSCoW: Must Have — A2A Agent Card discovery is a protocol requirement for server mode interoperability
  • Parent Epic: #4947 (Server Implementation Legendary)

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: High — Agent Card endpoint is required for A2A ecosystem discovery; without it, server is not A2A-compliant - **Milestone**: v3.5.0 (Autonomy Hardening — server mode features) - **Story Points**: 3 — M — Adding a well-known endpoint to the ASGI app is a medium task - **MoSCoW**: Must Have — A2A Agent Card discovery is a protocol requirement for server mode interoperability - **Parent Epic**: #4947 (Server Implementation Legendary) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium — ASGI app missing Agent Card endpoint (/.well-known/agent.json)
  • Milestone: v3.5.0 — A2A/ASGI server features are M6 scope
  • Story Points: 3 — M — Adding Agent Card endpoint to ASGI app
  • MoSCoW: Should Have — Agent Card is part of A2A protocol but not blocking local workflow
  • Parent Epic: #360 (Autonomy Hardening + Stubs M6)

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium — ASGI app missing Agent Card endpoint (/.well-known/agent.json) - **Milestone**: v3.5.0 — A2A/ASGI server features are M6 scope - **Story Points**: 3 — M — Adding Agent Card endpoint to ASGI app - **MoSCoW**: Should Have — Agent Card is part of A2A protocol but not blocking local workflow - **Parent Epic**: #360 (Autonomy Hardening + Stubs M6) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#4900
No description provided.