UAT: TUI ctrl+tab key binding uses wrong key — spec requires ctrl+tab but code binds ctrl+t #4045

Open
opened 2026-04-06 09:20:00 +00:00 by freemo · 0 comments
Owner

Metadata

  • Branch: fix/tui-ctrl-tab-binding-wrong-key
  • Commit Message: fix(tui): correct ctrl+tab key binding for argument preset cycling
  • Milestone: (none — backlog)
  • Parent Epic: #868

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

Bug Report

What Was Tested

Code-level analysis of src/cleveragents/tui/app.py — specifically the BINDINGS class variable of _TextualCleverAgentsTuiApp.

Expected Behavior (from spec)

The specification (TUI Key Bindings table, line ~30276) states:

| ctrl+tab | Cycle to next argument preset |

The spec also shows in the footer bar mockup:

ctrl+tab Preset

Actual Behavior

The BINDINGS class variable in _TextualCleverAgentsTuiApp (line 92–96 of src/cleveragents/tui/app.py) defines:

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

The binding uses ctrl+t instead of ctrl+tab. This means pressing ctrl+tab in the TUI will NOT cycle argument presets as the spec requires. Instead, ctrl+t is bound — a key that is not documented in the spec for this action.

Steps to Reproduce

  1. Launch the TUI: agents tui
  2. Press ctrl+tab — nothing happens (or default Textual behavior)
  3. Press ctrl+t — preset cycles (wrong key)

Code Location

src/cleveragents/tui/app.py, line 95:

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

Should be:

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

Subtasks

  • Change "ctrl+t" to "ctrl+tab" in the BINDINGS list in _TextualCleverAgentsTuiApp
  • Update the corresponding BDD scenario in features/tui_app_coverage.feature that asserts 3 key bindings (verify the binding key names)
  • Verify the fix with nox -e unit_tests

Definition of Done

  • BINDINGS uses "ctrl+tab" for the cycle_preset action
  • All unit tests pass (nox -e unit_tests)
  • Coverage >= 97% (nox -e coverage_report)
  • All nox stages pass
  • The TUI footer bar shows ctrl+tab Preset as documented in the spec
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly
  • 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 Testing | Agent: ca-new-issue-creator

## Metadata - **Branch**: `fix/tui-ctrl-tab-binding-wrong-key` - **Commit Message**: `fix(tui): correct ctrl+tab key binding for argument preset cycling` - **Milestone**: *(none — backlog)* - **Parent Epic**: #868 > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.6.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. ## Bug Report ### What Was Tested Code-level analysis of `src/cleveragents/tui/app.py` — specifically the `BINDINGS` class variable of `_TextualCleverAgentsTuiApp`. ### Expected Behavior (from spec) The specification (TUI Key Bindings table, line ~30276) states: > | `ctrl+tab` | Cycle to next argument preset | The spec also shows in the footer bar mockup: > `ctrl+tab` Preset ### Actual Behavior The `BINDINGS` class variable in `_TextualCleverAgentsTuiApp` (line 92–96 of `src/cleveragents/tui/app.py`) defines: ```python BINDINGS: ClassVar[list[tuple[str, str, str]]] = [ ("ctrl+q", "quit", "Quit"), ("f1", "help", "Help"), ("ctrl+t", "cycle_preset", "Cycle Preset"), # ← WRONG: should be "ctrl+tab" ] ``` The binding uses `ctrl+t` instead of `ctrl+tab`. This means pressing `ctrl+tab` in the TUI will NOT cycle argument presets as the spec requires. Instead, `ctrl+t` is bound — a key that is not documented in the spec for this action. ### Steps to Reproduce 1. Launch the TUI: `agents tui` 2. Press `ctrl+tab` — nothing happens (or default Textual behavior) 3. Press `ctrl+t` — preset cycles (wrong key) ### Code Location `src/cleveragents/tui/app.py`, line 95: ```python ("ctrl+t", "cycle_preset", "Cycle Preset"), ``` Should be: ```python ("ctrl+tab", "cycle_preset", "Cycle Preset"), ``` ## Subtasks - [ ] Change `"ctrl+t"` to `"ctrl+tab"` in the `BINDINGS` list in `_TextualCleverAgentsTuiApp` - [ ] Update the corresponding BDD scenario in `features/tui_app_coverage.feature` that asserts 3 key bindings (verify the binding key names) - [ ] Verify the fix with `nox -e unit_tests` ## Definition of Done - `BINDINGS` uses `"ctrl+tab"` for the `cycle_preset` action - All unit tests pass (`nox -e unit_tests`) - Coverage >= 97% (`nox -e coverage_report`) - All nox stages pass - The TUI footer bar shows `ctrl+tab Preset` as documented in the spec - A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly - 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 Testing | Agent: ca-new-issue-creator
HAL9000 added this to the v3.5.0 milestone 2026-04-09 03:11:44 +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#4045
No description provided.