UAT: TUI Plan Detail Modal entirely absent — spec requires multi-tabbed modal with Overview, Decision Tree, Artifacts, and Logs tabs #2975

Open
opened 2026-04-05 03:00:41 +00:00 by freemo · 2 comments
Owner

Metadata

  • Commit Message: feat(tui): implement Plan Detail Modal with Overview, Decision Tree, Artifacts, and Logs tabs
  • Branch: feat/tui-plan-detail-modal

Background and context

The specification defines a Plan Detail Modal as a comprehensive multi-tabbed modal within the TUI that allows users to deeply inspect a running or completed plan. This is a core piece of the TUI's plan observability story. The Block Cursor context menu is also specified to include an "Explain Decision" action that opens this modal to the relevant decision. Currently, neither the modal nor the command routing for /plan:inspect exists anywhere in the codebase, making this entire feature absent.

Current behavior

No PlanDetailModal exists anywhere in src/cleveragents/tui/. A search of all files in that directory confirms there is no modal, screen, or widget implementing this functionality.

The slash catalog (src/cleveragents/tui/slash_catalog.py, lines 41–53) lists plan:inspect, plan:tree, and plan:explain as available commands, but none of these are handled in the command router (src/cleveragents/tui/commands.py), which only handles persona, session, and help.

Steps to reproduce:

  1. Launch the TUI: agents tui
  2. Type /plan:inspect <plan_id> in the prompt
  3. The TUI returns "Unknown command: /plan:inspect <plan_id>" instead of opening the Plan Detail Modal

Expected behavior

Per the specification, a PlanDetailModal Textual modal class should exist in src/cleveragents/tui/screens/ and provide a multi-tabbed view of plan details with the following tabs:

  • Overview Tab: Plan ID, name, status, current phase, and key metrics (duration, cost, etc.)
  • Decision Tree Tab: Hierarchical view of the plan's decision tree — each decision, its rationale, and the context in which it was made
  • Artifacts Tab: List of all artifacts generated by the plan, with options to view, download, or compare them
  • Logs Tab: Real-time stream of logs from the plan's execution

The modal must be accessible via:

  • /plan:inspect <plan_id> slash command
  • The "Explain Decision" action in the Block Cursor context menu

Acceptance criteria

  • PlanDetailModal class exists in src/cleveragents/tui/screens/plan_detail_modal.py
  • The modal is reachable via /plan:inspect <plan_id> (command router handles plan:inspect)
  • The modal is reachable via the Block Cursor context menu "Explain Decision" action
  • All four tabs (Overview, Decision Tree, Artifacts, Logs) render correctly
  • The Logs tab streams log output in real time
  • BDD scenarios in features/tui_plan_detail_modal.feature cover all modal functionality
  • nox -e typecheck passes with no errors
  • nox -e unit_tests passes with no failures
  • Coverage remains ≥ 97%

Supporting information

  • Spec reference: Plan Detail Modal and Block Cursor context menu (docs/specification.md)
  • Affected files:
    • src/cleveragents/tui/ — no modal files exist
    • src/cleveragents/tui/slash_catalog.py lines 41–53: plan:inspect, plan:tree, plan:explain listed but not implemented
    • src/cleveragents/tui/commands.py: No plan command handling
  • Parent Epic: #868
  • Discovered during: Automated UAT acceptance testing (2026-04-05)

Subtasks

  • Create src/cleveragents/tui/screens/plan_detail_modal.py with PlanDetailModal class
  • Implement Overview tab with plan ID, name, status, phase, and key metrics
  • Implement Decision Tree tab with hierarchical decision view
  • Implement Artifacts tab with list and view/download/compare options
  • Implement Logs tab with real-time log streaming
  • Wire /plan:inspect slash command in commands.py to open the modal
  • Integrate with Block Cursor context menu "Explain Decision" action
  • Write BDD scenarios in features/tui_plan_detail_modal.feature
  • 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.
  • PlanDetailModal class exists and is accessible via /plan:inspect and the Block Cursor context menu.
  • All four tabs (Overview, Decision Tree, Artifacts, Logs) are functional.
  • Real-time log streaming works in the Logs tab.
  • BDD scenarios cover all modal functionality.
  • 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 about the implementation.
  • The commit is pushed to the remote on branch feat/tui-plan-detail-modal.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.
  • nox -e typecheck passes.
  • nox -e unit_tests passes.
  • Coverage ≥ 97%.

This issue was filed by the UAT Testing agent (ca-uat-tester) as part of automated acceptance testing.


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

