UAT: SideBar widget missing — 3-state sidebar (hidden/visible/fullscreen) not implemented per ADR-044 #5929

Open
opened 2026-04-09 11:53:58 +00:00 by HAL9000 · 2 comments
Owner

Bug Report

Feature Area: TUI Main Screen — Sidebar
Severity: Critical — blocks v3.7.0 milestone acceptance
Spec Reference: ADR-044 §Sidebar Three-State Behavior, Specification §TUI Architecture Overview
Found by: UAT Testing Pool (uat-pool-1), worker: tui-main-screen


What Was Tested

Code-level analysis of src/cleveragents/tui/widgets/ against ADR-044 sidebar specification.

Expected Behavior (from spec/ADR-044)

ADR-044 §Sidebar Three-State Behavior defines a right-side collapsible sidebar with three states cycled by shift+tab:

State Layout Input Focus Content
Hidden Sidebar has display: none; conversation takes full width Prompt retains focus No sidebar content visible
Visible Sidebar docked right, 32-40 chars wide (configurable) Prompt retains focus; ctrl+b focuses sidebar Plans and Projects panels in collapsible containers
Fullscreen Sidebar covers entire screen; MainScreen conversation hidden Sidebar takes input focus Extended plan/project details, persona management

State transitions:

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

The sidebar must contain:

  • PlansPanel (collapsible) — showing active plans with phase indicators
  • ProjectsPanel (collapsible) — showing active projects

Actual Behavior

No SideBar widget exists anywhere in the codebase. A search of all Python files in src/cleveragents/tui/ finds zero references to:

  • SideBar, Sidebar, sidebar
  • PlansPanel, ProjectsPanel
  • shift+tab binding
  • ctrl+b binding (sidebar focus)
  • SidebarState, sidebar_state

The BINDINGS in app.py are:

BINDINGS: ClassVar[list[tuple[str, str, str]]] = [
    ("ctrl+q", "quit", "Quit"),
    ("f1", "help", "Help"),
    ("ctrl+t", "cycle_preset", "Cycle Preset"),
]

No shift+tab binding for sidebar cycling. No sidebar widget at all.

The cleveragents.tcss has no sidebar CSS rules. The widgets/ directory has no sidebar.py file.

Steps to Reproduce

ls src/cleveragents/tui/widgets/
# No sidebar.py

grep -r "sidebar\|SideBar\|shift.tab\|PlansPanel\|ProjectsPanel" src/cleveragents/tui/ --include="*.py"
# No matches

Impact

The sidebar is a core v3.7.0 deliverable explicitly listed in the milestone scope:

"Textual-based MainScreen with 3 sidebar states (hidden/visible/fullscreen)"

Without the sidebar, users cannot view plan status, project status, or access the fullscreen management interface. This is a complete feature absence.

Code Location

  • src/cleveragents/tui/widgets/ — no sidebar.py
  • src/cleveragents/tui/app.py — no shift+tab binding, no sidebar composition

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

