Description
The interactive CLI scenario editor is missing editing capabilities for extension scenario metadata. While basic fields (title, description, status) can be edited through the CLI, critical extension metadata is displayed but cannot be modified interactively:
- Primary actor
- Parent scenario (which scenario it extends)
- Extension point (at which step it branches)
- Return point (for alternatives)
- Scenario type (alternative ↔ exception)
Current workaround: Manually edit the TOML file, which works but bypasses the interactive CLI experience.
Issue 1: Basic Field Editing is Good, But Missing Extension Fields
Current Behavior
The basic field editing works well with a menu-driven approach:
Current values:
Title: Email Already Registered
Kind: Extension scenario
Type: exception_flow
Description:
Status: ⚡ IMPLEMENTED
Primary Actor: guest-guest-user
Steps: 3
Extends: UC-AUTH-001-S01 at step 4
Returns: doesn't return to main
Preconditions: 1
Postconditions: 0
? What would you like to edit?
Edit title
Edit description
Edit status
Manage steps
Manage conditions
Done editing
Problem
Missing options to edit extension metadata:
- Cannot change primary actor (stuck with
guest-guest-user)
- Cannot change which scenario it extends (
UC-AUTH-001-S01)
- Cannot change extension point (step 4)
- Cannot change return point
- Cannot change scenario type (
exception_flow → alternative_flow)
The current values are shown but cannot be edited.
Use Case Example
I have an exception scenario "Email Already Registered" but in the interactive CLI I:
- Can't change the primary actor from
guest-guest-user to customer
- Can't change extension point from step 4 to step 5
- Can't change which scenario it extends (from
UC-AUTH-001-S01 to UC-AUTH-001-S02)
- Can't convert it to an alternative scenario if design changes
Current workaround: Manually edit the TOML file (functional but not part of the interactive CLI experience).
Expected Behavior
Add new menu options for extension metadata:
Current values:
Title: Email Already Registered
Type: exception_flow
Primary Actor: guest-guest-user
Extends: UC-AUTH-001-S01 at step 4
Returns: doesn't return to main
? What would you like to edit?
Edit title
Edit description
Edit status
Edit primary actor ← NEW
Edit scenario type ← NEW
Edit parent scenario ← NEW
Edit extension point ← NEW
Edit return point ← NEW (alternatives only)
Manage steps
Manage conditions
Done editing
Each new option would:
- Edit primary actor: Select from available actors
- Edit scenario type: Toggle between
alternative_flow and exception_flow (with warning about semantic differences)
- Edit parent scenario: Select from available main/alternative scenarios (validated)
- Edit extension point: Enter step number (validated against parent scenario)
- Edit return point: Enter step number or "doesn't return" (alternatives only)
Proposed Solution
Add extension field editing options to the existing menu for non-main scenarios:
- Add "Edit primary actor" menu option
- Add "Edit scenario type" menu option (alternative ↔ exception with warning)
- Add "Edit parent scenario" menu option (with validation)
- Add "Edit extension point" menu option (with step number validation)
- Add "Edit return point" menu option (alternatives only, with validation)
Technical Context:
- Affected file:
src/cli/interactive/workflows/scenario.rs
- Function:
edit_scenario() - add new menu items and handlers
- Extension metadata in
Scenario struct already supports these fields
- Validation needed: step numbers exist in parent scenario, parent scenario is valid type
Acceptance Criteria
Priority
Medium - This is a UX enhancement for the interactive CLI. The functionality exists (users can manually edit TOML files), but the interactive editor should provide a complete editing experience without requiring manual file editing.
Description
The interactive CLI scenario editor is missing editing capabilities for extension scenario metadata. While basic fields (title, description, status) can be edited through the CLI, critical extension metadata is displayed but cannot be modified interactively:
Current workaround: Manually edit the TOML file, which works but bypasses the interactive CLI experience.
Issue 1: Basic Field Editing is Good, But Missing Extension Fields
Current Behavior
The basic field editing works well with a menu-driven approach:
Problem
Missing options to edit extension metadata:
guest-guest-user)UC-AUTH-001-S01)exception_flow→alternative_flow)The current values are shown but cannot be edited.
Use Case Example
I have an exception scenario "Email Already Registered" but in the interactive CLI I:
guest-guest-usertocustomerUC-AUTH-001-S01toUC-AUTH-001-S02)Current workaround: Manually edit the TOML file (functional but not part of the interactive CLI experience).
Expected Behavior
Add new menu options for extension metadata:
Each new option would:
alternative_flowandexception_flow(with warning about semantic differences)Proposed Solution
Add extension field editing options to the existing menu for non-main scenarios:
Technical Context:
src/cli/interactive/workflows/scenario.rsedit_scenario()- add new menu items and handlersScenariostruct already supports these fieldsAcceptance Criteria
Priority
Medium - This is a UX enhancement for the interactive CLI. The functionality exists (users can manually edit TOML files), but the interactive editor should provide a complete editing experience without requiring manual file editing.