UAT: /persona:edit slash command advertised in catalog but not implemented in REPL or TUI #3989

Open
opened 2026-04-06 08:18:49 +00:00 by freemo · 0 comments
Owner

Metadata

Summary

The /persona:edit slash command is advertised in the TUI slash command catalog (src/cleveragents/tui/slash_catalog.py) but is not implemented in either the TUI command router (src/cleveragents/tui/commands.py) or the REPL (src/cleveragents/cli/commands/repl.py). The spec defines this command as opening the PersonaEditorModal for editing an existing persona.

Backlog note: This issue was discovered during autonomous UAT testing on milestone v3.7.0. It does not block milestone completion and has been placed in the backlog for human review and future milestone assignment.

Current Behavior

  1. The slash catalog (src/cleveragents/tui/slash_catalog.py, line 30) advertises:
    SlashCommandSpec("persona:edit", "Persona", "Edit a persona"),
    
  2. The TUI command router (src/cleveragents/tui/commands.py) does not handle persona edit — it falls through to "Unknown persona command: edit"
  3. The REPL (src/cleveragents/cli/commands/repl.py) implements persona list, set, create, pick, delete, export, import — but NOT edit
  4. No PersonaEditorModal class exists anywhere in the codebase (searched all .py files)

Expected Behavior (from spec §TUI Slash Commands)

Per docs/specification.md §TUI Slash Commands (line ~29291):

Command Parameters Description
/persona:edit [name] [name] Edit persona

Per docs/specification.md §Persona Editor Modal (line ~29485) and ADR-045 §Persona Lifecycle:

Manual creation: User creates personas via PersonaEditorModal (from fullscreen sidebar or /persona:create command). The editor provides:

  • Actor selection (searchable list from Actor Registry)
  • Base argument editor (form fields derived from actor's argument schema)
  • Project/plan scope selection (checkboxes from Project/Plan registries)
  • Preset editor (add/remove/edit named argument overlays)
  • Cycle order assignment

The /persona:edit [name] command should open the PersonaEditorModal pre-populated with the named persona's current values.

Steps to Reproduce

  1. Launch the TUI: agents tui
  2. Type /persona:edit myPersona in the prompt
  3. Observe: "Unknown persona command: edit myPersona" is returned

Code Location

  • Slash catalog advertising the command: src/cleveragents/tui/slash_catalog.py, line 30
  • Missing TUI implementation: src/cleveragents/tui/commands.py, TuiCommandRouter._persona_command() (lines 58-67)
  • Missing REPL implementation: src/cleveragents/cli/commands/repl.py, _handle_slash_command() (lines 497-618)
  • Missing PersonaEditorModal: Not found anywhere in src/cleveragents/tui/

Subtasks

  • Design and implement PersonaEditorModal widget in src/cleveragents/tui/ (per spec §Persona Editor Modal)
  • Implement persona:edit [name] in TuiCommandRouter._persona_command() to open the modal
  • Add Behave BDD tests for the edit command
  • Verify coverage >= 97% via nox -s coverage_report

Definition of Done

  • /persona:edit [name] opens the PersonaEditorModal pre-populated with the named persona
  • /persona:edit (no name) opens the modal for the currently active persona
  • Changes are saved to the persona YAML file on modal confirmation
  • BDD tests verify the edit command behavior
  • All nox stages pass
  • Coverage >= 97%

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

## Metadata - **Branch**: `fix/backlog-persona-edit-command-not-implemented` - **Commit Message**: `feat(tui): implement persona:edit slash command` - **Milestone**: None (Backlog) - **Parent Epic**: #868 ## Summary The `/persona:edit` slash command is advertised in the TUI slash command catalog (`src/cleveragents/tui/slash_catalog.py`) but is not implemented in either the TUI command router (`src/cleveragents/tui/commands.py`) or the REPL (`src/cleveragents/cli/commands/repl.py`). The spec defines this command as opening the PersonaEditorModal for editing an existing persona. > **Backlog note:** This issue was discovered during autonomous UAT testing on milestone v3.7.0. It does not block milestone completion and has been placed in the backlog for human review and future milestone assignment. ## Current Behavior 1. The slash catalog (`src/cleveragents/tui/slash_catalog.py`, line 30) advertises: ```python SlashCommandSpec("persona:edit", "Persona", "Edit a persona"), ``` 2. The TUI command router (`src/cleveragents/tui/commands.py`) does not handle `persona edit` — it falls through to `"Unknown persona command: edit"` 3. The REPL (`src/cleveragents/cli/commands/repl.py`) implements `persona list`, `set`, `create`, `pick`, `delete`, `export`, `import` — but NOT `edit` 4. No `PersonaEditorModal` class exists anywhere in the codebase (searched all `.py` files) ## Expected Behavior (from spec §TUI Slash Commands) Per `docs/specification.md` §TUI Slash Commands (line ~29291): | Command | Parameters | Description | |---------|-----------|-------------| | `/persona:edit [name]` | `[name]` | Edit persona | Per `docs/specification.md` §Persona Editor Modal (line ~29485) and ADR-045 §Persona Lifecycle: > **Manual creation**: User creates personas via PersonaEditorModal (from fullscreen sidebar or `/persona:create` command). The editor provides: > - Actor selection (searchable list from Actor Registry) > - Base argument editor (form fields derived from actor's argument schema) > - Project/plan scope selection (checkboxes from Project/Plan registries) > - Preset editor (add/remove/edit named argument overlays) > - Cycle order assignment The `/persona:edit [name]` command should open the PersonaEditorModal pre-populated with the named persona's current values. ## Steps to Reproduce 1. Launch the TUI: `agents tui` 2. Type `/persona:edit myPersona` in the prompt 3. Observe: "Unknown persona command: edit myPersona" is returned ## Code Location - **Slash catalog advertising the command**: `src/cleveragents/tui/slash_catalog.py`, line 30 - **Missing TUI implementation**: `src/cleveragents/tui/commands.py`, `TuiCommandRouter._persona_command()` (lines 58-67) - **Missing REPL implementation**: `src/cleveragents/cli/commands/repl.py`, `_handle_slash_command()` (lines 497-618) - **Missing PersonaEditorModal**: Not found anywhere in `src/cleveragents/tui/` ## Subtasks - [ ] Design and implement `PersonaEditorModal` widget in `src/cleveragents/tui/` (per spec §Persona Editor Modal) - [ ] Implement `persona:edit [name]` in `TuiCommandRouter._persona_command()` to open the modal - [ ] Add Behave BDD tests for the edit command - [ ] Verify coverage >= 97% via `nox -s coverage_report` ## Definition of Done - [ ] `/persona:edit [name]` opens the PersonaEditorModal pre-populated with the named persona - [ ] `/persona:edit` (no name) opens the modal for the currently active persona - [ ] Changes are saved to the persona YAML file on modal confirmation - [ ] BDD tests verify the edit command behavior - [ ] All nox stages pass - [ ] Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added a new dependency 2026-04-06 08:18:59 +00:00
freemo added the
Points
3
label 2026-04-06 08:20:41 +00:00
HAL9000 added the
Priority
Medium
State
Unverified
Type
Bug
labels 2026-04-09 02:10:12 +00:00
HAL9000 added
State
Verified
MoSCoW
Must have
and removed
State
Unverified
labels 2026-04-09 03:12:14 +00:00
HAL9000 added this to the v3.5.0 milestone 2026-04-09 03:12:15 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Blocks
Reference: cleveragents/cleveragents-core#3989