UAT: TUI sidebar (3-state: hidden/visible/fullscreen) not implemented — shift+tab cycling and sidebar widget absent from app.py #4764

Closed
opened 2026-04-08 18:54:52 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Feature Area: TUI Sidebar Navigation
Severity: High (backlog)
Found by: UAT tester instance uat-tui-worker-1
Spec reference: docs/specification.md §TUI Architecture Overview (lines ~29021–29218)


What Was Tested

The src/cleveragents/tui/app.py was inspected for sidebar implementation.

Expected Behavior (from spec)

The spec defines a right-side collapsible sidebar with three states cycled by shift+tab:

Hidden ──shift+tab──► Visible ──shift+tab──► Fullscreen
  ▲                                              │
  └──────────────── escape (×1-2) ───────────────┘

Hidden state: Sidebar display: none; conversation full width
Visible state: Sidebar docked right, 32-40 chars wide; Plans and Projects panels in collapsible containers
Fullscreen state: Covers entire screen; extended details, selection mode, persona management (PERSONA CYCLE LIST, ctrl+p Create Persona, space Select, enter Details)

The sidebar fullscreen mode shows:

  • PLANS panel with plan details (phase, profile, actor, cost, subplans)
  • PROJECTS panel with project details (namespace, resources, plans, invariants, validations)
  • PERSONA CYCLE LIST with tab-order personas
  • Footer: space Select │ enter Details │ ctrl+p Create Persona │ / Search │ d Delete │ esc Back

ctrl+b focuses the sidebar when in visible state.

Actual Behavior

The _TextualCleverAgentsTuiApp in app.py has:

  • No sidebar widget in compose()
  • No shift+tab binding in BINDINGS
  • No ctrl+b binding for sidebar focus
  • No sidebar state tracking (hidden/visible/fullscreen)
  • No Plans panel or Projects panel widgets

The compose() method only yields:

_Header(show_clock=True)
_Vertical(id="main-column"):
    _Static("CleverAgents TUI", id="conversation")
    HelpPanelOverlay(...)
    ReferencePickerOverlay(...)
    SlashCommandOverlay(...)
    ActorSelectionOverlay(...)
    PromptInput(...)
    PersonaBar(...)
_Footer()

Code Location

  • App: src/cleveragents/tui/app.py_TextualCleverAgentsTuiApp.compose() (line ~109)
  • Missing: Sidebar widget with 3-state cycling
  • Missing: shift+tab binding → action_cycle_sidebar()
  • Missing: ctrl+b binding → action_focus_sidebar()
  • Missing: Plans panel widget
  • Missing: Projects panel widget
  • Missing: Persona cycle list widget (fullscreen mode)

Impact

  • Users cannot see active plans or projects in the sidebar
  • The sidebar fullscreen mode for plan/project/persona management is inaccessible
  • ctrl+p to create persona from selection is unavailable
  • The spec's primary navigation pattern (shift+tab to cycle sidebar) is non-functional

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

## Bug Report **Feature Area:** TUI Sidebar Navigation **Severity:** High (backlog) **Found by:** UAT tester instance `uat-tui-worker-1` **Spec reference:** docs/specification.md §TUI Architecture Overview (lines ~29021–29218) --- ### What Was Tested The `src/cleveragents/tui/app.py` was inspected for sidebar implementation. ### Expected Behavior (from spec) The spec defines a **right-side collapsible sidebar** with three states cycled by `shift+tab`: ``` Hidden ──shift+tab──► Visible ──shift+tab──► Fullscreen ▲ │ └──────────────── escape (×1-2) ───────────────┘ ``` **Hidden state:** Sidebar `display: none`; conversation full width **Visible state:** Sidebar docked right, 32-40 chars wide; Plans and Projects panels in collapsible containers **Fullscreen state:** Covers entire screen; extended details, selection mode, persona management (PERSONA CYCLE LIST, `ctrl+p` Create Persona, `space` Select, `enter` Details) The sidebar fullscreen mode shows: - PLANS panel with plan details (phase, profile, actor, cost, subplans) - PROJECTS panel with project details (namespace, resources, plans, invariants, validations) - PERSONA CYCLE LIST with tab-order personas - Footer: `space` Select │ `enter` Details │ `ctrl+p` Create Persona │ `/` Search │ `d` Delete │ `esc` Back `ctrl+b` focuses the sidebar when in visible state. ### Actual Behavior The `_TextualCleverAgentsTuiApp` in `app.py` has: - No sidebar widget in `compose()` - No `shift+tab` binding in `BINDINGS` - No `ctrl+b` binding for sidebar focus - No sidebar state tracking (hidden/visible/fullscreen) - No Plans panel or Projects panel widgets The `compose()` method only yields: ```python _Header(show_clock=True) _Vertical(id="main-column"): _Static("CleverAgents TUI", id="conversation") HelpPanelOverlay(...) ReferencePickerOverlay(...) SlashCommandOverlay(...) ActorSelectionOverlay(...) PromptInput(...) PersonaBar(...) _Footer() ``` ### Code Location - **App:** `src/cleveragents/tui/app.py` — `_TextualCleverAgentsTuiApp.compose()` (line ~109) - **Missing:** Sidebar widget with 3-state cycling - **Missing:** `shift+tab` binding → `action_cycle_sidebar()` - **Missing:** `ctrl+b` binding → `action_focus_sidebar()` - **Missing:** Plans panel widget - **Missing:** Projects panel widget - **Missing:** Persona cycle list widget (fullscreen mode) ### Impact - Users cannot see active plans or projects in the sidebar - The sidebar fullscreen mode for plan/project/persona management is inaccessible - `ctrl+p` to create persona from selection is unavailable - The spec's primary navigation pattern (shift+tab to cycle sidebar) is non-functional --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
Author
Owner

Closing as duplicate of #4654 — both issues report the same problem: TUI sidebar not implemented. Issue #4654 has milestone v3.7.0 and story points (8) assigned.


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

Closing as duplicate of #4654 — both issues report the same problem: TUI sidebar not implemented. Issue #4654 has milestone v3.7.0 and story points (8) assigned. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: 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#4764
No description provided.