UAT: agents session tell is stubbed — orchestrator actor not invoked, spec requires real LLM execution #4862

Open
opened 2026-04-08 20:10:13 +00:00 by HAL9000 · 0 comments
Owner

Bug Report

Feature Area: Session Management — agents session tell
Severity: High (core feature non-functional)
Found by: UAT tester, code analysis


What Was Tested

The agents session tell command is the primary user interface for CleverAgents per the specification. It is supposed to route the user's natural-language prompt to the bound orchestrator actor, which then interprets the request and issues CleverAgents commands (creating actions, plans, project changes, etc.).

Expected Behavior (from spec)

Per docs/specification.md §agents session tell:

This is the main natural-language interface for interacting with CleverAgents. The orchestrator interprets your request and issues the necessary CleverAgents commands under the hood — creating actions, plans, or project changes as needed.

The spec shows the orchestrator executing real commands:

Commands Executed
  - agents action create --config ./actions/refresh-locks.yaml
  - agents resource add git-checkout local/platform-repo --path /repos/platform
  - agents project link-resource local/platform local/platform-repo

And returning structured output including:

  • plan_request block (actor, session, automation, prompt)
  • commands_executed list
  • result block (action, project, resource)
  • usage block (input_tokens, output_tokens, cost, duration_s, tool_calls)

Actual Behavior

The implementation in src/cleveragents/cli/commands/session.py (lines 813–853) is explicitly stubbed:

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

The docstring even states: "For M3, the actor execution is stubbed — the assistant echoes an acknowledgement."

The command:

  1. Appends the user message to the session ✓
  2. Appends a hardcoded "Acknowledged: {prompt}" assistant message ✗
  3. Does NOT invoke the bound orchestrator actor ✗
  4. Does NOT route through A2A / SessionWorkflow.tell()
  5. Does NOT execute any CleverAgents commands ✗
  6. Does NOT return usage metrics ✗

Code Location

  • src/cleveragents/cli/commands/session.py, lines 792–864 (tell function)
  • The A2A session/prompt operation (SessionWorkflow.tell()) is defined in the spec at §A2A but not wired up to the CLI session tell command

Steps to Reproduce

# Create a session
agents session create --actor local/orchestrator

# Try to use it as the primary interface
agents session tell --session <SESSION_ID> "Create an action to refresh dependency locks"

# Actual output: "Acknowledged: Create an action to refresh dependency locks"
# Expected output: Orchestrator executes commands and returns structured result

Impact

This is the primary user interface for CleverAgents. Without real orchestrator execution, the entire natural-language workflow is non-functional. Users cannot use session tell to create actions, plans, or project changes.

Definition of Done

  • session tell routes the prompt through the bound orchestrator actor via A2A message/send or SessionWorkflow.tell()
  • The orchestrator's response is persisted as an assistant message in the session
  • The command output matches the spec format (Plan Request panel, Commands Executed panel, Result panel, Usage panel)
  • --stream flag streams the response token-by-token
  • --actor override works for per-request actor switching

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

## Bug Report **Feature Area:** Session Management — `agents session tell` **Severity:** High (core feature non-functional) **Found by:** UAT tester, code analysis --- ### What Was Tested The `agents session tell` command is the **primary user interface** for CleverAgents per the specification. It is supposed to route the user's natural-language prompt to the bound orchestrator actor, which then interprets the request and issues CleverAgents commands (creating actions, plans, project changes, etc.). ### Expected Behavior (from spec) Per `docs/specification.md` §`agents session tell`: > This is the main natural-language interface for interacting with CleverAgents. The orchestrator interprets your request and issues the necessary CleverAgents commands under the hood — creating actions, plans, or project changes as needed. The spec shows the orchestrator executing real commands: ``` Commands Executed - agents action create --config ./actions/refresh-locks.yaml - agents resource add git-checkout local/platform-repo --path /repos/platform - agents project link-resource local/platform local/platform-repo ``` And returning structured output including: - `plan_request` block (actor, session, automation, prompt) - `commands_executed` list - `result` block (action, project, resource) - `usage` block (input_tokens, output_tokens, cost, duration_s, tool_calls) ### Actual Behavior The implementation in `src/cleveragents/cli/commands/session.py` (lines 813–853) is explicitly stubbed: ```python # Stub actor execution: generate simple assistant response assistant_content = ( f"Acknowledged: {prompt[:100]}" if not actor else f"[{actor}] Acknowledged: {prompt[:100]}" ) ``` The docstring even states: *"For M3, the actor execution is stubbed — the assistant echoes an acknowledgement."* The command: 1. Appends the user message to the session ✓ 2. Appends a hardcoded "Acknowledged: {prompt}" assistant message ✗ 3. Does NOT invoke the bound orchestrator actor ✗ 4. Does NOT route through A2A / `SessionWorkflow.tell()` ✗ 5. Does NOT execute any CleverAgents commands ✗ 6. Does NOT return usage metrics ✗ ### Code Location - `src/cleveragents/cli/commands/session.py`, lines 792–864 (`tell` function) - The A2A `session/prompt` operation (`SessionWorkflow.tell()`) is defined in the spec at §A2A but not wired up to the CLI `session tell` command ### Steps to Reproduce ```bash # Create a session agents session create --actor local/orchestrator # Try to use it as the primary interface agents session tell --session <SESSION_ID> "Create an action to refresh dependency locks" # Actual output: "Acknowledged: Create an action to refresh dependency locks" # Expected output: Orchestrator executes commands and returns structured result ``` ### Impact This is the **primary user interface** for CleverAgents. Without real orchestrator execution, the entire natural-language workflow is non-functional. Users cannot use `session tell` to create actions, plans, or project changes. ### Definition of Done - [ ] `session tell` routes the prompt through the bound orchestrator actor via A2A `message/send` or `SessionWorkflow.tell()` - [ ] The orchestrator's response is persisted as an assistant message in the session - [ ] The command output matches the spec format (Plan Request panel, Commands Executed panel, Result panel, Usage panel) - [ ] `--stream` flag streams the response token-by-token - [ ] `--actor` override works for per-request actor switching --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.3.0 milestone 2026-04-08 20:17:11 +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#4862
No description provided.