UAT: SlashCommandOverlay hard-codes a 12-command display limit — spec requires showing all matching commands #3669

Open
opened 2026-04-05 21:18:30 +00:00 by freemo · 0 comments
Owner

Metadata

  • Branch: fix/tui-slash-command-overlay-display-limit
  • Commit Message: fix(tui): remove hard-coded 12-command limit from SlashCommandOverlay
  • Milestone: None (backlog — TUI is Post-MVP deferred work)
  • Parent Epic: #868

Description

What was tested

TUI slash command overlay display behavior.

Expected behavior (from spec)

The spec (docs/specification.md, Slash Command Overlay section) shows a mockup where all matching commands are displayed in the overlay. The spec does not specify any truncation limit — all matching commands for the current query prefix should be shown. The overlay should display the full list of matching commands with their descriptions.

Actual behavior

SlashCommandOverlay.set_commands() in src/cleveragents/tui/widgets/slash_command_overlay.py (line 26) hard-codes filtered[:12] — only the first 12 matching commands are shown regardless of how many match.

For example, typing /plan would match 16 plan commands but only 12 would be displayed, hiding /plan:rollback, /plan:errors, /plan:resume, and /plan:revert.

for command in filtered[:12]:  # Hard-coded limit of 12
    lines.append(f"  /{command}")

Code location

src/cleveragents/tui/widgets/slash_command_overlay.py, line 26

Impact

Users typing /plan will not see all 16 plan commands — the last 4 (/plan:rollback, /plan:errors, /plan:resume, /plan:revert) are hidden. This makes these commands undiscoverable via the overlay.

There is already an open PR fix(tui): show command descriptions in SlashCommandOverlay alongside command names addressing the missing descriptions issue. The 12-command truncation is a separate, independent problem that must be fixed regardless of that PR.

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

Subtasks

  • Remove the [:12] slice from SlashCommandOverlay.set_commands() in src/cleveragents/tui/widgets/slash_command_overlay.py line 26
  • Verify all matching commands are rendered in the overlay without truncation
  • Confirm the fix does not conflict with the open PR adding command descriptions
  • Tests (Behave): Add/update scenario asserting that more than 12 matching commands are all displayed in the overlay
  • 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.
  • The hard-coded [:12] slice is removed and all matching commands are shown in the overlay.
  • 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.
  • All nox stages pass
  • Coverage >= 97%

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-uat-tester

## Metadata - **Branch**: `fix/tui-slash-command-overlay-display-limit` - **Commit Message**: `fix(tui): remove hard-coded 12-command limit from SlashCommandOverlay` - **Milestone**: None (backlog — TUI is Post-MVP deferred work) - **Parent Epic**: #868 ## Description ### What was tested TUI slash command overlay display behavior. ### Expected behavior (from spec) The spec (`docs/specification.md`, Slash Command Overlay section) shows a mockup where **all matching commands** are displayed in the overlay. The spec does not specify any truncation limit — all matching commands for the current query prefix should be shown. The overlay should display the full list of matching commands with their descriptions. ### Actual behavior `SlashCommandOverlay.set_commands()` in `src/cleveragents/tui/widgets/slash_command_overlay.py` (line 26) hard-codes `filtered[:12]` — only the first 12 matching commands are shown regardless of how many match. For example, typing `/plan` would match 16 plan commands but only 12 would be displayed, hiding `/plan:rollback`, `/plan:errors`, `/plan:resume`, and `/plan:revert`. ```python for command in filtered[:12]: # Hard-coded limit of 12 lines.append(f" /{command}") ``` ### Code location `src/cleveragents/tui/widgets/slash_command_overlay.py`, line 26 ### Impact Users typing `/plan` will not see all 16 plan commands — the last 4 (`/plan:rollback`, `/plan:errors`, `/plan:resume`, `/plan:revert`) are hidden. This makes these commands undiscoverable via the overlay. ### Related work There is already an open PR `fix(tui): show command descriptions in SlashCommandOverlay alongside command names` addressing the missing descriptions issue. The 12-command truncation is a **separate, independent problem** that must be fixed regardless of that PR. > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.7.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. ## Subtasks - [ ] Remove the `[:12]` slice from `SlashCommandOverlay.set_commands()` in `src/cleveragents/tui/widgets/slash_command_overlay.py` line 26 - [ ] Verify all matching commands are rendered in the overlay without truncation - [ ] Confirm the fix does not conflict with the open PR adding command descriptions - [ ] Tests (Behave): Add/update scenario asserting that more than 12 matching commands are all displayed in the overlay - [ ] 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. - The hard-coded `[:12]` slice is removed and all matching commands are shown in the overlay. - 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. - All nox stages pass - Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-uat-tester
freemo added this to the v3.7.0 milestone 2026-04-05 21:30:20 +00:00
freemo removed this from the v3.7.0 milestone 2026-04-06 23:31: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#3669
No description provided.