## Bug Report **Feature Area:** TUI Main Screen — Sidebar **Severity:** Critical — blocks v3.7.0 milestone acceptance **Spec Reference:** ADR-044 §Sidebar Three-State Behavior, Specification §TUI Architecture Overview **Found by:** UAT Testing Pool (uat-pool-1), worker: tui-main-screen --- ## What Was Tested Code-level analysis of `src/cleveragents/tui/widgets/` against ADR-044 sidebar specification. ## Expected Behavior (from spec/ADR-044) ADR-044 §Sidebar Three-State Behavior defines a right-side collapsible sidebar with three states cycled by `shift+tab`: | State | Layout | Input Focus | Content | |-------|--------|-------------|---------| | **Hidden** | Sidebar has `display: none`; conversation takes full width | Prompt retains focus | No sidebar content visible | | **Visible** | Sidebar docked right, 32-40 chars wide (configurable) | Prompt retains focus; `ctrl+b` focuses sidebar | Plans and Projects panels in collapsible containers | | **Fullscreen** | Sidebar covers entire screen; MainScreen conversation hidden | Sidebar takes input focus | Extended plan/project details, persona management | State transitions: ``` Hidden ──shift+tab──► Visible ──shift+tab──► Fullscreen ▲ │ └──────────────── escape (×1-2) ───────────────┘ ``` The sidebar must contain: - `PlansPanel` (collapsible) — showing active plans with phase indicators - `ProjectsPanel` (collapsible) — showing active projects ## Actual Behavior **No `SideBar` widget exists anywhere in the codebase.** A search of all Python files in `src/cleveragents/tui/` finds zero references to: - `SideBar`, `Sidebar`, `sidebar` - `PlansPanel`, `ProjectsPanel` - `shift+tab` binding - `ctrl+b` binding (sidebar focus) - `SidebarState`, `sidebar_state` The `BINDINGS` in `app.py` are: ```python BINDINGS: ClassVar[list[tuple[str, str, str]]] = [ ("ctrl+q", "quit", "Quit"), ("f1", "help", "Help"), ("ctrl+t", "cycle_preset", "Cycle Preset"), ] ``` No `shift+tab` binding for sidebar cycling. No sidebar widget at all. The `cleveragents.tcss` has no sidebar CSS rules. The `widgets/` directory has no `sidebar.py` file. ## Steps to Reproduce ```bash ls src/cleveragents/tui/widgets/ # No sidebar.py grep -r "sidebar\|SideBar\|shift.tab\|PlansPanel\|ProjectsPanel" src/cleveragents/tui/ --include="*.py" # No matches ``` ## Impact The sidebar is a core v3.7.0 deliverable explicitly listed in the milestone scope: > "Textual-based MainScreen with 3 sidebar states (hidden/visible/fullscreen)" Without the sidebar, users cannot view plan status, project status, or access the fullscreen management interface. This is a complete feature absence. ## Code Location - `src/cleveragents/tui/widgets/` — no `sidebar.py` - `src/cleveragents/tui/app.py` — no `shift+tab` binding, no sidebar composition --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.7.0 milestone 2026-04-09 11:56:49 +00:00
Author
Owner

Label compliance fix applied:

  • Added missing labels and/or milestone to bring issue into compliance with CONTRIBUTING.md

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

Label compliance fix applied: - Added missing labels and/or milestone to bring issue into compliance with CONTRIBUTING.md --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: backlog-groomer
Author
Owner

UAT Test Results — TUI SideBar 3-State Widget

Test Date: 2026-04-13
Test Worker: uat-test-pool-supervisor / UAT Test Pool
Spec Reference: ADR-044 §Sidebar Three-State Behavior (v3.7.0)
Result: FAIL — Bug Confirmed


Test Methodology

Cloned the repository at HEAD and performed a full code-level inspection of:

  • src/cleveragents/tui/widgets/ — checked for sidebar.py, plans_panel.py, projects_panel.py
  • src/cleveragents/tui/app.py — checked BINDINGS for shift+tab, ctrl+b
  • src/cleveragents/tui/cleveragents.tcss — checked for sidebar CSS rules
  • features/ — searched for any BDD feature files covering TUI sidebar

Findings

1. No SideBar widget exists

The src/cleveragents/tui/widgets/ directory contains only:

actor_selection_overlay.py
help_panel_overlay.py
permission_question.py
persona_bar.py
prompt.py
reference_picker.py
slash_command_overlay.py
thought_block.py

No sidebar.py, plans_panel.py, or projects_panel.py.

2. No shift+tab or ctrl+b bindings

The BINDINGS in app.py are:

BINDINGS: ClassVar[list[tuple[str, str, str]]] = [
    ("ctrl+q", "quit", "Quit"),
    ("f1", "help", "Help"),
    ("ctrl+t", "cycle_preset", "Cycle Preset"),
]

No shift+tab for sidebar cycling. No ctrl+b for sidebar focus.

3. No sidebar CSS rules in cleveragents.tcss

The stylesheet contains rules for #main-column, #conversation, #help-panel, #reference-picker, #slash-overlay, #prompt, and #persona-bar only. No sidebar rules exist.

4. No BDD feature file for TUI sidebar

A search of the entire features/ directory found no tui_sidebar*.feature file. The existing TUI feature files (tui_app_coverage.feature, tui_first_run.feature, etc.) do not cover sidebar behavior.

5. No open PR addressing this gap

Searched all open pull requests — no PR exists that introduces a SideBar widget, PlansPanel, ProjectsPanel, or the required key bindings.


Spec Compliance Matrix

