UAT: PersonaEditorModal widget not implemented #1353

Open
opened 2026-04-02 16:57:43 +00:00 by freemo · 0 comments
Owner

Bug Report: [tui/persona] — PersonaEditorModal widget does not exist

Severity Assessment

  • Impact: High. Users cannot create or edit personas through the TUI UI. The spec defines a full-featured modal editor for persona management, but no such widget exists in the codebase.
  • Likelihood: 100% reproducible — the widget class does not exist anywhere in src/.
  • Priority: High

Location

  • Missing file: src/cleveragents/tui/widgets/persona_editor_modal.py (or similar)
  • Related: src/cleveragents/tui/commands.py/persona:create and /persona:edit commands return "Unknown persona command"

Description

The specification (§Persona Editor Modal) defines a full-featured modal for creating and editing personas:

┌─────────────────────────────────────── Create Persona ───────────────────────────────────────┐
│                                                                                              │
│ Name:        ┌──────────────────────────────────────┐                                        │
│              │ feature-dev                           │                                       │
│              └──────────────────────────────────────┘                                        │
│                                                                                              │
│ Description: ┌────────────────────────────────────────────────────────┐                      │
│              │ Feature development with Claude on main projects      │                       │
│              └────────────────────────────────────────────────────────┘                      │
│                                                                                              │
│ Actor:       ┌──────────────────────────────────────────┐                                    │
│              │ ❯ anthropic/claude-4-sonnet              │ ▼                                  │
│              └──────────────────────────────────────────┘                                    │
│                                                                                              │
│ Color:   ● $primary   ○ $secondary   ○ $success   ○ $warning   ○ $error                      │
│                                                                                              │
│ ── Base Arguments (from actor schema) ──────────────────────────────────────                 │
│ thinking_effort:  ┌──────────┐   temperature:  ┌──────────┐                                  │
│                   │ medium   │ ▼               │ 0.7      │                                  │
│                   └──────────┘                 └──────────┘                                  │
│ max_tokens:       ┌──────────┐                                                               │
│                   │ 16384    │                                                               │
│                   └──────────┘                                                               │
│                                                                                              │
│ ── Scoped Projects ─────────────────────────────────────────────────────────                 │
│ [x] local/cleveragents        [x] local/api-service                                          │
│ [ ] local/frontend-app        [ ] local/infra-terraform                                      │
│                                                                                              │
│ ── Scoped Plans ────────────────────────────────────────────────────────────                 │
│ [ ] fix-auth-bug (01HXM8C2)   [ ] refactor-models (01HXM9D3)                                 │
│                                                                                              │
│ ── Argument Presets (ctrl+tab cycling) ─────────────────────────────────────                 │
│ ┌────────────────────────────────────────────────────────────────────────────────────┐       │
│ │  1. default      │ (base arguments)                                            │           │
│ │  2. think: high  │ thinking_effort=high                                            │       │
│ │  3. think: max   │ thinking_effort=max, temperature=0.3                             │      │
│ │  4. quick        │ thinking_effort=low, max_tokens=4096                             │      │
│ │  [+] Add preset                                                                   │        │
│ └────────────────────────────────────────────────────────────────────────────────────┘       │
│                                                                                              │
│ Cycle Order: ┌──────┐  (0 = not in tab cycle)                                                │
│              │  1   │                                                                        │
│              └──────┘                                                                        │
│                                                                                              │
│──────────────────────────────────────────────────────────────────────────────────────────────│
│ tab Next field │ enter Save │ escape Cancel                                                  │
└──────────────────────────────────────────────────────────────────────────────────────────────┘

The modal is triggered by:

  • ctrl+p in the fullscreen sidebar
  • /persona:create slash command
  • /persona:edit [name] slash command

Actual Behavior

No PersonaEditorModal class exists anywhere in the source:

$ grep -rn "PersonaEditorModal" src/
# No output — class does not exist

The src/cleveragents/tui/widgets/ directory contains:

  • help_panel_overlay.py
  • persona_bar.py
  • prompt.py
  • reference_picker.py
  • slash_command_overlay.py

No persona editor modal widget is present.

Expected Behavior (from spec)

A PersonaEditorModal widget should exist with:

  • Form fields: Name, Description, Actor (searchable dropdown), Color (radio buttons)
  • Base Arguments section (derived from actor schema)
  • Scoped Projects checkboxes
  • Scoped Plans checkboxes
  • Argument Presets list with add/remove/edit
  • Cycle Order input
  • Keyboard bindings: tab/shift+tab (navigate), ctrl+a (add preset), ctrl+d (delete preset), ctrl+s (save), escape (cancel)
  • #1339 (UAT: TuiCommandRouter missing persona sub-commands: create, edit, delete, export, import)
  • #1350 (UAT: First-run experience not implemented)
  • #1315 (Refactor TUI to Align with ADR-44 and ADR-45)

