UAT: A2A HTTP Transport is a non-functional stub — server mode cannot connect to any server #4926

Open
opened 2026-04-08 22:59:22 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Feature Area: Server Mode and Multi-User — A2A HTTP Transport

Severity: Critical (blocks all server mode functionality)

What Was Tested

The A2aHttpTransport class in src/cleveragents/a2a/transport.py is the implementation of A2A over HTTP, which is the sole communication protocol for server mode per the specification.

Expected Behavior (from spec)

Per the specification (Server and Client Architecture section) and ADR-047:

In server mode, A2A flows over HTTP to the CleverAgents server. Both transports use the A2A Python SDK.

When server.url is set, the client switches to server mode: A2A methods flow over HTTP instead of stdio, and server namespaces become available.

The A2aHttpTransport should:

  1. connect(base_url) — open a connection to the A2A server
  2. send(request) — send A2A JSON-RPC 2.0 requests over HTTP
  3. disconnect() — close the connection
  4. is_connected() — return True when connected

Actual Behavior

Every method in A2aHttpTransport raises A2aNotAvailableError with the message:

"A2A HTTP transport is not available in local mode - server mode will be implemented as a separate project"

The module docstring explicitly states:

"""A2A server-mode HTTP transport stub.
Every method raises :class:`A2aNotAvailableError`. When server mode is
implemented (separate project) the concrete transport will replace this stub.
"""

is_connected() always returns False.

Code Location

  • src/cleveragents/a2a/transport.py — entire file is a stub

Steps to Reproduce

from cleveragents.a2a.transport import A2aHttpTransport
from cleveragents.a2a.models import A2aRequest

transport = A2aHttpTransport()
transport.connect("https://agents.example.com")  # Raises A2aNotAvailableError

Impact

  • All server mode functionality is blocked — no client can connect to a CleverAgents server
  • Teams cannot share resources, actors, actions, or projects via server mode
  • Remote plan execution is impossible
  • Cross-device session continuity is impossible
  • The agents server connect command saves config but explicitly warns "no connection will be made"
  • ADR-047 (A2A Standard Adoption)
  • ADR-023 (Server Mode)
  • src/cleveragents/cli/commands/server.pyserver_connect command returns status: "stubbed"

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

## Bug Report **Feature Area:** Server Mode and Multi-User — A2A HTTP Transport **Severity:** Critical (blocks all server mode functionality) ### What Was Tested The `A2aHttpTransport` class in `src/cleveragents/a2a/transport.py` is the implementation of A2A over HTTP, which is the sole communication protocol for server mode per the specification. ### Expected Behavior (from spec) Per the specification (Server and Client Architecture section) and ADR-047: > In server mode, A2A flows over **HTTP** to the CleverAgents server. Both transports use the A2A Python SDK. > When `server.url` is set, the client switches to server mode: A2A methods flow over HTTP instead of stdio, and server namespaces become available. The `A2aHttpTransport` should: 1. `connect(base_url)` — open a connection to the A2A server 2. `send(request)` — send A2A JSON-RPC 2.0 requests over HTTP 3. `disconnect()` — close the connection 4. `is_connected()` — return `True` when connected ### Actual Behavior Every method in `A2aHttpTransport` raises `A2aNotAvailableError` with the message: ``` "A2A HTTP transport is not available in local mode - server mode will be implemented as a separate project" ``` The module docstring explicitly states: ```python """A2A server-mode HTTP transport stub. Every method raises :class:`A2aNotAvailableError`. When server mode is implemented (separate project) the concrete transport will replace this stub. """ ``` `is_connected()` always returns `False`. ### Code Location - `src/cleveragents/a2a/transport.py` — entire file is a stub ### Steps to Reproduce ```python from cleveragents.a2a.transport import A2aHttpTransport from cleveragents.a2a.models import A2aRequest transport = A2aHttpTransport() transport.connect("https://agents.example.com") # Raises A2aNotAvailableError ``` ### Impact - **All server mode functionality is blocked** — no client can connect to a CleverAgents server - Teams cannot share resources, actors, actions, or projects via server mode - Remote plan execution is impossible - Cross-device session continuity is impossible - The `agents server connect` command saves config but explicitly warns "no connection will be made" ### Related - ADR-047 (A2A Standard Adoption) - ADR-023 (Server Mode) - `src/cleveragents/cli/commands/server.py` — `server_connect` command returns `status: "stubbed"` --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.5.0 milestone 2026-04-09 05:43:15 +00:00
Author
Owner

Label compliance fix applied:

  • Assigned milestone: based on issue scope (server-side implementation area)
  • Reason: Non-Epic, non-Legendary issue in State/In Progress was missing a milestone assignment per CONTRIBUTING.md requirements.

Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: backlog-groomer

Label compliance fix applied: - Assigned milestone: based on issue scope (server-side implementation area) - Reason: Non-Epic, non-Legendary issue in `State/In Progress` was missing a milestone assignment per CONTRIBUTING.md requirements. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: backlog-groomer
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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#4926
No description provided.