EPIC: TUI Persona System — YAML-Based Actor Configuration & Presets (v3.7.0) #5304

Open
opened 2026-04-09 05:47:50 +00:00 by HAL9000 · 2 comments
Owner

Epic: TUI Persona System

Milestone: v3.7.0
Parent Legendary: #4946 (LEGENDARY: TUI Implementation)

Background

The TUI persona system allows users to configure named personas that bundle an actor, arguments, scope, and presets. Personas are stored as YAML files and can be cycled via tab key or selected from the sidebar. This is defined in ADR-045.

Scope

  • Persona YAML schema (name, actor, args, scope, presets, icon, greeting)
  • PersonaRegistry with load/save/list/cycle operations
  • PersonaBar widget showing current persona with cycling support
  • PersonaState with cycle_persona() method
  • Persona import/export to current directory
  • Persona management in sidebar fullscreen mode
  • ctrl+t preset cycling within a persona

Child Issues

  • TBD

Definition of Done

  • All child issues are closed
  • Persona YAML files load and save correctly
  • tab key cycles through personas
  • PersonaBar widget displays current persona
  • Persona import/export works
  • All nox stages pass
  • Coverage >= 97%

Metadata

  • Branch Naming Convention: feat/tui-v370/persona-system
  • Milestone: v3.7.0

Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planner

## Epic: TUI Persona System **Milestone**: v3.7.0 **Parent Legendary**: #4946 (LEGENDARY: TUI Implementation) ### Background The TUI persona system allows users to configure named personas that bundle an actor, arguments, scope, and presets. Personas are stored as YAML files and can be cycled via `tab` key or selected from the sidebar. This is defined in ADR-045. ### Scope - Persona YAML schema (`name`, `actor`, `args`, `scope`, `presets`, `icon`, `greeting`) - `PersonaRegistry` with load/save/list/cycle operations - `PersonaBar` widget showing current persona with cycling support - `PersonaState` with `cycle_persona()` method - Persona import/export to current directory - Persona management in sidebar fullscreen mode - `ctrl+t` preset cycling within a persona ### Child Issues <!-- Updated by automation after child issues are created --> - [ ] TBD ### Definition of Done - [ ] All child issues are closed - [ ] Persona YAML files load and save correctly - [ ] `tab` key cycles through personas - [ ] PersonaBar widget displays current persona - [ ] Persona import/export works - [ ] All nox stages pass - [ ] Coverage >= 97% ## Metadata - **Branch Naming Convention**: `feat/tui-v370/persona-system` - **Milestone**: v3.7.0 --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planner
HAL9000 added this to the v3.7.0 milestone 2026-04-09 05:47:50 +00:00
Author
Owner

Label compliance fix applied:

  • Added missing labels: MoSCoW/Must have, Points/21
  • Reason: New Epic issue was missing MoSCoW classification and story points estimate. Applied MoSCoW/Must have based on Priority/High and TUI milestone scope. Applied Points/21 as standard Epic estimate.

Note: MoSCoW labels are normally set by the project owner. If this classification is incorrect, please update accordingly.


Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: backlog-groomer

Label compliance fix applied: - Added missing labels: `MoSCoW/Must have`, `Points/21` - Reason: New Epic issue was missing MoSCoW classification and story points estimate. Applied `MoSCoW/Must have` based on Priority/High and TUI milestone scope. Applied `Points/21` as standard Epic estimate. Note: MoSCoW labels are normally set by the project owner. If this classification is incorrect, please update accordingly. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: backlog-groomer
Author
Owner

Child Issues — Epic #5304: TUI Persona System

Updated: 2026-04-10 (Cycle 1 — Epic Planning)

Feature Issues (foundational)

  • #5314 — feat(tui): implement PersonaRegistry with YAML load/save/list/cycle and PersonaState.cycle_persona() (foundational — must be done first)
  • #5318 — feat(tui): implement PersonaBar widget with tab-key cycling and fix Persona schema undocumented fields (depends on #5314)

Bug Issues (must fix)

  • #5343 — UAT: TUI persona cycling (tab key) not bound — tab cycles presets instead of personas
  • #6425 — UAT: TUI persona cycling uses wrong keyboard binding
  • #6438 — UAT: TUI PersonaBar missing session cost display
  • #6606 — BUG-HUNT: ActorSelectionOverlay.confirm() result never connected to _complete_first_run()
  • #6609 — BUG-HUNT: PersonaRegistry.get() does not catch pydantic.ValidationError
  • #6820 — UAT: First-run persona creation does not auto-generate argument presets
  • #6822 — UAT: agents persona add --config CLI command missing

Total: 9 child issues (2 features + 7 bugs)

Dependency Chain: #5314#5318 → Epic #5304


Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planner

## Child Issues — Epic #5304: TUI Persona System **Updated**: 2026-04-10 (Cycle 1 — Epic Planning) ### Feature Issues (foundational) - [ ] #5314 — feat(tui): implement PersonaRegistry with YAML load/save/list/cycle and PersonaState.cycle_persona() *(foundational — must be done first)* - [ ] #5318 — feat(tui): implement PersonaBar widget with tab-key cycling and fix Persona schema undocumented fields *(depends on #5314)* ### Bug Issues (must fix) - [ ] #5343 — UAT: TUI persona cycling (tab key) not bound — tab cycles presets instead of personas - [ ] #6425 — UAT: TUI persona cycling uses wrong keyboard binding - [ ] #6438 — UAT: TUI PersonaBar missing session cost display - [ ] #6606 — BUG-HUNT: ActorSelectionOverlay.confirm() result never connected to _complete_first_run() - [ ] #6609 — BUG-HUNT: PersonaRegistry.get() does not catch pydantic.ValidationError - [ ] #6820 — UAT: First-run persona creation does not auto-generate argument presets - [ ] #6822 — UAT: `agents persona add --config` CLI command missing **Total**: 9 child issues (2 features + 7 bugs) **Dependency Chain**: #5314 → #5318 → Epic #5304 --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planner
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#5304
No description provided.