UAT: agents session list rich output missing Name column and Summary panel fields — spec-required format not implemented #1511

Closed
opened 2026-04-02 19:53:07 +00:00 by freemo · 3 comments
Owner

Metadata

  • Branch: fix/cli-session-list-rich-output-missing-name-column-summary-fields
  • Commit Message: fix(cli): add Name column, Summary panel fields, and OK message to session list rich output
  • Milestone: v3.7.0
  • Parent Epic: #936

Bug Report

Feature Area: Session Management — agents session list
Tested by: UAT Worker (uat-session-mgmt-3160906-1775158077)
Severity: Medium

What Was Tested

The rich output of agents session list was compared against the specification in docs/specification.md (section ##### agents session list).

Expected Behavior (from spec)

The spec requires the rich table to include a Name column alongside ID, Actor, Messages, and Updated:

╭─ Sessions ──────────────────────────────────────────────────────────────────╮
│ ID        Name             Actor               Messages  Updated             │
│ ────────  ───────────────  ──────────────────  ────────  ────────────────    │
│ 01HXM2A6  weekly-planning  local/orchestrator  6         2026-02-08 12:44    │
╰──────────────────────────────────────────────────────────────────────────────╯

The spec also requires the Summary panel to include Most Recent, Oldest, and Storage fields:

╭─ Summary ────────────────────╮
│ Total: 2                     │
│ Most Recent: weekly-planning │
│ Oldest: refactor-sprint      │
│ Total Messages: 20           │
│ Storage: 42 KB               │
╰──────────────────────────────╯

The spec also requires a trailing ✓ OK 2 sessions listed message.

Actual Behavior

The rich output:

  1. Missing Name column — only shows ID, Actor, Messages, Updated
  2. Summary panel missing Most Recent, Oldest, Storage — only shows Total Sessions and Total Messages
  3. Missing trailing ✓ OK N sessions listed message

Actual output:

Sessions (2 total)
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ ID                        ┃ Actor              ┃ Messages ┃ Updated          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 01KN7TXWS8011WE2011BZZB1… │ local/orchestrator │        0 │ 2026-04-02 19:32 │
└───────────────────────────┴────────────────────┴──────────┴──────────────────┘
╭───── Summary ─────╮
│ Total Sessions: 2 │
│ Total Messages: 0 │
╰───────────────────╯

Root Cause (Code Location)

src/cleveragents/cli/commands/session.py, list_sessions() function:

  • The Rich table only adds columns: ID, Actor, Messages, Updated — no Name column
  • The Summary panel only shows Total Sessions and Total Messages — missing Most Recent, Oldest, Storage
  • No trailing ✓ OK N sessions listed message is printed

Additionally, the Session domain model (src/cleveragents/domain/models/core/session.py) does not have a name field, which is required by the spec for the list output.

Steps to Reproduce

from typer.testing import CliRunner
from cleveragents.cli.commands.session import app
from unittest.mock import MagicMock, patch
from cleveragents.domain.models.core.session import Session
from ulid import ULID

runner = CliRunner()
mock_sessions = [Session(session_id=str(ULID()), actor_name='local/orchestrator', namespace='local')]

with patch('cleveragents.cli.commands.session._get_session_service') as mock_svc_fn:
    mock_svc = MagicMock()
    mock_svc.list.return_value = mock_sessions
    mock_svc_fn.return_value = mock_svc
    result = runner.invoke(app, ['list'])
    print(result.output)

Subtasks

  • Add name field to the Session domain model (src/cleveragents/domain/models/core/session.py) per spec
  • Add Name column to the Rich table in list_sessions() in src/cleveragents/cli/commands/session.py
  • Add Most Recent, Oldest, and Storage fields to the Summary panel in list_sessions()
  • Add trailing ✓ OK N sessions listed message after the Summary panel
  • Update Behave unit test scenarios in features/ to cover the new Name column, Summary fields, and OK message
  • Ensure all nox stages pass (lint, typecheck, unit_tests, integration_tests, coverage_report)

Definition of Done

  • Session domain model has a name field with correct type annotation
  • agents session list rich output includes Name column in the sessions table
  • Summary panel includes Most Recent, Oldest, and Storage fields
  • Trailing ✓ OK N sessions listed message is printed after the Summary panel
  • All Behave scenarios for session list rich output pass
  • All nox stages pass
  • Coverage >= 97%

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

## Metadata - **Branch**: `fix/cli-session-list-rich-output-missing-name-column-summary-fields` - **Commit Message**: `fix(cli): add Name column, Summary panel fields, and OK message to session list rich output` - **Milestone**: v3.7.0 - **Parent Epic**: #936 ## Bug Report **Feature Area:** Session Management — `agents session list` **Tested by:** UAT Worker (uat-session-mgmt-3160906-1775158077) **Severity:** Medium ### What Was Tested The rich output of `agents session list` was compared against the specification in `docs/specification.md` (section `##### agents session list`). ### Expected Behavior (from spec) The spec requires the rich table to include a **`Name`** column alongside ID, Actor, Messages, and Updated: ``` ╭─ Sessions ──────────────────────────────────────────────────────────────────╮ │ ID Name Actor Messages Updated │ │ ──────── ─────────────── ────────────────── ──────── ──────────────── │ │ 01HXM2A6 weekly-planning local/orchestrator 6 2026-02-08 12:44 │ ╰──────────────────────────────────────────────────────────────────────────────╯ ``` The spec also requires the Summary panel to include **`Most Recent`**, **`Oldest`**, and **`Storage`** fields: ``` ╭─ Summary ────────────────────╮ │ Total: 2 │ │ Most Recent: weekly-planning │ │ Oldest: refactor-sprint │ │ Total Messages: 20 │ │ Storage: 42 KB │ ╰──────────────────────────────╯ ``` The spec also requires a trailing `✓ OK 2 sessions listed` message. ### Actual Behavior The rich output: 1. **Missing `Name` column** — only shows ID, Actor, Messages, Updated 2. **Summary panel missing `Most Recent`, `Oldest`, `Storage`** — only shows `Total Sessions` and `Total Messages` 3. **Missing trailing `✓ OK N sessions listed` message** Actual output: ``` Sessions (2 total) ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓ ┃ ID ┃ Actor ┃ Messages ┃ Updated ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩ │ 01KN7TXWS8011WE2011BZZB1… │ local/orchestrator │ 0 │ 2026-04-02 19:32 │ └───────────────────────────┴────────────────────┴──────────┴──────────────────┘ ╭───── Summary ─────╮ │ Total Sessions: 2 │ │ Total Messages: 0 │ ╰───────────────────╯ ``` ### Root Cause (Code Location) `src/cleveragents/cli/commands/session.py`, `list_sessions()` function: - The Rich table only adds columns: `ID`, `Actor`, `Messages`, `Updated` — no `Name` column - The Summary panel only shows `Total Sessions` and `Total Messages` — missing `Most Recent`, `Oldest`, `Storage` - No trailing `✓ OK N sessions listed` message is printed Additionally, the `Session` domain model (`src/cleveragents/domain/models/core/session.py`) does not have a `name` field, which is required by the spec for the list output. ### Steps to Reproduce ```python from typer.testing import CliRunner from cleveragents.cli.commands.session import app from unittest.mock import MagicMock, patch from cleveragents.domain.models.core.session import Session from ulid import ULID runner = CliRunner() mock_sessions = [Session(session_id=str(ULID()), actor_name='local/orchestrator', namespace='local')] with patch('cleveragents.cli.commands.session._get_session_service') as mock_svc_fn: mock_svc = MagicMock() mock_svc.list.return_value = mock_sessions mock_svc_fn.return_value = mock_svc result = runner.invoke(app, ['list']) print(result.output) ``` ## Subtasks - [ ] Add `name` field to the `Session` domain model (`src/cleveragents/domain/models/core/session.py`) per spec - [ ] Add `Name` column to the Rich table in `list_sessions()` in `src/cleveragents/cli/commands/session.py` - [ ] Add `Most Recent`, `Oldest`, and `Storage` fields to the Summary panel in `list_sessions()` - [ ] Add trailing `✓ OK N sessions listed` message after the Summary panel - [ ] Update Behave unit test scenarios in `features/` to cover the new `Name` column, Summary fields, and OK message - [ ] Ensure all nox stages pass (lint, typecheck, unit_tests, integration_tests, coverage_report) ## Definition of Done - [ ] `Session` domain model has a `name` field with correct type annotation - [ ] `agents session list` rich output includes `Name` column in the sessions table - [ ] Summary panel includes `Most Recent`, `Oldest`, and `Storage` fields - [ ] Trailing `✓ OK N sessions listed` message is printed after the Summary panel - [ ] All Behave scenarios for `session list` rich output pass - [ ] All nox stages pass - [ ] Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added this to the v3.7.0 milestone 2026-04-02 19:57:16 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium (already assigned) — Rich output missing Name column and Summary panel fields. The command works but output deviates from spec.
  • Milestone: v3.7.0 (already assigned)
  • MoSCoW: Should Have — The spec defines the exact table columns (including Name) and Summary panel fields (Most Recent, Oldest, Storage). While the session listing works, the output is less informative than specified. Note: this shares a root cause with #1508 (JSON output) — the Session domain model is missing a name field.
  • Parent Epic: #936

Valid UAT bug. Related to #1508 — both require adding a name field to the Session domain model. The rich output fix also needs Summary panel enhancements and the OK message.


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

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium (already assigned) — Rich output missing Name column and Summary panel fields. The command works but output deviates from spec. - **Milestone**: v3.7.0 (already assigned) - **MoSCoW**: Should Have — The spec defines the exact table columns (including Name) and Summary panel fields (Most Recent, Oldest, Storage). While the session listing works, the output is less informative than specified. Note: this shares a root cause with #1508 (JSON output) — the `Session` domain model is missing a `name` field. - **Parent Epic**: #936 Valid UAT bug. Related to #1508 — both require adding a `name` field to the Session domain model. The rich output fix also needs Summary panel enhancements and the OK message. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo self-assigned this 2026-04-02 20:40:26 +00:00
Author
Owner

Implementation Complete

Added spec-required Name column and complete Summary panel to agents session list rich output.

Changes:

  • Added name field to Session domain model (optional human-readable name)
  • Added name column to SessionModel ORM (database schema)
  • Updated domain conversion methods (to_domain, from_domain)
  • Added Name column to session list table
  • Added Most Recent, Oldest, and Storage fields to Summary panel
  • Added trailing ✓ OK N sessions listed message
  • Truncated session IDs to 8 chars for readability

PR: #1570 (MERGED)
Commit: 6f3fb6e3


Automated by CleverAgents Bot
Supervisor: Product Builder | Agent: product-builder

✅ **Implementation Complete** Added spec-required `Name` column and complete Summary panel to `agents session list` rich output. **Changes:** - Added `name` field to Session domain model (optional human-readable name) - Added `name` column to SessionModel ORM (database schema) - Updated domain conversion methods (`to_domain`, `from_domain`) - Added Name column to session list table - Added Most Recent, Oldest, and Storage fields to Summary panel - Added trailing `✓ OK N sessions listed` message - Truncated session IDs to 8 chars for readability **PR**: #1570 (MERGED) **Commit**: 6f3fb6e3 --- **Automated by CleverAgents Bot** Supervisor: Product Builder | Agent: product-builder
Author
Owner

Closing — work completed in PR #1570 (merged). The PR added the spec-required Name column and complete Summary panel to agents session list rich output.


Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: ca-backlog-groomer

Closing — work completed in PR #1570 (merged). The PR added the spec-required `Name` column and complete Summary panel to `agents session list` rich output. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: ca-backlog-groomer
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#1511
No description provided.