TDD: TUI BINDINGS missing alt+up and alt+down block cursor navigation keys #10493

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

Metadata

Field Value
Branch fix/tui-bindings-block-cursor-navigation
Commit Message fix(tui): add alt+up and alt+down block cursor navigation key bindings
Milestone v3.7.0
Parent Epic #5305
Bug Issue #10491

Background and Context

This TDD issue tracks the test coverage work required to support the fix for #10491 (UAT: TUI BINDINGS missing alt+up and alt+down block cursor navigation keys). The TUI specification requires that app.py BINDINGS includes alt+up and alt+down for block cursor navigation. Comprehensive Behave BDD scenarios and unit tests must be written to verify these bindings are present and functional.

Expected Behavior (from spec)

Test coverage must verify:

  • alt+up is present in BINDINGS and triggers action_cursor_up()
  • alt+down is present in BINDINGS and triggers action_cursor_down()
  • Block cursor moves up through conversation blocks (UserInput, ActorResponse, ToolCall, PlanProgress, etc.) when alt+up is pressed
  • Block cursor moves down through conversation blocks when alt+down is pressed
  • Edge cases: cursor at top (alt+up does nothing), cursor at bottom (alt+down does nothing)

Acceptance Criteria

  • Behave feature file exists for block cursor navigation
  • Scenario: pressing alt+up moves block cursor to previous conversation block
  • Scenario: pressing alt+down moves block cursor to next conversation block
  • Scenario: pressing alt+up at top of stream does not raise an error
  • Scenario: pressing alt+down at bottom of stream does not raise an error
  • Unit tests for action_cursor_up() and action_cursor_down() methods
  • All tests pass under nox
  • Coverage >= 97%

Subtasks

  • Write Behave feature file: features/tui/block_cursor_navigation.feature
  • Implement step definitions for block cursor navigation scenarios
  • Write unit tests for action_cursor_up() method
  • Write unit tests for action_cursor_down() method
  • Write unit test asserting alt+up is in BINDINGS
  • Write unit test asserting alt+down is in BINDINGS
  • 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.
  • All Behave scenarios pass for block cursor navigation
  • All unit tests pass for action_cursor_up() and action_cursor_down()
  • Coverage >= 97% is maintained
  • 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 linked bug issue #10491 is resolved.

Automated by CleverAgents Bot
Agent: new-issue-creator

## Metadata | Field | Value | |---|---| | **Branch** | `fix/tui-bindings-block-cursor-navigation` | | **Commit Message** | `fix(tui): add alt+up and alt+down block cursor navigation key bindings` | | **Milestone** | v3.7.0 | | **Parent Epic** | #5305 | | **Bug Issue** | #10491 | --- ## Background and Context This TDD issue tracks the test coverage work required to support the fix for #10491 (UAT: TUI BINDINGS missing alt+up and alt+down block cursor navigation keys). The TUI specification requires that `app.py BINDINGS` includes `alt+up` and `alt+down` for block cursor navigation. Comprehensive Behave BDD scenarios and unit tests must be written to verify these bindings are present and functional. ## Expected Behavior (from spec) Test coverage must verify: - `alt+up` is present in `BINDINGS` and triggers `action_cursor_up()` - `alt+down` is present in `BINDINGS` and triggers `action_cursor_down()` - Block cursor moves up through conversation blocks (UserInput, ActorResponse, ToolCall, PlanProgress, etc.) when `alt+up` is pressed - Block cursor moves down through conversation blocks when `alt+down` is pressed - Edge cases: cursor at top (alt+up does nothing), cursor at bottom (alt+down does nothing) ## Acceptance Criteria - [ ] Behave feature file exists for block cursor navigation - [ ] Scenario: pressing alt+up moves block cursor to previous conversation block - [ ] Scenario: pressing alt+down moves block cursor to next conversation block - [ ] Scenario: pressing alt+up at top of stream does not raise an error - [ ] Scenario: pressing alt+down at bottom of stream does not raise an error - [ ] Unit tests for `action_cursor_up()` and `action_cursor_down()` methods - [ ] All tests pass under `nox` - [ ] Coverage >= 97% ## Subtasks - [ ] Write Behave feature file: `features/tui/block_cursor_navigation.feature` - [ ] Implement step definitions for block cursor navigation scenarios - [ ] Write unit tests for `action_cursor_up()` method - [ ] Write unit tests for `action_cursor_down()` method - [ ] Write unit test asserting `alt+up` is in `BINDINGS` - [ ] Write unit test asserting `alt+down` is in `BINDINGS` - [ ] 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. - All Behave scenarios pass for block cursor navigation - All unit tests pass for `action_cursor_up()` and `action_cursor_down()` - Coverage >= 97% is maintained - 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 linked bug issue #10491 is resolved. --- **Automated by CleverAgents Bot** Agent: new-issue-creator
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#10493
No description provided.