Categories
Category Management Scope
| Category Workspace | Provides a dedicated management screen for organizing conversation simulations into categories. |
| Flat Category Model | Uses non-nested category structure with top-level category records. |
| Conversation Mapping Purpose | Categories are used as organizational scopes for simulation listing and batch execution actions. |
Category List Operations
| Add New Category | Appends a new editable category row to the category form list. |
| Inline Category Name Editing | Edits category names directly in the list via input fields. |
| Delete Category (Unsaved Row) | Removes unsaved local rows immediately without server deletion. |
| Delete Category (Saved Row) | Removes persisted categories through confirmation and API-backed delete operation. |
| Save Categories | Persists create and update operations in one save action across current list rows. |
Data Loading and Feedback
| Category Loader State | Shows loading feedback while category tree data is being fetched. |
| Empty State Messaging | Displays guidance when no categories are configured yet. |
| Success Dialog Feedback | Confirms successful save or delete outcomes with user-facing dialog states. |
| Error Dialog Feedback | Reports API or validation-related failures through consistent dialog messaging. |
Save and Delete Behavior
| Skip Blank Rows on Save | Ignores empty category names during save processing to avoid invalid records. |
| Create-or-Update Decision | Determines whether each row is created or updated based on presence of category identifier. |
| Forced Delete Option | Uses delete operation that supports force mode for category removal flow. |
| Post-save Reload | Reloads category data after successful persistence to synchronize UI with stored state. |
Integration with Conversation Simulation
| Category Selection Source | Supplies category options used by Conversation filter and Conversation info form. |
| Scenario Assignment Context | Supports assigning conversation simulations into categories for better segmentation. |
| Category-based Run Scope | Enables category-level bulk execution from the Conversation page when category context is active. |