UAT: TUI MainScreen sidebar with 3 states (hidden/visible/fullscreen) not implemented #3272

Open
opened 2026-04-05 08:54:56 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: fix/m8-tui-mainscreen-sidebar-three-states
  • Commit Message: fix(tui): implement MainScreen sidebar with hidden/visible/fullscreen states
  • Milestone: v3.7.0
  • Parent Epic: #868

Summary

The TUI MainScreen sidebar with three states (hidden/visible/fullscreen) specified in ADR-044 is completely absent from the implementation. The compose() method in app.py only yields a single vertical column with conversation, overlays, prompt, and persona bar — there is no sidebar widget at all.

Expected Behavior (from ADR-044)

The MainScreen should have a right-side collapsible sidebar that cycles through three states via 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; read-only status display
Fullscreen Sidebar covers entire screen; MainScreen conversation hidden Sidebar takes input focus Extended plan/project details, selection mode for persona building, persona cycle list management

State transitions:

  • shift+tab cycles: Hidden → Visible → Fullscreen
  • escape from fullscreen returns to visible; another escape returns to hidden

Actual Behavior

The _TextualCleverAgentsTuiApp.compose() method in src/cleveragents/tui/app.py (lines 102-112) yields:

  • _Header
  • A _Vertical containing: _Static (conversation), HelpPanelOverlay, ReferencePickerOverlay, SlashCommandOverlay, ActorSelectionOverlay, PromptInput, PersonaBar
  • _Footer

There is no SideBar widget, no SidebarFullScreen screen, no PlansPanel, no ProjectsPanel, and no shift+tab binding for sidebar cycling.

Code Location

  • src/cleveragents/tui/app.py_TextualCleverAgentsTuiApp.compose() (lines 102-112)
  • src/cleveragents/tui/app.pyBINDINGS (lines 84-89) — missing shift+tab binding

Steps to Reproduce

  1. Inspect src/cleveragents/tui/app.py
  2. Review the compose() method — no sidebar widget is yielded
  3. Review BINDINGS — no shift+tab binding exists
  4. ADR-044 specifies the sidebar as a core architectural component of the MainScreen

Impact

This is a critical gap that blocks v3.7.0 milestone acceptance. The sidebar is the primary mechanism for plan/project status visibility and persona management in the TUI. Without it, users cannot see plan progress, project status, or manage personas from the fullscreen sidebar.

Subtasks

  • Create SideBar widget with display: none default (hidden state)
  • Implement PlansPanel collapsible container (read-only plan status display)
  • Implement ProjectsPanel collapsible container (read-only project status display)
  • Create SidebarFullScreen screen with extended plan/project details, persona selection mode, and persona cycle list management
  • Add shift+tab binding to BINDINGS in _TextualCleverAgentsTuiApp to cycle sidebar states (Hidden → Visible → Fullscreen)
  • Add ctrl+b binding to focus sidebar when in Visible state
  • Implement escape key handling: Fullscreen → Visible, Visible → Hidden
  • Update compose() to yield SideBar alongside the main vertical layout
  • Ensure conversation column takes full width when sidebar is Hidden
  • Ensure sidebar is docked right at 32-40 chars wide (configurable) in Visible state
  • Tests (Behave): Add scenarios for sidebar state cycling via shift+tab
  • Tests (Behave): Add scenarios for escape key transitions from Fullscreen and Visible states
  • Tests (Behave): Add scenarios for ctrl+b focus behaviour in Visible state
  • Tests (Robot): Add integration tests for sidebar layout in all three states
  • Verify coverage >= 97% via nox -s coverage_report
  • Run nox (all default sessions), fix any errors

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly (fix(tui): implement MainScreen sidebar with hidden/visible/fullscreen states), followed by a blank line, then additional lines providing relevant details about the implementation.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly (fix/m8-tui-mainscreen-sidebar-three-states).
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.
  • All nox stages pass.
  • Coverage >= 97%.

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

