UAT: SettingsScreen not implemented — F2/ctrl+, keybinding missing, no settings persistence #6347

Open
opened 2026-04-09 20:13:59 +00:00 by HAL9000 · 0 comments
Owner

Bug Report

Feature Area: TUI Implementation
Spec Reference: §TUI — Settings Screen (v3.7.0 deliverable #13)
Milestone: v3.7.0

Summary

The SettingsScreen specified in §TUI — Settings Screen is entirely absent from the codebase. The spec requires a modal overlay accessible via F2 or ctrl+, with search-driven navigation through all TUI settings. None of this exists.

Spec Requirements

Per §TUI — Settings Screen:

  • SettingsScreen is a modal overlay opened by F2 or ctrl+,
  • Provides search-driven navigation through all TUI settings (UI, Notifications, Sidebar, Agent, Tools, Shell, Diff sections)
  • Settings are schema-driven and auto-generated from the schema
  • Settings are persisted as JSON in ~/.config/cleveragents/tui-settings.json and auto-saved on dismiss
  • /settings slash command opens the screen (catalogued in slash_catalog.py line ~79 but never handled)

Per the acceptance criteria (§TUI — Acceptance Criteria, deliverable #13):

"Settings screen opens; configuration changes persist"

What Was Found

Code location: /app/src/cleveragents/tui/app.py

  1. CleverAgentsTuiApp.BINDINGS (line ~79) contains only:

    BINDINGS = [
        ("ctrl+q", "quit", "Quit"),
        ("f1", "help", "Help"),
        ("ctrl+t", "cycle_preset", "Cycle Preset"),
    ]
    

    F2 / ctrl+, keybindings are completely absent.

  2. /app/src/cleveragents/tui/screens/ directory is empty (only __pycache__). No settings_screen.py or any screen file exists.

  3. /settings is listed in slash_catalog.py as a command but TuiCommandRouter.handle() in commands.py does not handle it — returns "Unknown command: /settings".

  4. No ~/.config/cleveragents/tui-settings.json persistence logic exists anywhere in the TUI codebase.

  5. No settings schema (tui-settings.json schema, TuiSettingsSchema, or equivalent) exists.

Expected Behaviour

  • F2 or ctrl+, opens the SettingsScreen modal overlay
  • The screen renders all settings categories (UI, Notifications, Sidebar, Agent, Tools, Shell, Diff) with their current values
  • Search bar (ctrl+s within screen) filters settings
  • enter edits the focused setting
  • esc dismisses and auto-saves to ~/.config/cleveragents/tui-settings.json
  • /settings slash command navigates to the screen

Actual Behaviour

  • F2 / ctrl+, do nothing (not bound)
  • screens/ directory is empty — no SettingsScreen class anywhere
  • /settings slash command returns "Unknown command: /settings"
  • No settings persistence exists

Steps to Reproduce

  1. Launch agents tui
  2. Press F2 — nothing happens
  3. Press ctrl+, — nothing happens
  4. Type /settings in the prompt and press Enter — returns "Unknown command: /settings"

Impact

This is a v3.7.0 deliverable #13 — the entire settings subsystem is missing. Users cannot configure the TUI. All 14 schema-defined settings (ui.*, notifications.*, sidebar.*, agent.*, tools.*, shell.*, diff.*) are inaccessible.


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

## Bug Report **Feature Area**: TUI Implementation **Spec Reference**: §TUI — Settings Screen (v3.7.0 deliverable #13) **Milestone**: v3.7.0 ### Summary The `SettingsScreen` specified in §TUI — Settings Screen is entirely absent from the codebase. The spec requires a modal overlay accessible via `F2` or `ctrl+,` with search-driven navigation through all TUI settings. None of this exists. ### Spec Requirements Per §TUI — Settings Screen: - `SettingsScreen` is a modal overlay opened by `F2` or `ctrl+,` - Provides search-driven navigation through all TUI settings (UI, Notifications, Sidebar, Agent, Tools, Shell, Diff sections) - Settings are schema-driven and auto-generated from the schema - Settings are persisted as JSON in `~/.config/cleveragents/tui-settings.json` and auto-saved on dismiss - `/settings` slash command opens the screen (catalogued in `slash_catalog.py` line ~79 but never handled) Per the acceptance criteria (§TUI — Acceptance Criteria, deliverable #13): > "Settings screen opens; configuration changes persist" ### What Was Found **Code location**: `/app/src/cleveragents/tui/app.py` 1. `CleverAgentsTuiApp.BINDINGS` (line ~79) contains only: ```python BINDINGS = [ ("ctrl+q", "quit", "Quit"), ("f1", "help", "Help"), ("ctrl+t", "cycle_preset", "Cycle Preset"), ] ``` `F2` / `ctrl+,` keybindings are completely absent. 2. `/app/src/cleveragents/tui/screens/` directory is **empty** (only `__pycache__`). No `settings_screen.py` or any screen file exists. 3. `/settings` is listed in `slash_catalog.py` as a command but `TuiCommandRouter.handle()` in `commands.py` does not handle it — returns `"Unknown command: /settings"`. 4. No `~/.config/cleveragents/tui-settings.json` persistence logic exists anywhere in the TUI codebase. 5. No settings schema (`tui-settings.json` schema, `TuiSettingsSchema`, or equivalent) exists. ### Expected Behaviour - `F2` or `ctrl+,` opens the `SettingsScreen` modal overlay - The screen renders all settings categories (UI, Notifications, Sidebar, Agent, Tools, Shell, Diff) with their current values - Search bar (`ctrl+s` within screen) filters settings - `enter` edits the focused setting - `esc` dismisses and auto-saves to `~/.config/cleveragents/tui-settings.json` - `/settings` slash command navigates to the screen ### Actual Behaviour - `F2` / `ctrl+,` do nothing (not bound) - `screens/` directory is empty — no `SettingsScreen` class anywhere - `/settings` slash command returns `"Unknown command: /settings"` - No settings persistence exists ### Steps to Reproduce 1. Launch `agents tui` 2. Press `F2` — nothing happens 3. Press `ctrl+,` — nothing happens 4. Type `/settings` in the prompt and press Enter — returns "Unknown command: /settings" ### Impact This is a **v3.7.0 deliverable #13** — the entire settings subsystem is missing. Users cannot configure the TUI. All 14 schema-defined settings (`ui.*`, `notifications.*`, `sidebar.*`, `agent.*`, `tools.*`, `shell.*`, `diff.*`) are inaccessible. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.2.0 milestone 2026-04-09 21:09:29 +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.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core#6347
No description provided.