UAT: TUI BINDINGS missing ctrl+r (reload) and f2/ctrl+, (settings) keys #10473

Open
opened 2026-04-18 10:02:27 +00:00 by HAL9000 · 0 comments
Owner

Metadata

Field Value
Branch fix/tui-bindings-reload-settings
Commit Message fix(tui): add ctrl+r reload and f2/ctrl+comma settings key bindings
Milestone v3.7.0
Parent Epic #4946

Background and Context

The TUI specification requires that app.py BINDINGS includes ALL of the following keys: ctrl+n, ctrl+w, ctrl+s, ctrl+r, shift+tab, f2/ctrl+,, tab (persona), ctrl+tab (preset), ctrl+[, ctrl+], alt+up, alt+down, escape. The current implementation is missing ctrl+r (reload/refresh) and f2/ctrl+, (open settings screen).

Expected Behavior (from spec)

The BINDINGS class variable in app.py must include:

  • ctrl+r → Reload/refresh the current session or conversation
  • f2 or ctrl+, → Open the Settings screen

Actual Behavior

src/cleveragents/tui/app.py BINDINGS (lines 88–92):

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

ctrl+r and f2/ctrl+, are completely absent from the BINDINGS list. Users cannot reload the session or open the settings screen via keyboard shortcuts.

Steps to Reproduce (Code Analysis)

  1. Open src/cleveragents/tui/app.py
  2. Find BINDINGS class variable (line ~88)
  3. Observe: only ctrl+q, f1, ctrl+t are defined
  4. ctrl+r (reload) and f2/ctrl+, (settings) are absent
  5. Compare with spec requirement: "app.py BINDINGS includes ALL: ..., ctrl+r, ..., f2/ctrl+,, ..."

Code Location

  • src/cleveragents/tui/app.pyBINDINGS class variable (lines 88–92)

Subtasks

  • Add ("ctrl+r", "reload", "Reload") to BINDINGS
  • Add ("f2", "settings", "Settings") and ("ctrl+comma", "settings", "Settings") to BINDINGS
  • Implement action_reload() method
  • Implement action_settings() method (opens SettingsScreen)
  • Add Behave scenarios verifying ctrl+r reloads the session
  • Add Behave scenarios verifying f2/ctrl+, opens the settings screen
  • Run nox (all default sessions), fix any errors
  • Verify coverage >= 97%

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • ctrl+r and f2/ctrl+, are present in BINDINGS and functional
  • 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 details.
  • 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.
  • The TDD testing issue is resolved.

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

## Metadata | Field | Value | |---|---| | **Branch** | `fix/tui-bindings-reload-settings` | | **Commit Message** | `fix(tui): add ctrl+r reload and f2/ctrl+comma settings key bindings` | | **Milestone** | v3.7.0 | | **Parent Epic** | #4946 | --- ## Background and Context The TUI specification requires that `app.py BINDINGS` includes ALL of the following keys: `ctrl+n`, `ctrl+w`, `ctrl+s`, `ctrl+r`, `shift+tab`, `f2/ctrl+,`, `tab` (persona), `ctrl+tab` (preset), `ctrl+[`, `ctrl+]`, `alt+up`, `alt+down`, `escape`. The current implementation is missing `ctrl+r` (reload/refresh) and `f2`/`ctrl+,` (open settings screen). ## Expected Behavior (from spec) The `BINDINGS` class variable in `app.py` must include: - `ctrl+r` → Reload/refresh the current session or conversation - `f2` or `ctrl+,` → Open the Settings screen ## Actual Behavior `src/cleveragents/tui/app.py` `BINDINGS` (lines 88–92): ```python BINDINGS: ClassVar[list[tuple[str, str, str]]] = [ ("ctrl+q", "quit", "Quit"), ("f1", "help", "Help"), ("ctrl+t", "cycle_preset", "Cycle Preset"), ] ``` `ctrl+r` and `f2`/`ctrl+,` are completely absent from the BINDINGS list. Users cannot reload the session or open the settings screen via keyboard shortcuts. ## Steps to Reproduce (Code Analysis) 1. Open `src/cleveragents/tui/app.py` 2. Find `BINDINGS` class variable (line ~88) 3. Observe: only `ctrl+q`, `f1`, `ctrl+t` are defined 4. `ctrl+r` (reload) and `f2`/`ctrl+,` (settings) are absent 5. Compare with spec requirement: "app.py BINDINGS includes ALL: ..., ctrl+r, ..., f2/ctrl+,, ..." ## Code Location - `src/cleveragents/tui/app.py` — `BINDINGS` class variable (lines 88–92) ## Subtasks - [ ] Add `("ctrl+r", "reload", "Reload")` to `BINDINGS` - [ ] Add `("f2", "settings", "Settings")` and `("ctrl+comma", "settings", "Settings")` to `BINDINGS` - [ ] Implement `action_reload()` method - [ ] Implement `action_settings()` method (opens SettingsScreen) - [ ] Add Behave scenarios verifying ctrl+r reloads the session - [ ] Add Behave scenarios verifying f2/ctrl+, opens the settings screen - [ ] Run `nox` (all default sessions), fix any errors - [ ] Verify coverage >= 97% ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - `ctrl+r` and `f2`/`ctrl+,` are present in `BINDINGS` and functional - 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 details. - 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. - The TDD testing issue is resolved. --- **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#10473
No description provided.