UAT: agents session tell missing spec-required output panels (Plan Request, Commands Executed, Result, Usage) #6767

Open
opened 2026-04-10 02:04:40 +00:00 by HAL9000 · 1 comment
Owner

Background and Context

UAT code analysis of src/cleveragents/cli/commands/session.py found that the tell command produces a simple user/assistant chat echo instead of the structured output panels specified in docs/specification.md. The spec defines four output panels for a completed orchestrator interaction.

Current Behavior

The tell() function (lines 792–864) produces a stub response and renders it as a simple chat echo:

# Stub actor execution: generate simple assistant response
assistant_content = (
    f"Acknowledged: {prompt[:100]}"
    if not actor
    else f"[{actor}] Acknowledged: {prompt[:100]}"
)
# ...
console.print(f"[dim]user:[/dim] {escape(prompt)}")
console.print(f"[cyan]assistant:[/cyan] {escape(assistant_content)}")

Actual output:

user: Create an action to refresh dependency locks
assistant: Acknowledged: Create an action to refresh dependency locks

Expected Behavior (from Spec)

Per docs/specification.md §"agents session tell" Rich output:

╭─ Plan Request ────────────────────────────────────────╮
│ Actor: local/orchestrator                             │
│ Session: 01HXM2A6K1P2E9Q9D4GQ7J4S7Z                  │
│ Automation: review                                    │
│ Prompt: Create an action to refresh dependency ...   │
╰───────────────────────────────────────────────────────╯

╭─ Commands Executed ─────────────────────────────────╮
│ - agents action create --config ./actions/...       │
│ - agents resource add git-checkout ...              │
│ - agents project link-resource ...                  │
╰─────────────────────────────────────────────────────╯

╭─ Result ─────────────────────────╮
│ Action: local/refresh-locks      │
│ Project: local/platform          │
│ Resource: local/platform-repo    │
╰──────────────────────────────────╯

╭─ Usage ─────────────────────╮
│ Input Tokens: 1,842         │
│ Output Tokens: 624          │
│ Cost: $0.0094               │
│ Duration: 3.2s              │
│ Tool Calls: 3               │
╰─────────────────────────────╯

✓ OK Orchestrator completed 3 commands

The JSON output is expected to include data.plan_request, data.commands_executed, data.result, and data.usage sub-objects.

The --stream case should also show a Session panel header followed by streaming content and a Usage panel footer — not character-by-character stdout printing.

Steps to Reproduce

  1. Clone the repository and run agents init
  2. Create a session: SESSION_ID=$(agents session create --format json | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['data']['session_id'])")
  3. Run: agents session tell --session $SESSION_ID "Create an action to refresh locks"
  4. Observe: raw user: ... / assistant: Acknowledged: ... chat output, no structured panels

Acceptance Criteria

  • agents session tell renders four Rich panels: "Plan Request", "Commands Executed", "Result", "Usage"
  • Rich output ends with ✓ OK Orchestrator completed N commands
  • JSON output has data.plan_request, data.commands_executed, data.result, data.usage sub-objects
  • --stream output shows a "Session" header panel, streamed content, and a "Usage" footer panel; success line reads ✓ OK Stream complete

Supporting Information

  • Source file: src/cleveragents/cli/commands/session.py, function tell() (line 792)
  • Spec reference: docs/specification.md §"agents session tell", Rich, Plain, JSON, and YAML output tabs
  • The stub actor implementation is expected at this milestone stage; however the output rendering structure (panels, fields) must match the spec regardless of whether the orchestrator is fully implemented

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

## Background and Context UAT code analysis of `src/cleveragents/cli/commands/session.py` found that the `tell` command produces a simple user/assistant chat echo instead of the structured output panels specified in `docs/specification.md`. The spec defines four output panels for a completed orchestrator interaction. ## Current Behavior The `tell()` function (lines 792–864) produces a stub response and renders it as a simple chat echo: ```python # Stub actor execution: generate simple assistant response assistant_content = ( f"Acknowledged: {prompt[:100]}" if not actor else f"[{actor}] Acknowledged: {prompt[:100]}" ) # ... console.print(f"[dim]user:[/dim] {escape(prompt)}") console.print(f"[cyan]assistant:[/cyan] {escape(assistant_content)}") ``` Actual output: ``` user: Create an action to refresh dependency locks assistant: Acknowledged: Create an action to refresh dependency locks ``` ## Expected Behavior (from Spec) Per `docs/specification.md` §"agents session tell" Rich output: ``` ╭─ Plan Request ────────────────────────────────────────╮ │ Actor: local/orchestrator │ │ Session: 01HXM2A6K1P2E9Q9D4GQ7J4S7Z │ │ Automation: review │ │ Prompt: Create an action to refresh dependency ... │ ╰───────────────────────────────────────────────────────╯ ╭─ Commands Executed ─────────────────────────────────╮ │ - agents action create --config ./actions/... │ │ - agents resource add git-checkout ... │ │ - agents project link-resource ... │ ╰─────────────────────────────────────────────────────╯ ╭─ Result ─────────────────────────╮ │ Action: local/refresh-locks │ │ Project: local/platform │ │ Resource: local/platform-repo │ ╰──────────────────────────────────╯ ╭─ Usage ─────────────────────╮ │ Input Tokens: 1,842 │ │ Output Tokens: 624 │ │ Cost: $0.0094 │ │ Duration: 3.2s │ │ Tool Calls: 3 │ ╰─────────────────────────────╯ ✓ OK Orchestrator completed 3 commands ``` The JSON output is expected to include `data.plan_request`, `data.commands_executed`, `data.result`, and `data.usage` sub-objects. The `--stream` case should also show a `Session` panel header followed by streaming content and a `Usage` panel footer — not character-by-character stdout printing. ## Steps to Reproduce 1. Clone the repository and run `agents init` 2. Create a session: `SESSION_ID=$(agents session create --format json | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['data']['session_id'])")` 3. Run: `agents session tell --session $SESSION_ID "Create an action to refresh locks"` 4. Observe: raw `user: ... / assistant: Acknowledged: ...` chat output, no structured panels ## Acceptance Criteria - `agents session tell` renders four Rich panels: "Plan Request", "Commands Executed", "Result", "Usage" - Rich output ends with `✓ OK Orchestrator completed N commands` - JSON output has `data.plan_request`, `data.commands_executed`, `data.result`, `data.usage` sub-objects - `--stream` output shows a "Session" header panel, streamed content, and a "Usage" footer panel; success line reads `✓ OK Stream complete` ## Supporting Information - Source file: `src/cleveragents/cli/commands/session.py`, function `tell()` (line 792) - Spec reference: `docs/specification.md` §"agents session tell", Rich, Plain, JSON, and YAML output tabs - The stub actor implementation is expected at this milestone stage; however the **output rendering structure** (panels, fields) must match the spec regardless of whether the orchestrator is fully implemented --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.4.0 milestone 2026-04-10 02:04:47 +00:00
Author
Owner

Verified — UAT bug: session tell missing spec-required output panels. MoSCoW: Should-have. Priority: Medium.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner-pool-supervisor

✅ **Verified** — UAT bug: session tell missing spec-required output panels. MoSCoW: Should-have. Priority: Medium. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
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#6767
No description provided.