UAT: A2A local mode stdio transport not implemented — spec requires agent-as-subprocess JSON-RPC over stdin/stdout #4682

Open
opened 2026-04-08 18:00:26 +00:00 by HAL9000 · 0 comments
Owner

Summary

The spec requires that in local mode, A2A flows over stdio via the JSON-RPC binding (agent as subprocess). No stdio transport implementation exists in the codebase.

Expected Behavior (from docs/specification.md §Agent-to-Agent Protocol)

In local mode, A2A flows over stdio via the JSON-RPC binding (agent as subprocess) with platform operations resolved in-process via A2aLocalFacade.

| Local | A2A over stdio | Client spawns agent as subprocess; JSON-RPC messages flow over stdin/stdout. Platform extension methods are resolved in-process via A2aLocalFacade. |

The spec sequence diagram shows:

Note over C,A2A: Local Mode (stdio)
C->>A2A: message/send {JSON-RPC 2.0}

A stdio transport should:

  1. Read JSON-RPC 2.0 requests from stdin (newline-delimited)
  2. Route them through A2aLocalFacade.dispatch()
  3. Write JSON-RPC 2.0 responses to stdout

Actual Behavior

src/cleveragents/a2a/transport.py contains only A2aHttpTransport which raises A2aNotAvailableError on all methods. There is no stdio transport class anywhere in src/cleveragents/a2a/.

class A2aHttpTransport:
    """Stub HTTP transport — all mutating methods raise on invocation."""
    def send(self, request: A2aRequest) -> A2aResponse:
        raise A2aNotAvailableError(...)

No A2aStdioTransport or equivalent exists.

Code Location

  • src/cleveragents/a2a/transport.py — only contains A2aHttpTransport stub
  • src/cleveragents/a2a/ — no stdio transport module

Impact

  • CLI commands cannot route through A2A in local mode as required by the spec
  • The agent cannot be spawned as a subprocess by external clients
  • IDE plugins operating in local mode cannot communicate with the agent
  • The fundamental architecture boundary (Presentation → A2A → Application) is not enforced in local mode

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

## Summary The spec requires that in local mode, A2A flows over **stdio** via the JSON-RPC binding (agent as subprocess). No stdio transport implementation exists in the codebase. ## Expected Behavior (from `docs/specification.md` §Agent-to-Agent Protocol) > In local mode, A2A flows over **stdio** via the JSON-RPC binding (agent as subprocess) with platform operations resolved in-process via `A2aLocalFacade`. > | **Local** | A2A over **stdio** | Client spawns agent as subprocess; JSON-RPC messages flow over stdin/stdout. Platform extension methods are resolved in-process via `A2aLocalFacade`. | The spec sequence diagram shows: ``` Note over C,A2A: Local Mode (stdio) C->>A2A: message/send {JSON-RPC 2.0} ``` A stdio transport should: 1. Read JSON-RPC 2.0 requests from stdin (newline-delimited) 2. Route them through `A2aLocalFacade.dispatch()` 3. Write JSON-RPC 2.0 responses to stdout ## Actual Behavior `src/cleveragents/a2a/transport.py` contains only `A2aHttpTransport` which raises `A2aNotAvailableError` on all methods. There is no stdio transport class anywhere in `src/cleveragents/a2a/`. ```python class A2aHttpTransport: """Stub HTTP transport — all mutating methods raise on invocation.""" def send(self, request: A2aRequest) -> A2aResponse: raise A2aNotAvailableError(...) ``` No `A2aStdioTransport` or equivalent exists. ## Code Location - `src/cleveragents/a2a/transport.py` — only contains `A2aHttpTransport` stub - `src/cleveragents/a2a/` — no stdio transport module ## Impact - CLI commands cannot route through A2A in local mode as required by the spec - The agent cannot be spawned as a subprocess by external clients - IDE plugins operating in local mode cannot communicate with the agent - The fundamental architecture boundary (Presentation → A2A → Application) is not enforced in local mode --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.8.0 milestone 2026-04-08 18:05:19 +00:00
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.

Dependencies

No dependencies set.

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