Epic: TUI Interface, Modals and Persona System #868

Open
opened 2026-03-13 22:55:28 +00:00 by freemo · 3 comments
Owner

Summary

This Epic covers the complete implementation of the Textual-based Terminal User Interface (TUI) as specified in the CleverAgents specification. The TUI provides a rich interactive experience with a sidebar, persona system, modal dialogs, session tabs, and reference/command input modes.

Three ADRs have been accepted defining the architecture:

  • ADR-044: TUI Architecture and Framework (Textual, TuiMaterializer, multi-session)
  • ADR-045: TUI Persona System (actor + base args + presets + display metadata)
  • ADR-046: TUI Reference and Command System (@, /, ! modes)

Acceptance Criteria

  • Textual-based TUI application launches and connects to the CleverAgents backend via A2A
  • Sidebar with hidden/visible/fullscreen states is functional
  • Persona system allows creating, switching, and cycling through personas
  • PersonaBar widget displays active persona with visual indicators
  • @ references with fuzzy search, / commands, and ! shell mode are operational
  • Plan Detail Modal displays plan status, decision tree, and diff
  • Project Detail Modal shows project resources and context configuration
  • Persona Editor Modal allows CRUD operations on personas
  • Session tabs support multiple concurrent sessions
  • Notifications system surfaces plan events and status changes
  • Help panel (F1) provides contextual documentation
  • TuiMaterializer integrates with the OutputSession rendering framework
  • All TUI features have Behave BDD tests

Child Issues

  • #694 — MainScreen with sidebar states and Dracula theme
  • #695 — Persona system and reference/command input modes
  • (TUI Modals issue — to be created)

Definition of Done

This Epic is complete when all child issues are closed AND the TUI can be launched, used to create plans, review decisions, and manage projects through the modal interfaces with persona switching and reference/command modes — all demonstrable to a stakeholder.

## Summary This Epic covers the complete implementation of the Textual-based Terminal User Interface (TUI) as specified in the CleverAgents specification. The TUI provides a rich interactive experience with a sidebar, persona system, modal dialogs, session tabs, and reference/command input modes. Three ADRs have been accepted defining the architecture: - **ADR-044**: TUI Architecture and Framework (Textual, TuiMaterializer, multi-session) - **ADR-045**: TUI Persona System (actor + base args + presets + display metadata) - **ADR-046**: TUI Reference and Command System (@, /, ! modes) ## Acceptance Criteria - [ ] Textual-based TUI application launches and connects to the CleverAgents backend via A2A - [ ] Sidebar with hidden/visible/fullscreen states is functional - [ ] Persona system allows creating, switching, and cycling through personas - [ ] PersonaBar widget displays active persona with visual indicators - [ ] `@` references with fuzzy search, `/` commands, and `!` shell mode are operational - [ ] Plan Detail Modal displays plan status, decision tree, and diff - [ ] Project Detail Modal shows project resources and context configuration - [ ] Persona Editor Modal allows CRUD operations on personas - [ ] Session tabs support multiple concurrent sessions - [ ] Notifications system surfaces plan events and status changes - [ ] Help panel (F1) provides contextual documentation - [ ] TuiMaterializer integrates with the OutputSession rendering framework - [ ] All TUI features have Behave BDD tests ## Child Issues - #694 — MainScreen with sidebar states and Dracula theme - #695 — Persona system and reference/command input modes - *(TUI Modals issue — to be created)* ## Definition of Done This Epic is complete when all child issues are closed AND the TUI can be launched, used to create plans, review decisions, and manage projects through the modal interfaces with persona switching and reference/command modes — all demonstrable to a stakeholder.
freemo self-assigned this 2026-03-14 04:27:39 +00:00
freemo added this to the v3.7.0 milestone 2026-03-17 18:32:03 +00:00
Author
Owner

[Backlog Groomer - groomer-1] 📋 Epic Completeness Review

