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

  • 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:
    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
HAL9000 added this to the v3.5.0 milestone 2026-04-09 03:12:15 +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.

Blocks
Reference
cleveragents/cleveragents-core#3989
No description provided.