References

  • Spec §Persona Editor Modal (line ~29441)
  • Spec §Persona Editor Modal keyboard bindings (line ~30326)
  • ADR-045 §Persona Lifecycle (step 3: Manual creation)
## Bug Report: [tui/persona] — PersonaEditorModal widget does not exist ### Severity Assessment - **Impact**: High. Users cannot create or edit personas through the TUI UI. The spec defines a full-featured modal editor for persona management, but no such widget exists in the codebase. - **Likelihood**: 100% reproducible — the widget class does not exist anywhere in `src/`. - **Priority**: High ### Location - **Missing file**: `src/cleveragents/tui/widgets/persona_editor_modal.py` (or similar) - **Related**: `src/cleveragents/tui/commands.py` — `/persona:create` and `/persona:edit` commands return "Unknown persona command" ### Description The specification (§Persona Editor Modal) defines a full-featured modal for creating and editing personas: ``` ┌─────────────────────────────────────── Create Persona ───────────────────────────────────────┐ │ │ │ Name: ┌──────────────────────────────────────┐ │ │ │ feature-dev │ │ │ └──────────────────────────────────────┘ │ │ │ │ Description: ┌────────────────────────────────────────────────────────┐ │ │ │ Feature development with Claude on main projects │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ Actor: ┌──────────────────────────────────────────┐ │ │ │ ❯ anthropic/claude-4-sonnet │ ▼ │ │ └──────────────────────────────────────────┘ │ │ │ │ Color: ● $primary ○ $secondary ○ $success ○ $warning ○ $error │ │ │ │ ── Base Arguments (from actor schema) ────────────────────────────────────── │ │ thinking_effort: ┌──────────┐ temperature: ┌──────────┐ │ │ │ medium │ ▼ │ 0.7 │ │ │ └──────────┘ └──────────┘ │ │ max_tokens: ┌──────────┐ │ │ │ 16384 │ │ │ └──────────┘ │ │ │ │ ── Scoped Projects ───────────────────────────────────────────────────────── │ │ [x] local/cleveragents [x] local/api-service │ │ [ ] local/frontend-app [ ] local/infra-terraform │ │ │ │ ── Scoped Plans ──────────────────────────────────────────────────────────── │ │ [ ] fix-auth-bug (01HXM8C2) [ ] refactor-models (01HXM9D3) │ │ │ │ ── Argument Presets (ctrl+tab cycling) ───────────────────────────────────── │ │ ┌────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ 1. default │ (base arguments) │ │ │ │ 2. think: high │ thinking_effort=high │ │ │ │ 3. think: max │ thinking_effort=max, temperature=0.3 │ │ │ │ 4. quick │ thinking_effort=low, max_tokens=4096 │ │ │ │ [+] Add preset │ │ │ └────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ Cycle Order: ┌──────┐ (0 = not in tab cycle) │ │ │ 1 │ │ │ └──────┘ │ │ │ │──────────────────────────────────────────────────────────────────────────────────────────────│ │ tab Next field │ enter Save │ escape Cancel │ └──────────────────────────────────────────────────────────────────────────────────────────────┘ ``` The modal is triggered by: - `ctrl+p` in the fullscreen sidebar - `/persona:create` slash command - `/persona:edit [name]` slash command ### Actual Behavior No `PersonaEditorModal` class exists anywhere in the source: ```bash $ grep -rn "PersonaEditorModal" src/ # No output — class does not exist ``` The `src/cleveragents/tui/widgets/` directory contains: - `help_panel_overlay.py` - `persona_bar.py` - `prompt.py` - `reference_picker.py` - `slash_command_overlay.py` No persona editor modal widget is present. ### Expected Behavior (from spec) A `PersonaEditorModal` widget should exist with: - Form fields: Name, Description, Actor (searchable dropdown), Color (radio buttons) - Base Arguments section (derived from actor schema) - Scoped Projects checkboxes - Scoped Plans checkboxes - Argument Presets list with add/remove/edit - Cycle Order input - Keyboard bindings: `tab`/`shift+tab` (navigate), `ctrl+a` (add preset), `ctrl+d` (delete preset), `ctrl+s` (save), `escape` (cancel) ### Related Issues - #1339 (UAT: TuiCommandRouter missing persona sub-commands: create, edit, delete, export, import) - #1350 (UAT: First-run experience not implemented) - #1315 (Refactor TUI to Align with ADR-44 and ADR-45) ### References - Spec §Persona Editor Modal (line ~29441) - Spec §Persona Editor Modal keyboard bindings (line ~30326) - ADR-045 §Persona Lifecycle (step 3: Manual creation)
freemo self-assigned this 2026-04-02 18:45:19 +00:00
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#1353
No description provided.