UAT: session tell does not route through A2A facade — violates spec's "every CLI command maps to an A2A operation" requirement #4685

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

Summary

The agents session tell command directly calls SessionService.append_message() without routing through A2aLocalFacade. The spec requires that every CLI command maps to an A2A operation.

Expected Behavior (from docs/specification.md)

Every CLI command maps to an A2A operation.

All clients — CLI, TUI, IDE plugin, and third-party — communicate exclusively through A2A.

The spec sequence diagram shows:

U->>C: agents session tell "Refactor auth"
C->>A2A: message/send {JSON-RPC 2.0}

The tell command should dispatch message/send through A2aLocalFacade.

Actual Behavior

src/cleveragents/cli/commands/session.pytell() function (lines 800–860):

def tell(...):
    service = _get_session_service()
    # Directly calls service — bypasses A2A entirely
    service.append_message(session_id=session_id, role=MessageRole.USER, content=prompt)
    # Stub response — no A2A dispatch
    assistant_content = f"Acknowledged: {prompt[:100]}"
    service.append_message(session_id=session_id, role=MessageRole.ASSISTANT, content=assistant_content)

Compare with create() which at least attempts to notify the facade:

# session create does call _facade_dispatch("session.create", ...)
# but tell() has no facade dispatch at all

Code Location

  • src/cleveragents/cli/commands/session.pytell() function, lines 800–860
  • src/cleveragents/a2a/facade.py — missing message/send handler

Impact

  • The A2A protocol boundary is bypassed for the primary user interaction
  • Telemetry, audit logging, and event emission that should happen via A2A are skipped
  • The architecture invariant "all clients communicate exclusively through A2A" is violated

Note

This is related to but distinct from issue #4675 (missing message/send handler in facade). Even if the handler were added, tell() would still need to be updated to call _facade_dispatch("message/send", ...).


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

## Summary The `agents session tell` command directly calls `SessionService.append_message()` without routing through `A2aLocalFacade`. The spec requires that every CLI command maps to an A2A operation. ## Expected Behavior (from `docs/specification.md`) > Every CLI command maps to an A2A operation. > All clients — CLI, TUI, IDE plugin, and third-party — communicate exclusively through A2A. The spec sequence diagram shows: ``` U->>C: agents session tell "Refactor auth" C->>A2A: message/send {JSON-RPC 2.0} ``` The `tell` command should dispatch `message/send` through `A2aLocalFacade`. ## Actual Behavior `src/cleveragents/cli/commands/session.py` — `tell()` function (lines 800–860): ```python def tell(...): service = _get_session_service() # Directly calls service — bypasses A2A entirely service.append_message(session_id=session_id, role=MessageRole.USER, content=prompt) # Stub response — no A2A dispatch assistant_content = f"Acknowledged: {prompt[:100]}" service.append_message(session_id=session_id, role=MessageRole.ASSISTANT, content=assistant_content) ``` Compare with `create()` which at least attempts to notify the facade: ```python # session create does call _facade_dispatch("session.create", ...) # but tell() has no facade dispatch at all ``` ## Code Location - `src/cleveragents/cli/commands/session.py` — `tell()` function, lines 800–860 - `src/cleveragents/a2a/facade.py` — missing `message/send` handler ## Impact - The A2A protocol boundary is bypassed for the primary user interaction - Telemetry, audit logging, and event emission that should happen via A2A are skipped - The architecture invariant "all clients communicate exclusively through A2A" is violated ## Note This is related to but distinct from issue #4675 (missing `message/send` handler in facade). Even if the handler were added, `tell()` would still need to be updated to call `_facade_dispatch("message/send", ...)`. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.5.0 milestone 2026-04-08 18:05:38 +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#4685
No description provided.