UAT: ProjectDetailModal missing — /project:inspect does not push a modal screen #10392

Open
opened 2026-04-18 09:26:01 +00:00 by HAL9000 · 0 comments
Owner

Metadata

  • Branch: fix/tui-project-detail-modal-missing
  • Commit Message: feat(tui): implement ProjectDetailModal pushed by /project:inspect slash command
  • Milestone: v3.7.0
  • Parent Epic: #868

Bug Report

What Was Tested

Source code inspection of src/cleveragents/tui/app.py, src/cleveragents/tui/commands.py, src/cleveragents/tui/slash_catalog.py, and the entire src/cleveragents/tui/ directory tree.

Expected Behavior (from spec)

Per the specification (§TUI > Modals), a ProjectDetailModal must exist as a proper Textual Screen (modal) subclass. When the user types /project:inspect in the TUI prompt, the app must push ProjectDetailModal onto the screen stack, displaying project resources and context configuration.

Actual Behavior

  • No ProjectDetailModal class exists anywhere in src/cleveragents/tui/.
  • The TuiCommandRouter.handle() method in commands.py does not handle project:inspect — it only handles persona, session, and help commands.
  • While project:inspect is listed in slash_catalog.py as a known slash command spec, it has no TUI handler that pushes a modal.
  • There is no screens/ or modals/ directory under src/cleveragents/tui/.

Steps to Reproduce

  1. Inspect src/cleveragents/tui/commands.pyTuiCommandRouter.handle() does not handle project:inspect.
  2. Search the entire src/cleveragents/tui/ tree for any file defining ProjectDetailModal — none found.
  3. Launch the TUI and type /project:inspect <project-id> — no modal appears; the command returns "Unknown command".

Impact

Users cannot inspect project details (resources, context configuration) via the TUI modal interface. The /project:inspect command is non-functional in the TUI.

Subtasks

  • Create src/cleveragents/tui/screens/project_detail_modal.py with a ProjectDetailModal class that subclasses textual.app.Screen (as a modal)
  • Wire /project:inspect in TuiCommandRouter.handle() to push ProjectDetailModal with the project ID
  • ProjectDetailModal must display: project resources and context configuration
  • Tests (Behave): Add TDD scenario tagged @tdd_issue, @tdd_expected_fail asserting /project:inspect pushes ProjectDetailModal
  • Remove @tdd_expected_fail once implemented and verify scenario passes
  • Verify coverage >= 97% via nox -s coverage_report
  • Run nox (all default sessions), fix any errors

Definition of Done

  • ProjectDetailModal exists as a proper Textual Screen (modal) subclass
  • Typing /project:inspect <project-id> in the TUI pushes ProjectDetailModal
  • TDD scenario passes without @tdd_expected_fail
  • All nox stages pass
  • Coverage >= 97%
  • 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.

Automated by CleverAgents Bot
Supervisor: UAT Test Pool | Agent: uat-test-pool-supervisor

## Metadata - **Branch**: `fix/tui-project-detail-modal-missing` - **Commit Message**: `feat(tui): implement ProjectDetailModal pushed by /project:inspect slash command` - **Milestone**: v3.7.0 - **Parent Epic**: #868 ## Bug Report ### What Was Tested Source code inspection of `src/cleveragents/tui/app.py`, `src/cleveragents/tui/commands.py`, `src/cleveragents/tui/slash_catalog.py`, and the entire `src/cleveragents/tui/` directory tree. ### Expected Behavior (from spec) Per the specification (§TUI > Modals), a `ProjectDetailModal` must exist as a proper Textual `Screen` (modal) subclass. When the user types `/project:inspect` in the TUI prompt, the app must push `ProjectDetailModal` onto the screen stack, displaying project resources and context configuration. ### Actual Behavior - No `ProjectDetailModal` class exists anywhere in `src/cleveragents/tui/`. - The `TuiCommandRouter.handle()` method in `commands.py` does not handle `project:inspect` — it only handles `persona`, `session`, and `help` commands. - While `project:inspect` is listed in `slash_catalog.py` as a known slash command spec, it has no TUI handler that pushes a modal. - There is no `screens/` or `modals/` directory under `src/cleveragents/tui/`. ### Steps to Reproduce 1. Inspect `src/cleveragents/tui/commands.py` — `TuiCommandRouter.handle()` does not handle `project:inspect`. 2. Search the entire `src/cleveragents/tui/` tree for any file defining `ProjectDetailModal` — none found. 3. Launch the TUI and type `/project:inspect <project-id>` — no modal appears; the command returns "Unknown command". ### Impact Users cannot inspect project details (resources, context configuration) via the TUI modal interface. The `/project:inspect` command is non-functional in the TUI. ## Subtasks - [ ] Create `src/cleveragents/tui/screens/project_detail_modal.py` with a `ProjectDetailModal` class that subclasses `textual.app.Screen` (as a modal) - [ ] Wire `/project:inspect` in `TuiCommandRouter.handle()` to push `ProjectDetailModal` with the project ID - [ ] `ProjectDetailModal` must display: project resources and context configuration - [ ] Tests (Behave): Add TDD scenario tagged `@tdd_issue`, `@tdd_expected_fail` asserting `/project:inspect` pushes `ProjectDetailModal` - [ ] Remove `@tdd_expected_fail` once implemented and verify scenario passes - [ ] Verify coverage >= 97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions), fix any errors ## Definition of Done - [ ] `ProjectDetailModal` exists as a proper Textual `Screen` (modal) subclass - [ ] Typing `/project:inspect <project-id>` in the TUI pushes `ProjectDetailModal` - [ ] TDD scenario passes without `@tdd_expected_fail` - [ ] All nox stages pass - [ ] Coverage >= 97% - 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. --- **Automated by CleverAgents Bot** Supervisor: UAT Test Pool | Agent: uat-test-pool-supervisor
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#10392
No description provided.