This epic has State/Verified but UAT testing has revealed significant gaps in the TUI implementation. The following acceptance criteria are NOT yet met:

  • Sidebar with hidden/visible/fullscreen states is functional (see #1329)
  • Session tabs support multiple concurrent sessions (see #1332)
  • Throbber widget (see #1331)
  • Dracula theme as default (see #1333)
  • Escape-cascading navigation (see #1335)
  • Tab-based persona cycling (see #1336)
  • Persona slash commands (create/edit/delete/export/import) (see #1339)
  • Session slash commands (export/import) (see #1341)
  • PersonaBar cost display (see #1342)
  • ctrl+tab for preset cycling (see #1340)

Additionally, a batch of PRs implementing TUI features were closed without merging at 2026-04-02T16:22Z (see session state issue #1314 for details). This may explain why many features appear incomplete.

New child issues created since last review:

  • #1290 — UAT: Help panel key binding inconsistency
  • #1315 — Refactor TUI to align with ADR-44/45
  • #1329 — UAT: Missing right-side collapsible sidebar
  • #1331 — UAT: Missing Throbber widget
  • #1332 — UAT: Missing multi-session tab bar
  • #1333 — UAT: Missing Dracula theme
  • #1334 — UAT: Wrong header widget
  • #1335 — UAT: Missing escape-cascading navigation
  • #1336 — UAT: Missing tab-based persona cycling
  • #1339 — UAT: Missing persona slash commands
  • #1340 — UAT: Wrong preset cycling key binding
  • #1341 — UAT: Missing session slash commands
  • #1342 — UAT: PersonaBar missing cost display

The epic state should be updated to reflect that significant work remains.

**[Backlog Groomer - groomer-1]** 📋 **Epic Completeness Review** This epic has `State/Verified` but UAT testing has revealed significant gaps in the TUI implementation. The following acceptance criteria are **NOT yet met**: - ❌ Sidebar with hidden/visible/fullscreen states is functional (see #1329) - ❌ Session tabs support multiple concurrent sessions (see #1332) - ❌ Throbber widget (see #1331) - ❌ Dracula theme as default (see #1333) - ❌ Escape-cascading navigation (see #1335) - ❌ Tab-based persona cycling (see #1336) - ❌ Persona slash commands (create/edit/delete/export/import) (see #1339) - ❌ Session slash commands (export/import) (see #1341) - ❌ PersonaBar cost display (see #1342) - ❌ ctrl+tab for preset cycling (see #1340) Additionally, a batch of PRs implementing TUI features were closed without merging at 2026-04-02T16:22Z (see session state issue #1314 for details). This may explain why many features appear incomplete. **New child issues created since last review:** - #1290 — UAT: Help panel key binding inconsistency - #1315 — Refactor TUI to align with ADR-44/45 - #1329 — UAT: Missing right-side collapsible sidebar - #1331 — UAT: Missing Throbber widget - #1332 — UAT: Missing multi-session tab bar - #1333 — UAT: Missing Dracula theme - #1334 — UAT: Wrong header widget - #1335 — UAT: Missing escape-cascading navigation - #1336 — UAT: Missing tab-based persona cycling - #1339 — UAT: Missing persona slash commands - #1340 — UAT: Wrong preset cycling key binding - #1341 — UAT: Missing session slash commands - #1342 — UAT: PersonaBar missing cost display The epic state should be updated to reflect that significant work remains.
Author
Owner

New child issue added: #1441fix(tui): correct ctrl+tab preset-cycling binding — app uses ctrl+t instead of spec-required ctrl+tab

This bug was discovered during UAT: the BINDINGS list in src/cleveragents/tui/app.py (line 93) uses "ctrl+t" for cycle_preset instead of the spec-required "ctrl+tab". The help panel overlay already documents ctrl+tab correctly, creating an inconsistency between the documented and actual binding.

#1441 blocks this Epic until resolved.

New child issue added: **#1441** — `fix(tui): correct ctrl+tab preset-cycling binding — app uses ctrl+t instead of spec-required ctrl+tab` This bug was discovered during UAT: the `BINDINGS` list in `src/cleveragents/tui/app.py` (line 93) uses `"ctrl+t"` for `cycle_preset` instead of the spec-required `"ctrl+tab"`. The help panel overlay already documents `ctrl+tab` correctly, creating an inconsistency between the documented and actual binding. #1441 **blocks** this Epic until resolved.
Author
Owner

Milestone Review: v3.7.0 — Holistic Integration Review (2026-04-03)

Overall Assessment: FAIL

A comprehensive milestone review has been completed. The full report is available in #2113.

Summary of findings:

  • 4 of 6 quality gates fail on master (typecheck, unit tests, security scan, dead code)
  • 3 critical integration gaps found between independently-merged PRs
  • 31% milestone completion (66 closed / ~210 total issues)
  • 3 Must-Have bugs remain open (#1389, #1737, #1419)
  • 13+ High-priority bugs remain open
  • 7 core TUI features still in review or unstarted

New issues created:

  • #2109 — Pyright type errors in session CLI (Critical, blocks typecheck)
  • #2110 — Vulture false positives in extension_protocols.py (High, blocks security_scan)

Blocking issues (must fix first):

  1. #1609 — Ambiguous step definitions block ALL unit tests
  2. #2109 — 5 Pyright errors block typecheck
  3. #2110 — Vulture false positives block security_scan

The milestone is not production-ready. See #2113 for the full analysis and recommendations.


Automated by CleverAgents Bot
Supervisor: Implementation | Agent: ca-milestone-reviewer

## Milestone Review: v3.7.0 — Holistic Integration Review (2026-04-03) ### Overall Assessment: FAIL A comprehensive milestone review has been completed. The full report is available in #2113. **Summary of findings:** - **4 of 6 quality gates fail** on master (typecheck, unit tests, security scan, dead code) - **3 critical integration gaps** found between independently-merged PRs - **31% milestone completion** (66 closed / ~210 total issues) - **3 Must-Have bugs** remain open (#1389, #1737, #1419) - **13+ High-priority bugs** remain open - **7 core TUI features** still in review or unstarted **New issues created:** - #2109 — Pyright type errors in session CLI (Critical, blocks typecheck) - #2110 — Vulture false positives in extension_protocols.py (High, blocks security_scan) **Blocking issues (must fix first):** 1. #1609 — Ambiguous step definitions block ALL unit tests 2. #2109 — 5 Pyright errors block typecheck 3. #2110 — Vulture false positives block security_scan The milestone is **not production-ready**. See #2113 for the full analysis and recommendations. --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: ca-milestone-reviewer
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 Depends on
Reference
cleveragents/cleveragents-core#868
No description provided.