UAT: TUI screens/ directory is empty — MainScreen, SidebarFullScreen, and all modal screen source files missing #3223

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

Metadata

  • Branch: fix/tui-screens-missing-source-files
  • Commit Message: fix(tui): add missing MainScreen, SidebarFullScreen, and all modal screen source files
  • Milestone: (none — backlog)
  • Parent Epic: #868

Bug Report

Feature Area: TUI Implementation (M8: v3.7.0)
Severity: High
Priority: Backlog

What Was Tested

Inspected the TUI screens/ directory for the MainScreen and all other screen implementations required by ADR-044.

Expected Behavior (from spec)

Per ADR-044 (TUI Architecture and Framework), the following screens must be implemented:

  • MainScreen — primary interface with conversation, sidebar, prompt, persona bar
  • SidebarFullScreen — pushed when sidebar enters fullscreen state
  • PlanDetailModal — pushed from sidebar or conversation
  • ProjectDetailModal — pushed from sidebar
  • PersonaEditorModal — pushed from fullscreen sidebar
  • SettingsScreen — pushed via F2 / ctrl+,
  • SessionsScreen — pushed via ctrl+s
  • PermissionsScreen — pushed for tool permission requests

ADR-044 specifies the TCSS file hierarchy:

src/cleveragents/tui/screens/
├── main.tcss
├── sidebar_full.tcss
├── plan_detail.tcss
├── project_detail.tcss
├── persona_editor.tcss
├── settings.tcss
├── sessions.tcss
└── permissions.tcss

Actual Behavior

The src/cleveragents/tui/screens/ directory contains only __pycache__/ with no Python source files:

ls src/cleveragents/tui/screens/
# Output: __pycache__/

ls src/cleveragents/tui/screens/__pycache__/
# Output: __init__.cpython-313.pyc  main_screen.cpython-313.pyc
  • main_screen.py exists only as compiled bytecode — no source
  • No sidebar_full.py, plan_detail.py, project_detail.py, persona_editor.py, settings.py, sessions.py source files exist
  • No TCSS files exist in screens/ subdirectory

The current app.py uses a single _Vertical container with a _Static widget for the conversation — not the full MainScreen architecture described in ADR-044.

Steps to Reproduce

ls src/cleveragents/tui/screens/
# Only __pycache__ — no .py files

ls src/cleveragents/tui/screens/__pycache__/
# main_screen.cpython-313.pyc (no source)

Code Location

  • src/cleveragents/tui/screens/ — empty of source files
  • src/cleveragents/tui/app.py lines 109-121 — uses _Vertical/_Static instead of proper MainScreen

Impact

Without MainScreen source, the following spec-required features cannot be implemented or tested:

  • Right-side collapsible sidebar with 3 states (hidden/visible/fullscreen)
  • Session tab bar (auto-shows when ≥2 sessions)
  • Throbber (rainbow gradient bar)
  • Block cursor navigation in conversation
  • Escape-cascading navigation
  • All modal screens (PlanDetailModal, ProjectDetailModal, PersonaEditorModal, SettingsScreen, SessionsScreen)

Subtasks

  • Restore or implement src/cleveragents/tui/screens/main_screen.py with MainScreen class per ADR-044
  • Implement src/cleveragents/tui/screens/sidebar_full.py with SidebarFullScreen class
  • Implement src/cleveragents/tui/screens/plan_detail.py with PlanDetailModal class
  • Implement src/cleveragents/tui/screens/project_detail.py with ProjectDetailModal class
  • Implement src/cleveragents/tui/screens/persona_editor.py with PersonaEditorModal class
  • Implement src/cleveragents/tui/screens/settings.py with SettingsScreen class
  • Implement src/cleveragents/tui/screens/sessions.py with SessionsScreen class
  • Implement src/cleveragents/tui/screens/permissions.py with PermissionsScreen class
  • Add all TCSS files (main.tcss, sidebar_full.tcss, plan_detail.tcss, project_detail.tcss, persona_editor.tcss, settings.tcss, sessions.tcss, permissions.tcss) under src/cleveragents/tui/screens/
  • Update app.py to use MainScreen instead of _Vertical/_Static placeholder
  • Tests (Behave): Add BDD scenarios for each screen's basic rendering and navigation
  • 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.
  • All 8 screen source files exist in src/cleveragents/tui/screens/ with proper implementations per ADR-044.
  • All 8 TCSS files exist in src/cleveragents/tui/screens/.
  • app.py uses MainScreen as the primary screen (not a _Vertical/_Static placeholder).
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly, 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.
  • 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%

Backlog note: This issue was discovered during autonomous operation
on milestone v3.7.0 (M8). It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.


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