## Metadata - **Branch**: `fix/m8-tui-mainscreen-sidebar-three-states` - **Commit Message**: `fix(tui): implement MainScreen sidebar with hidden/visible/fullscreen states` - **Milestone**: v3.7.0 - **Parent Epic**: #868 ## Summary The TUI MainScreen sidebar with three states (hidden/visible/fullscreen) specified in ADR-044 is completely absent from the implementation. The `compose()` method in `app.py` only yields a single vertical column with conversation, overlays, prompt, and persona bar — there is no sidebar widget at all. ## Expected Behavior (from ADR-044) The MainScreen should have a right-side collapsible sidebar that cycles through three states via `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; read-only status display | | **Fullscreen** | Sidebar covers entire screen; MainScreen conversation hidden | Sidebar takes input focus | Extended plan/project details, selection mode for persona building, persona cycle list management | State transitions: - `shift+tab` cycles: Hidden → Visible → Fullscreen - `escape` from fullscreen returns to visible; another `escape` returns to hidden ## Actual Behavior The `_TextualCleverAgentsTuiApp.compose()` method in `src/cleveragents/tui/app.py` (lines 102-112) yields: - `_Header` - A `_Vertical` containing: `_Static` (conversation), `HelpPanelOverlay`, `ReferencePickerOverlay`, `SlashCommandOverlay`, `ActorSelectionOverlay`, `PromptInput`, `PersonaBar` - `_Footer` There is no `SideBar` widget, no `SidebarFullScreen` screen, no `PlansPanel`, no `ProjectsPanel`, and no `shift+tab` binding for sidebar cycling. ## Code Location - `src/cleveragents/tui/app.py` — `_TextualCleverAgentsTuiApp.compose()` (lines 102-112) - `src/cleveragents/tui/app.py` — `BINDINGS` (lines 84-89) — missing `shift+tab` binding ## Steps to Reproduce 1. Inspect `src/cleveragents/tui/app.py` 2. Review the `compose()` method — no sidebar widget is yielded 3. Review `BINDINGS` — no `shift+tab` binding exists 4. ADR-044 specifies the sidebar as a core architectural component of the MainScreen ## Impact This is a critical gap that blocks v3.7.0 milestone acceptance. The sidebar is the primary mechanism for plan/project status visibility and persona management in the TUI. Without it, users cannot see plan progress, project status, or manage personas from the fullscreen sidebar. ## Subtasks - [ ] Create `SideBar` widget with `display: none` default (hidden state) - [ ] Implement `PlansPanel` collapsible container (read-only plan status display) - [ ] Implement `ProjectsPanel` collapsible container (read-only project status display) - [ ] Create `SidebarFullScreen` screen with extended plan/project details, persona selection mode, and persona cycle list management - [ ] Add `shift+tab` binding to `BINDINGS` in `_TextualCleverAgentsTuiApp` to cycle sidebar states (Hidden → Visible → Fullscreen) - [ ] Add `ctrl+b` binding to focus sidebar when in Visible state - [ ] Implement `escape` key handling: Fullscreen → Visible, Visible → Hidden - [ ] Update `compose()` to yield `SideBar` alongside the main vertical layout - [ ] Ensure conversation column takes full width when sidebar is Hidden - [ ] Ensure sidebar is docked right at 32-40 chars wide (configurable) in Visible state - [ ] Tests (Behave): Add scenarios for sidebar state cycling via `shift+tab` - [ ] Tests (Behave): Add scenarios for `escape` key transitions from Fullscreen and Visible states - [ ] Tests (Behave): Add scenarios for `ctrl+b` focus behaviour in Visible state - [ ] Tests (Robot): Add integration tests for sidebar layout in all three states - [ ] Verify coverage >= 97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions), fix any errors ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly (`fix(tui): implement MainScreen sidebar with hidden/visible/fullscreen states`), followed by a blank line, then additional lines providing relevant details about the implementation. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly (`fix/m8-tui-mainscreen-sidebar-three-states`). - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. - 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-05 08:56:56 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Critical — TUI MainScreen sidebar with 3 states (hidden/visible/fullscreen) is not implemented. Per ADR-044, this is a core architectural requirement for the TUI.
  • Milestone: v3.7.0 (already assigned)
  • MoSCoW: Must Have — The 3-state sidebar is a fundamental TUI layout requirement per the specification. Without it, the TUI cannot provide the expected user experience for context panels, session management, and settings.

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

Issue triaged by project owner: - **State**: Verified ✅ - **Priority**: Critical — TUI MainScreen sidebar with 3 states (hidden/visible/fullscreen) is not implemented. Per ADR-044, this is a core architectural requirement for the TUI. - **Milestone**: v3.7.0 (already assigned) - **MoSCoW**: Must Have — The 3-state sidebar is a fundamental TUI layout requirement per the specification. Without it, the TUI cannot provide the expected user experience for context panels, session management, and settings. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo removed this from the v3.7.0 milestone 2026-04-07 00:11:22 +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.

Blocks
Reference
cleveragents/cleveragents-core#3272
No description provided.