UAT: TUI uses ctrl+t to cycle presets instead of spec-required ctrl+tab #10314

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

Metadata

  • Commit message: fix(tui): change cycle_preset binding from ctrl+t to ctrl+tab
  • Branch name: bugfix/m8-cycle-preset-wrong-keybinding

Background and Context

The TUI specification (ADR-045, Persona System) defines that ctrl+tab is the keybinding to cycle through presets. The current implementation in src/cleveragents/tui/app.py incorrectly binds ctrl+t instead:

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

This means users pressing ctrl+tab (the spec-defined key) will get no response, while ctrl+t (an unspecified key) triggers preset cycling.

Expected Behavior

Per the spec, ctrl+tab must cycle through the active persona's presets. The BINDINGS entry should be:

("ctrl+tab", "cycle_preset", "Cycle Preset"),

Actual Behavior

ctrl+t cycles presets. ctrl+tab does nothing.

Steps to Reproduce

  1. Inspect src/cleveragents/tui/app.py BINDINGS class variable
  2. Observe ("ctrl+t", "cycle_preset", "Cycle Preset") — wrong key
  3. Launch TUI, press ctrl+tab — nothing happens
  4. Press ctrl+t — preset cycles (wrong key)

Acceptance Criteria

  • BINDINGS in _TextualCleverAgentsTuiApp uses "ctrl+tab" (not "ctrl+t") for cycle_preset
  • Pressing ctrl+tab in the TUI cycles through the active persona's presets
  • Pressing ctrl+t no longer triggers preset cycling
  • All existing tests continue to pass
  • Coverage >= 97%

Subtasks

  • Change ("ctrl+t", "cycle_preset", "Cycle Preset") to ("ctrl+tab", "cycle_preset", "Cycle Preset") in src/cleveragents/tui/app.py
  • Update any Behave scenarios or step definitions that reference ctrl+t for preset cycling
  • Add/update Behave scenario asserting ctrl+tab triggers preset cycling
  • 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 - **Commit message:** `fix(tui): change cycle_preset binding from ctrl+t to ctrl+tab` - **Branch name:** `bugfix/m8-cycle-preset-wrong-keybinding` ## Background and Context The TUI specification (ADR-045, Persona System) defines that **`ctrl+tab`** is the keybinding to cycle through presets. The current implementation in `src/cleveragents/tui/app.py` incorrectly binds **`ctrl+t`** instead: ```python BINDINGS: ClassVar[list[tuple[str, str, str]]] = [ ("ctrl+q", "quit", "Quit"), ("f1", "help", "Help"), ("ctrl+t", "cycle_preset", "Cycle Preset"), # BUG: should be ctrl+tab ] ``` This means users pressing `ctrl+tab` (the spec-defined key) will get no response, while `ctrl+t` (an unspecified key) triggers preset cycling. ## Expected Behavior Per the spec, `ctrl+tab` must cycle through the active persona's presets. The BINDINGS entry should be: ```python ("ctrl+tab", "cycle_preset", "Cycle Preset"), ``` ## Actual Behavior `ctrl+t` cycles presets. `ctrl+tab` does nothing. ## Steps to Reproduce 1. Inspect `src/cleveragents/tui/app.py` BINDINGS class variable 2. Observe `("ctrl+t", "cycle_preset", "Cycle Preset")` — wrong key 3. Launch TUI, press `ctrl+tab` — nothing happens 4. Press `ctrl+t` — preset cycles (wrong key) ## Acceptance Criteria - [ ] `BINDINGS` in `_TextualCleverAgentsTuiApp` uses `"ctrl+tab"` (not `"ctrl+t"`) for `cycle_preset` - [ ] Pressing `ctrl+tab` in the TUI cycles through the active persona's presets - [ ] Pressing `ctrl+t` no longer triggers preset cycling - [ ] All existing tests continue to pass - [ ] Coverage >= 97% ## Subtasks - [ ] Change `("ctrl+t", "cycle_preset", "Cycle Preset")` to `("ctrl+tab", "cycle_preset", "Cycle Preset")` in `src/cleveragents/tui/app.py` - [ ] Update any Behave scenarios or step definitions that reference `ctrl+t` for preset cycling - [ ] Add/update Behave scenario asserting `ctrl+tab` triggers preset cycling - [ ] 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#10314
No description provided.