UAT: TUI Settings Screen entirely absent — spec requires dedicated screen for global hotkeys, theme, default persona, and A2A connection configuration #2959

Open
opened 2026-04-05 02:57:20 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: feat/tui-settings-screen
  • Commit Message: feat(tui): implement Settings Screen for TUI configuration
  • Milestone: v3.7.0
  • Parent Epic: #868

Description

The spec defines a Settings Screen as a centralized location for configuring all aspects of the TUI, including:

  • Global Hotkeys: Customize the global hotkey bindings
  • Theme and Appearance: Select the active theme and configure font sizes and other visual settings
  • Default Persona: Set the default persona to be used at startup
  • A2A Connection: Configure the connection to the CleverAgents backend (e.g., server URL, authentication)

Current behavior: The src/cleveragents/tui/screens/ directory is completely empty (contains only __pycache__). No Settings Screen implementation exists anywhere in the TUI codebase. While a /settings slash command is listed in slash_catalog.py, it has no implementation in commands.py (the command router only handles persona, session, and help commands — all other slash commands return "Unknown command").

Expected behavior per spec: A dedicated SettingsScreen Textual screen class should exist in src/cleveragents/tui/screens/ that allows users to configure global hotkeys, theme/appearance, default persona, and A2A connection settings.

Code locations:

  • src/cleveragents/tui/screens/ — directory is empty (no screen implementations)
  • src/cleveragents/tui/slash_catalog.py line 84: SlashCommandSpec("settings", "Utility", "Open settings") — listed but not implemented
  • src/cleveragents/tui/commands.py lines 50–56: Only handles persona, session, help/settings falls through to "Unknown command"

Steps to reproduce:

  1. Launch the TUI: agents tui
  2. Type /settings in the prompt
  3. The TUI returns "Unknown command: /settings" instead of opening a Settings Screen

Subtasks

  • Create src/cleveragents/tui/screens/settings_screen.py with SettingsScreen class
  • Implement global hotkey customization section
  • Implement theme and appearance selection section
  • Implement default persona configuration section
  • Implement A2A connection configuration section
  • Wire /settings slash command to open the Settings Screen
  • Write BDD scenarios in features/tui_settings_screen.feature

Definition of Done

  • SettingsScreen class exists and is navigable via /settings command and hotkey
  • All four configuration sections (global hotkeys, theme/appearance, default persona, A2A connection) are functional
  • Settings are persisted across sessions
  • BDD scenarios in features/tui_settings_screen.feature cover all screen functionality
  • nox -e typecheck passes
  • nox -e unit_tests passes
  • All nox stages pass
  • Coverage >= 97%

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-new-issue-creator

## Metadata - **Branch**: `feat/tui-settings-screen` - **Commit Message**: `feat(tui): implement Settings Screen for TUI configuration` - **Milestone**: v3.7.0 - **Parent Epic**: #868 ## Description The spec defines a Settings Screen as a centralized location for configuring all aspects of the TUI, including: - **Global Hotkeys**: Customize the global hotkey bindings - **Theme and Appearance**: Select the active theme and configure font sizes and other visual settings - **Default Persona**: Set the default persona to be used at startup - **A2A Connection**: Configure the connection to the CleverAgents backend (e.g., server URL, authentication) **Current behavior**: The `src/cleveragents/tui/screens/` directory is completely empty (contains only `__pycache__`). No Settings Screen implementation exists anywhere in the TUI codebase. While a `/settings` slash command is listed in `slash_catalog.py`, it has no implementation in `commands.py` (the command router only handles `persona`, `session`, and `help` commands — all other slash commands return "Unknown command"). **Expected behavior per spec**: A dedicated `SettingsScreen` Textual screen class should exist in `src/cleveragents/tui/screens/` that allows users to configure global hotkeys, theme/appearance, default persona, and A2A connection settings. **Code locations**: - `src/cleveragents/tui/screens/` — directory is empty (no screen implementations) - `src/cleveragents/tui/slash_catalog.py` line 84: `SlashCommandSpec("settings", "Utility", "Open settings")` — listed but not implemented - `src/cleveragents/tui/commands.py` lines 50–56: Only handles `persona`, `session`, `help` — `/settings` falls through to "Unknown command" **Steps to reproduce**: 1. Launch the TUI: `agents tui` 2. Type `/settings` in the prompt 3. The TUI returns `"Unknown command: /settings"` instead of opening a Settings Screen ## Subtasks - [ ] Create `src/cleveragents/tui/screens/settings_screen.py` with `SettingsScreen` class - [ ] Implement global hotkey customization section - [ ] Implement theme and appearance selection section - [ ] Implement default persona configuration section - [ ] Implement A2A connection configuration section - [ ] Wire `/settings` slash command to open the Settings Screen - [ ] Write BDD scenarios in `features/tui_settings_screen.feature` ## Definition of Done - [ ] `SettingsScreen` class exists and is navigable via `/settings` command and hotkey - [ ] All four configuration sections (global hotkeys, theme/appearance, default persona, A2A connection) are functional - [ ] Settings are persisted across sessions - [ ] BDD scenarios in `features/tui_settings_screen.feature` cover all screen functionality - [ ] `nox -e typecheck` passes - [ ] `nox -e unit_tests` passes - [ ] All nox stages pass - [ ] Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added this to the v3.7.0 milestone 2026-04-05 02:57:24 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Confirmed
  • MoSCoW: Should Have

Valid finding verified during batch triage.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: Confirmed - **MoSCoW**: Should Have Valid finding verified during batch triage. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
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#2959
No description provided.