UAT: Session tab bar widget not implemented — multi-session tabs entirely absent from TUI #1374

Open
opened 2026-04-02 17:00:38 +00:00 by freemo · 0 comments
Owner

Bug Report

Feature Area: Multi-session tabs
Severity: Critical
Found by: UAT tester instance uat-worker-tabs


Expected Behavior (from spec §TUI — Session Tabs)

The specification (docs/specification.md, line ~28911 and ~29562) requires a Session Tabs widget displayed below the throbber in the main screen layout:

Session Tabs (below throbber): tab bar with underline indicator on the active session. Hidden when only one session exists. Session labels show state icons: (actor working), (awaiting input), plain (idle).

The spec mockup shows:

│ Session 1  ┃ Session 2 ┃  Session 3  ┃  ⌛ Session 4                       │
│              ┗━━━━━━━━━━━┛                                                 │

The spec also requires:

  • The tab bar is hidden when only one session exists (controlled by ui.sessions_bar setting: always / multiple / never)
  • The active tab is indicated with an underline (━━━)
  • Session labels show status icons: (actor working), (awaiting input), plain (idle)

Actual Behavior

No session tab bar widget exists anywhere in the TUI codebase. A search across all TUI source files confirms:

$ grep -rn "SessionTab\|TabBar\|tab_bar\|session_tab\|sessions_bar" src/cleveragents/tui/
(no results)

The compose() method in src/cleveragents/tui/app.py (lines 107–118) yields only:

  • _Header
  • _Static (conversation)
  • HelpPanelOverlay
  • ReferencePickerOverlay
  • SlashCommandOverlay
  • PromptInput
  • PersonaBar
  • _Footer

There is no SessionTabBar or equivalent widget in the widget tree.


Steps to Reproduce

  1. Read src/cleveragents/tui/app.py lines 107–118 (compose method)
  2. Read src/cleveragents/tui/widgets/ directory listing
  3. Observe: no tab bar widget exists; compose() does not yield any session tab component

Code Location

  • src/cleveragents/tui/app.py, lines 107–118 (compose method) — tab bar widget not yielded
  • src/cleveragents/tui/widgets/ — no session_tab_bar.py or equivalent file exists

Impact

This is a complete absence of the multi-session tabs feature. Users cannot see which sessions are open, cannot visually identify the active session, and have no visual indicator of session state. This is one of the core differentiating features of the TUI per the spec (§TUI Architecture Overview: "Multi-session tabs — independent sessions with separate personas, conversations, and A2A bindings").

## Bug Report **Feature Area:** Multi-session tabs **Severity:** Critical **Found by:** UAT tester instance `uat-worker-tabs` --- ### Expected Behavior (from spec §TUI — Session Tabs) The specification (docs/specification.md, line ~28911 and ~29562) requires a **Session Tabs** widget displayed below the throbber in the main screen layout: > **Session Tabs** (below throbber): tab bar with underline indicator on the active session. Hidden when only one session exists. Session labels show state icons: `⌛` (actor working), `❯` (awaiting input), plain (idle). The spec mockup shows: ``` │ Session 1 ┃ Session 2 ┃ Session 3 ┃ ⌛ Session 4 │ │ ┗━━━━━━━━━━━┛ │ ``` The spec also requires: - The tab bar is **hidden when only one session exists** (controlled by `ui.sessions_bar` setting: `always` / `multiple` / `never`) - The active tab is indicated with an **underline** (`━━━`) - Session labels show status icons: `⌛` (actor working), `❯` (awaiting input), plain (idle) --- ### Actual Behavior No session tab bar widget exists anywhere in the TUI codebase. A search across all TUI source files confirms: ``` $ grep -rn "SessionTab\|TabBar\|tab_bar\|session_tab\|sessions_bar" src/cleveragents/tui/ (no results) ``` The `compose()` method in `src/cleveragents/tui/app.py` (lines 107–118) yields only: - `_Header` - `_Static` (conversation) - `HelpPanelOverlay` - `ReferencePickerOverlay` - `SlashCommandOverlay` - `PromptInput` - `PersonaBar` - `_Footer` There is no `SessionTabBar` or equivalent widget in the widget tree. --- ### Steps to Reproduce 1. Read `src/cleveragents/tui/app.py` lines 107–118 (`compose` method) 2. Read `src/cleveragents/tui/widgets/` directory listing 3. Observe: no tab bar widget exists; `compose()` does not yield any session tab component --- ### Code Location - `src/cleveragents/tui/app.py`, lines 107–118 (`compose` method) — tab bar widget not yielded - `src/cleveragents/tui/widgets/` — no `session_tab_bar.py` or equivalent file exists --- ### Impact This is a **complete absence** of the multi-session tabs feature. Users cannot see which sessions are open, cannot visually identify the active session, and have no visual indicator of session state. This is one of the core differentiating features of the TUI per the spec (§TUI Architecture Overview: "Multi-session tabs — independent sessions with separate personas, conversations, and A2A bindings").
freemo self-assigned this 2026-04-02 18:45:17 +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#1374
No description provided.