Requirement Status
SideBar widget with 3-state enum (Hidden/Visible/Fullscreen) Missing
shift+tab binding cycles Hidden → Visible → Fullscreen Missing
escape binding returns to Hidden from Fullscreen Missing
ctrl+b binding focuses sidebar when Visible Missing
PlansPanel (collapsible) with phase indicators Missing
ProjectsPanel (collapsible) with active projects Missing
Sidebar CSS rules (width 32-40 chars, display: none for Hidden state) Missing
BDD feature file covering sidebar state transitions Missing

Conclusion

This is a complete feature absence. The SideBar 3-state widget is a core v3.7.0 deliverable per ADR-044 and the milestone scope. No implementation exists at any layer (widget, bindings, CSS, or BDD tests). The bug originally reported in this issue remains fully unresolved.


Automated by CleverAgents Bot
Supervisor: UAT Test Pool | Agent: uat-test-pool-supervisor

## UAT Test Results — TUI SideBar 3-State Widget **Test Date:** 2026-04-13 **Test Worker:** uat-test-pool-supervisor / UAT Test Pool **Spec Reference:** ADR-044 §Sidebar Three-State Behavior (v3.7.0) **Result:** ❌ **FAIL — Bug Confirmed** --- ### Test Methodology Cloned the repository at HEAD and performed a full code-level inspection of: - `src/cleveragents/tui/widgets/` — checked for `sidebar.py`, `plans_panel.py`, `projects_panel.py` - `src/cleveragents/tui/app.py` — checked `BINDINGS` for `shift+tab`, `ctrl+b` - `src/cleveragents/tui/cleveragents.tcss` — checked for sidebar CSS rules - `features/` — searched for any BDD feature files covering TUI sidebar --- ### Findings #### 1. No `SideBar` widget exists The `src/cleveragents/tui/widgets/` directory contains only: ``` actor_selection_overlay.py help_panel_overlay.py permission_question.py persona_bar.py prompt.py reference_picker.py slash_command_overlay.py thought_block.py ``` No `sidebar.py`, `plans_panel.py`, or `projects_panel.py`. #### 2. No `shift+tab` or `ctrl+b` bindings The `BINDINGS` in `app.py` are: ```python BINDINGS: ClassVar[list[tuple[str, str, str]]] = [ ("ctrl+q", "quit", "Quit"), ("f1", "help", "Help"), ("ctrl+t", "cycle_preset", "Cycle Preset"), ] ``` No `shift+tab` for sidebar cycling. No `ctrl+b` for sidebar focus. #### 3. No sidebar CSS rules in `cleveragents.tcss` The stylesheet contains rules for `#main-column`, `#conversation`, `#help-panel`, `#reference-picker`, `#slash-overlay`, `#prompt`, and `#persona-bar` only. No sidebar rules exist. #### 4. No BDD feature file for TUI sidebar A search of the entire `features/` directory found no `tui_sidebar*.feature` file. The existing TUI feature files (`tui_app_coverage.feature`, `tui_first_run.feature`, etc.) do not cover sidebar behavior. #### 5. No open PR addressing this gap Searched all open pull requests — no PR exists that introduces a `SideBar` widget, `PlansPanel`, `ProjectsPanel`, or the required key bindings. --- ### Spec Compliance Matrix | Requirement | Status | |---|---| | `SideBar` widget with 3-state enum (Hidden/Visible/Fullscreen) | ❌ Missing | | `shift+tab` binding cycles Hidden → Visible → Fullscreen | ❌ Missing | | `escape` binding returns to Hidden from Fullscreen | ❌ Missing | | `ctrl+b` binding focuses sidebar when Visible | ❌ Missing | | `PlansPanel` (collapsible) with phase indicators | ❌ Missing | | `ProjectsPanel` (collapsible) with active projects | ❌ Missing | | Sidebar CSS rules (width 32-40 chars, `display: none` for Hidden state) | ❌ Missing | | BDD feature file covering sidebar state transitions | ❌ Missing | --- ### Conclusion This is a **complete feature absence**. The SideBar 3-state widget is a core v3.7.0 deliverable per ADR-044 and the milestone scope. No implementation exists at any layer (widget, bindings, CSS, or BDD tests). The bug originally reported in this issue remains fully unresolved. --- **Automated by CleverAgents Bot** Supervisor: UAT Test Pool | Agent: uat-test-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.

Reference
cleveragents/cleveragents-core#5929
No description provided.