UAT: agents session tell is stubbed — echoes acknowledgement instead of invoking actor #3755

Open
opened 2026-04-05 22:30:30 +00:00 by freemo · 0 comments
Owner

Metadata

  • Branch: fix/session-tell-stub-actor-invocation
  • Commit Message: fix(cli): implement real actor invocation in session tell via A2A facade
  • Milestone: (none — see backlog note below)
  • Parent Epic: #933

Backlog note: This issue was discovered during autonomous operation
on milestone v3.4.0. It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.

Background

During UAT testing of src/cleveragents/cli/commands/session.py, the agents session tell command is implemented as a stub that echoes back an acknowledgement instead of actually invoking the configured actor.

Expected Behavior (from spec)

Per docs/specification.md:

agents session tell --session <SESSION_ID> [--actor <ACTOR>] [--stream] <PROMPT>

Purpose: Send a natural-language request to the orchestrator. The orchestrator can create actions, plans, or project changes by issuing the necessary CleverAgents commands under the hood.

The command should:

  1. Send the prompt to the configured actor (or the session's bound actor)
  2. Return the actor's actual response
  3. Support --stream for real-time streaming output
  4. Store both the user message and assistant response in the session history

Actual Behavior (from code)

In src/cleveragents/cli/commands/session.py, the tell command contains this stub:

# Stub actor execution: generate simple assistant response
assistant_content = (
    f"Acknowledged: {prompt[:100]}"
    if not actor
    else f"[{actor}] Acknowledged: {prompt[:100]}"
)

The code comment explicitly states: "For M3, the actor execution is stubbed — the assistant echoes an acknowledgement."

The --stream option simulates streaming by printing character-by-character but does not actually stream from an actor.

Code Location

src/cleveragents/cli/commands/session.pytell function (approximately lines 280–340)

Steps to Reproduce

  1. Create a session: agents session create --actor openai/gpt-4
  2. Send a message: agents session tell --session <ID> "What is 2+2?"
  3. Observe that the response is "Acknowledged: What is 2+2?" instead of an actual AI response

Impact

  • agents session tell is the primary user interface for interacting with CleverAgents
  • The spec calls it "The Primary User Interface" with a tip admonition
  • Users cannot actually use the session-based interaction workflow
  • The orchestrator cannot create actions, plans, or project changes via natural language

Subtasks

  • Implement actual actor invocation in session tell via the A2A facade
  • Route the prompt through A2aLocalFacade.dispatch() with the session.tell operation
  • Implement real streaming support using the actor's streaming API
  • Store the actual actor response in the session history
  • Handle actor errors gracefully (actor not found, API key missing, etc.)
  • Add/update unit tests (Behave) for the actual actor invocation path
  • Verify --stream produces real streaming output

Definition of Done

  • agents session tell invokes the configured actor and returns its actual response
  • --stream produces real-time streaming output from the actor
  • Both user message and actor response are stored in session history
  • Unit test coverage >= 97% maintained
  • All nox stages pass
  • Coverage >= 97%
  • Associated PR is merged

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-new-issue-creator

## Metadata - **Branch**: `fix/session-tell-stub-actor-invocation` - **Commit Message**: `fix(cli): implement real actor invocation in session tell via A2A facade` - **Milestone**: *(none — see backlog note below)* - **Parent Epic**: #933 > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.4.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. ## Background During UAT testing of `src/cleveragents/cli/commands/session.py`, the `agents session tell` command is implemented as a stub that echoes back an acknowledgement instead of actually invoking the configured actor. ## Expected Behavior (from spec) Per `docs/specification.md`: > `agents session tell --session <SESSION_ID> [--actor <ACTOR>] [--stream] <PROMPT>` > > **Purpose**: Send a natural-language request to the orchestrator. The orchestrator can create actions, plans, or project changes by issuing the necessary CleverAgents commands under the hood. The command should: 1. Send the prompt to the configured actor (or the session's bound actor) 2. Return the actor's actual response 3. Support `--stream` for real-time streaming output 4. Store both the user message and assistant response in the session history ## Actual Behavior (from code) In `src/cleveragents/cli/commands/session.py`, the `tell` command contains this stub: ```python # Stub actor execution: generate simple assistant response assistant_content = ( f"Acknowledged: {prompt[:100]}" if not actor else f"[{actor}] Acknowledged: {prompt[:100]}" ) ``` The code comment explicitly states: "For M3, the actor execution is stubbed — the assistant echoes an acknowledgement." The `--stream` option simulates streaming by printing character-by-character but does not actually stream from an actor. ## Code Location `src/cleveragents/cli/commands/session.py` — `tell` function (approximately lines 280–340) ## Steps to Reproduce 1. Create a session: `agents session create --actor openai/gpt-4` 2. Send a message: `agents session tell --session <ID> "What is 2+2?"` 3. Observe that the response is `"Acknowledged: What is 2+2?"` instead of an actual AI response ## Impact - `agents session tell` is the primary user interface for interacting with CleverAgents - The spec calls it "The Primary User Interface" with a tip admonition - Users cannot actually use the session-based interaction workflow - The orchestrator cannot create actions, plans, or project changes via natural language ## Subtasks - [ ] Implement actual actor invocation in `session tell` via the A2A facade - [ ] Route the prompt through `A2aLocalFacade.dispatch()` with the `session.tell` operation - [ ] Implement real streaming support using the actor's streaming API - [ ] Store the actual actor response in the session history - [ ] Handle actor errors gracefully (actor not found, API key missing, etc.) - [ ] Add/update unit tests (Behave) for the actual actor invocation path - [ ] Verify `--stream` produces real streaming output ## Definition of Done - [ ] `agents session tell` invokes the configured actor and returns its actual response - [ ] `--stream` produces real-time streaming output from the actor - [ ] Both user message and actor response are stored in session history - [ ] Unit test coverage >= 97% maintained - [ ] All nox stages pass - [ ] Coverage >= 97% - [ ] Associated PR is merged --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
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#3755
No description provided.