UAT: TUI ctrl+s keybinding absent and SessionsScreen not implemented #10327

Open
opened 2026-04-18 08:46:18 +00:00 by HAL9000 · 0 comments
Owner

Metadata

  • Issue Type: Type/Bug
  • Priority: Priority/Critical
  • MoSCoW: MoSCoW/Must Have
  • Branch: bugfix/m130-tui-ctrl-s-sessions-screen
  • Commit Message: fix(tui): add ctrl+s binding and implement SessionsScreen

Description

During UAT testing of the TUI Session Persistence feature, the ctrl+s keyboard shortcut and SessionsScreen are confirmed absent from the implementation.

Expected behaviour (from spec):

  • Pressing ctrl+s in the TUI should open a SessionsScreen that is fully implemented and functional (not empty/unimplemented).

Actual behaviour:

  • The BINDINGS list in src/cleveragents/tui/app.py contains only three entries: ctrl+q (quit), f1 (help), and ctrl+t (cycle preset). There is no ctrl+s binding.
  • No SessionsScreen class exists anywhere in src/cleveragents/tui/ (checked all subdirectories: widgets/, input/, permissions/, persona/, search/, shell_safety/).

Reproduction steps:

  1. Clone the repository and inspect src/cleveragents/tui/app.py.
  2. Search BINDINGSctrl+s is absent.
  3. Search the entire src/cleveragents/tui/ tree for SessionsScreen — no file or class found.

Acceptance Criteria

  • A ctrl+s binding is added to _TextualCleverAgentsTuiApp.BINDINGS.
  • A SessionsScreen class is implemented in src/cleveragents/tui/ (e.g., widgets/sessions_screen.py).
  • Pressing ctrl+s in the running TUI opens SessionsScreen.
  • SessionsScreen displays the list of persisted sessions and is not empty/unimplemented.

Subtasks

  • Add ("ctrl+s", "sessions", "Sessions") to BINDINGS in app.py.
  • Create src/cleveragents/tui/widgets/sessions_screen.py with a functional SessionsScreen class.
  • Wire action_sessions() in app.py to push/show SessionsScreen.
  • Write Behave scenario: ctrl+s opens sessions screen.
  • Write Robot Framework test: ctrl+s opens sessions screen.
  • 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, 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.

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

## Metadata - **Issue Type:** Type/Bug - **Priority:** Priority/Critical - **MoSCoW:** MoSCoW/Must Have - **Branch:** bugfix/m130-tui-ctrl-s-sessions-screen - **Commit Message:** fix(tui): add ctrl+s binding and implement SessionsScreen ## Description During UAT testing of the TUI Session Persistence feature, the `ctrl+s` keyboard shortcut and `SessionsScreen` are confirmed absent from the implementation. **Expected behaviour (from spec):** - Pressing `ctrl+s` in the TUI should open a `SessionsScreen` that is fully implemented and functional (not empty/unimplemented). **Actual behaviour:** - The `BINDINGS` list in `src/cleveragents/tui/app.py` contains only three entries: `ctrl+q` (quit), `f1` (help), and `ctrl+t` (cycle preset). There is no `ctrl+s` binding. - No `SessionsScreen` class exists anywhere in `src/cleveragents/tui/` (checked all subdirectories: `widgets/`, `input/`, `permissions/`, `persona/`, `search/`, `shell_safety/`). **Reproduction steps:** 1. Clone the repository and inspect `src/cleveragents/tui/app.py`. 2. Search `BINDINGS` — `ctrl+s` is absent. 3. Search the entire `src/cleveragents/tui/` tree for `SessionsScreen` — no file or class found. ## Acceptance Criteria - [ ] A `ctrl+s` binding is added to `_TextualCleverAgentsTuiApp.BINDINGS`. - [ ] A `SessionsScreen` class is implemented in `src/cleveragents/tui/` (e.g., `widgets/sessions_screen.py`). - [ ] Pressing `ctrl+s` in the running TUI opens `SessionsScreen`. - [ ] `SessionsScreen` displays the list of persisted sessions and is not empty/unimplemented. ## Subtasks - [ ] Add `("ctrl+s", "sessions", "Sessions")` to `BINDINGS` in `app.py`. - [ ] Create `src/cleveragents/tui/widgets/sessions_screen.py` with a functional `SessionsScreen` class. - [ ] Wire `action_sessions()` in `app.py` to push/show `SessionsScreen`. - [ ] Write Behave scenario: `ctrl+s` opens sessions screen. - [ ] Write Robot Framework test: `ctrl+s` opens sessions screen. - [ ] 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, 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. --- **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.

Dependencies

No dependencies set.

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