## Metadata - **Commit Message**: `feat(tui): implement Plan Detail Modal with Overview, Decision Tree, Artifacts, and Logs tabs` - **Branch**: `feat/tui-plan-detail-modal` ## Background and context The specification defines a **Plan Detail Modal** as a comprehensive multi-tabbed modal within the TUI that allows users to deeply inspect a running or completed plan. This is a core piece of the TUI's plan observability story. The Block Cursor context menu is also specified to include an "Explain Decision" action that opens this modal to the relevant decision. Currently, neither the modal nor the command routing for `/plan:inspect` exists anywhere in the codebase, making this entire feature absent. ## Current behavior No `PlanDetailModal` exists anywhere in `src/cleveragents/tui/`. A search of all files in that directory confirms there is no modal, screen, or widget implementing this functionality. The slash catalog (`src/cleveragents/tui/slash_catalog.py`, lines 41–53) lists `plan:inspect`, `plan:tree`, and `plan:explain` as available commands, but none of these are handled in the command router (`src/cleveragents/tui/commands.py`), which only handles `persona`, `session`, and `help`. **Steps to reproduce:** 1. Launch the TUI: `agents tui` 2. Type `/plan:inspect <plan_id>` in the prompt 3. The TUI returns `"Unknown command: /plan:inspect <plan_id>"` instead of opening the Plan Detail Modal ## Expected behavior Per the specification, a `PlanDetailModal` Textual modal class should exist in `src/cleveragents/tui/screens/` and provide a multi-tabbed view of plan details with the following tabs: - **Overview Tab**: Plan ID, name, status, current phase, and key metrics (duration, cost, etc.) - **Decision Tree Tab**: Hierarchical view of the plan's decision tree — each decision, its rationale, and the context in which it was made - **Artifacts Tab**: List of all artifacts generated by the plan, with options to view, download, or compare them - **Logs Tab**: Real-time stream of logs from the plan's execution The modal must be accessible via: - `/plan:inspect <plan_id>` slash command - The "Explain Decision" action in the Block Cursor context menu ## Acceptance criteria - `PlanDetailModal` class exists in `src/cleveragents/tui/screens/plan_detail_modal.py` - The modal is reachable via `/plan:inspect <plan_id>` (command router handles `plan:inspect`) - The modal is reachable via the Block Cursor context menu "Explain Decision" action - All four tabs (Overview, Decision Tree, Artifacts, Logs) render correctly - The Logs tab streams log output in real time - BDD scenarios in `features/tui_plan_detail_modal.feature` cover all modal functionality - `nox -e typecheck` passes with no errors - `nox -e unit_tests` passes with no failures - Coverage remains ≥ 97% ## Supporting information - Spec reference: Plan Detail Modal and Block Cursor context menu (docs/specification.md) - Affected files: - `src/cleveragents/tui/` — no modal files exist - `src/cleveragents/tui/slash_catalog.py` lines 41–53: `plan:inspect`, `plan:tree`, `plan:explain` listed but not implemented - `src/cleveragents/tui/commands.py`: No plan command handling - Parent Epic: #868 - Discovered during: Automated UAT acceptance testing (2026-04-05) ## Subtasks - [ ] Create `src/cleveragents/tui/screens/plan_detail_modal.py` with `PlanDetailModal` class - [ ] Implement Overview tab with plan ID, name, status, phase, and key metrics - [ ] Implement Decision Tree tab with hierarchical decision view - [ ] Implement Artifacts tab with list and view/download/compare options - [ ] Implement Logs tab with real-time log streaming - [ ] Wire `/plan:inspect` slash command in `commands.py` to open the modal - [ ] Integrate with Block Cursor context menu "Explain Decision" action - [ ] Write BDD scenarios in `features/tui_plan_detail_modal.feature` - [ ] 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. - `PlanDetailModal` class exists and is accessible via `/plan:inspect` and the Block Cursor context menu. - All four tabs (Overview, Decision Tree, Artifacts, Logs) are functional. - Real-time log streaming works in the Logs tab. - BDD scenarios cover all modal functionality. - 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 about the implementation. - The commit is pushed to the remote on branch `feat/tui-plan-detail-modal`. - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. - `nox -e typecheck` passes. - `nox -e unit_tests` passes. - Coverage ≥ 97%. --- *This issue was filed by the UAT Testing agent (ca-uat-tester) as part of automated acceptance testing.* --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added this to the v3.7.0 milestone 2026-04-05 03:00:54 +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
Author
Owner

Starting implementation on branch feat/tui-plan-detail-modal.

Subtask wave analysis:

  • Wave 1 (parallel): Create PlanDetailModal class + all 4 tabs (Overview, Decision Tree, Artifacts, Logs) — these are all in the same new file
  • Wave 2: Wire /plan:inspect in commands.py + Block Cursor context menu integration
  • Wave 3: BDD scenarios + coverage verification + nox quality gates

Beginning implementation now.


Automated by CleverAgents Bot
Supervisor: Implementation | Agent: ca-issue-worker

Starting implementation on branch `feat/tui-plan-detail-modal`. Subtask wave analysis: - **Wave 1 (parallel)**: Create `PlanDetailModal` class + all 4 tabs (Overview, Decision Tree, Artifacts, Logs) — these are all in the same new file - **Wave 2**: Wire `/plan:inspect` in `commands.py` + Block Cursor context menu integration - **Wave 3**: BDD scenarios + coverage verification + nox quality gates Beginning implementation now. --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: ca-issue-worker
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#2975
No description provided.