## Metadata - **Branch**: `fix/tui-screens-missing-source-files` - **Commit Message**: `fix(tui): add missing MainScreen, SidebarFullScreen, and all modal screen source files` - **Milestone**: *(none — backlog)* - **Parent Epic**: #868 ## Bug Report **Feature Area:** TUI Implementation (M8: v3.7.0) **Severity:** High **Priority:** Backlog ### What Was Tested Inspected the TUI `screens/` directory for the MainScreen and all other screen implementations required by ADR-044. ### Expected Behavior (from spec) Per ADR-044 (TUI Architecture and Framework), the following screens must be implemented: - `MainScreen` — primary interface with conversation, sidebar, prompt, persona bar - `SidebarFullScreen` — pushed when sidebar enters fullscreen state - `PlanDetailModal` — pushed from sidebar or conversation - `ProjectDetailModal` — pushed from sidebar - `PersonaEditorModal` — pushed from fullscreen sidebar - `SettingsScreen` — pushed via F2 / ctrl+, - `SessionsScreen` — pushed via ctrl+s - `PermissionsScreen` — pushed for tool permission requests ADR-044 specifies the TCSS file hierarchy: ``` src/cleveragents/tui/screens/ ├── main.tcss ├── sidebar_full.tcss ├── plan_detail.tcss ├── project_detail.tcss ├── persona_editor.tcss ├── settings.tcss ├── sessions.tcss └── permissions.tcss ``` ### Actual Behavior The `src/cleveragents/tui/screens/` directory contains **only `__pycache__/`** with no Python source files: ```bash ls src/cleveragents/tui/screens/ # Output: __pycache__/ ls src/cleveragents/tui/screens/__pycache__/ # Output: __init__.cpython-313.pyc main_screen.cpython-313.pyc ``` - `main_screen.py` exists only as compiled bytecode — no source - No `sidebar_full.py`, `plan_detail.py`, `project_detail.py`, `persona_editor.py`, `settings.py`, `sessions.py` source files exist - No TCSS files exist in `screens/` subdirectory The current `app.py` uses a single `_Vertical` container with a `_Static` widget for the conversation — not the full `MainScreen` architecture described in ADR-044. ### Steps to Reproduce ```bash ls src/cleveragents/tui/screens/ # Only __pycache__ — no .py files ls src/cleveragents/tui/screens/__pycache__/ # main_screen.cpython-313.pyc (no source) ``` ### Code Location - `src/cleveragents/tui/screens/` — empty of source files - `src/cleveragents/tui/app.py` lines 109-121 — uses `_Vertical`/`_Static` instead of proper `MainScreen` ### Impact Without `MainScreen` source, the following spec-required features cannot be implemented or tested: - Right-side collapsible sidebar with 3 states (hidden/visible/fullscreen) - Session tab bar (auto-shows when ≥2 sessions) - Throbber (rainbow gradient bar) - Block cursor navigation in conversation - Escape-cascading navigation - All modal screens (PlanDetailModal, ProjectDetailModal, PersonaEditorModal, SettingsScreen, SessionsScreen) ## Subtasks - [ ] Restore or implement `src/cleveragents/tui/screens/main_screen.py` with `MainScreen` class per ADR-044 - [ ] Implement `src/cleveragents/tui/screens/sidebar_full.py` with `SidebarFullScreen` class - [ ] Implement `src/cleveragents/tui/screens/plan_detail.py` with `PlanDetailModal` class - [ ] Implement `src/cleveragents/tui/screens/project_detail.py` with `ProjectDetailModal` class - [ ] Implement `src/cleveragents/tui/screens/persona_editor.py` with `PersonaEditorModal` class - [ ] Implement `src/cleveragents/tui/screens/settings.py` with `SettingsScreen` class - [ ] Implement `src/cleveragents/tui/screens/sessions.py` with `SessionsScreen` class - [ ] Implement `src/cleveragents/tui/screens/permissions.py` with `PermissionsScreen` class - [ ] Add all TCSS files (`main.tcss`, `sidebar_full.tcss`, `plan_detail.tcss`, `project_detail.tcss`, `persona_editor.tcss`, `settings.tcss`, `sessions.tcss`, `permissions.tcss`) under `src/cleveragents/tui/screens/` - [ ] Update `app.py` to use `MainScreen` instead of `_Vertical`/`_Static` placeholder - [ ] Tests (Behave): Add BDD scenarios for each screen's basic rendering and navigation - [ ] 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. - All 8 screen source files exist in `src/cleveragents/tui/screens/` with proper implementations per ADR-044. - All 8 TCSS files exist in `src/cleveragents/tui/screens/`. - `app.py` uses `MainScreen` as the primary screen (not a `_Vertical`/`_Static` placeholder). - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly, 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. - 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% > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.7.0 (M8). It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. --- **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:12:30 +00:00
freemo removed this from the v3.7.0 milestone 2026-04-05 08:18:58 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Backlog — TUI screens directory is empty; this is expected since TUI implementation is v3.7.0 scope
  • Milestone: v3.7.0 (already assigned — correct)
  • MoSCoW: Should Have — the TUI screens are required for v3.7.0 but this milestone has no deadline and is lower priority than M3-M6.

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Backlog — TUI screens directory is empty; this is expected since TUI implementation is v3.7.0 scope - **Milestone**: v3.7.0 (already assigned — correct) - **MoSCoW**: Should Have — the TUI screens are required for v3.7.0 but this milestone has no deadline and is lower priority than M3-M6. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
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#3223
No description provided.