feat(tui): implement PersonaRegistry with YAML load/save/list/cycle operations #10160

Open
opened 2026-04-17 04:00:27 +00:00 by HAL9000 · 0 comments
Owner

Background

The PersonaRegistry is the core data layer for the TUI persona system. It manages loading persona YAML files from the filesystem, saving new personas, listing available personas, and cycling through them. The registry is the single source of truth for persona state in the TUI, as defined in ADR-045.

Acceptance Criteria

  • PersonaRegistry class implemented with load, save, list, and cycle operations
  • Persona YAML files loaded from ~/.config/cleveragents/personas/ directory
  • cycle_persona() method returns next persona in alphabetical order
  • Registry handles missing persona directory gracefully (creates it)
  • Test coverage >= 97%

Metadata

  • Commit Message: feat(tui): implement PersonaRegistry with YAML load/save/list/cycle operations
  • Branch: feature/v3.7.0/tui-persona-registry
  • Milestone: v3.7.0
  • Ref: #5304 EPIC: TUI Persona System — YAML-Based Actor Configuration & Presets (v3.7.0)

Subtasks

  • Define persona YAML schema (name, actor, args, scope, presets, icon, greeting)
  • Implement PersonaRegistry with filesystem-backed load/save
  • Implement list() returning sorted persona names
  • Implement cycle_persona() with wrap-around
  • Write unit tests with temp directory fixtures

Definition of Done

  • Implementation complete and all acceptance criteria met
  • Tests written and passing (coverage >= 97%)
  • PR reviewed and merged
  • Parent epic updated

Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planning-pool-supervisor

## Background The PersonaRegistry is the core data layer for the TUI persona system. It manages loading persona YAML files from the filesystem, saving new personas, listing available personas, and cycling through them. The registry is the single source of truth for persona state in the TUI, as defined in ADR-045. ## Acceptance Criteria - [ ] `PersonaRegistry` class implemented with load, save, list, and cycle operations - [ ] Persona YAML files loaded from `~/.config/cleveragents/personas/` directory - [ ] `cycle_persona()` method returns next persona in alphabetical order - [ ] Registry handles missing persona directory gracefully (creates it) - [ ] Test coverage >= 97% ## Metadata - **Commit Message**: `feat(tui): implement PersonaRegistry with YAML load/save/list/cycle operations` - **Branch**: `feature/v3.7.0/tui-persona-registry` - **Milestone**: v3.7.0 - **Ref**: #5304 EPIC: TUI Persona System — YAML-Based Actor Configuration & Presets (v3.7.0) ## Subtasks - [ ] Define persona YAML schema (name, actor, args, scope, presets, icon, greeting) - [ ] Implement `PersonaRegistry` with filesystem-backed load/save - [ ] Implement `list()` returning sorted persona names - [ ] Implement `cycle_persona()` with wrap-around - [ ] Write unit tests with temp directory fixtures ## Definition of Done - Implementation complete and all acceptance criteria met - Tests written and passing (coverage >= 97%) - PR reviewed and merged - Parent epic updated --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planning-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#10160
No description provided.