chore(conductor): Add new track 'Saved System Prompt Presets'
This commit is contained in:
39
conductor/tracks/saved_presets_20260308/spec.md
Normal file
39
conductor/tracks/saved_presets_20260308/spec.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Specification: Saved System Prompt Presets
|
||||
|
||||
## Overview
|
||||
This feature introduces the ability to save, manage, and switch between system prompt presets for both global (application-wide) and project-specific contexts. Presets will include not only the system prompt text but also model-specific parameters like temperature and top_p, effectively allowing for "AI Profiles."
|
||||
|
||||
## Functional Requirements
|
||||
- **Dedicated Storage:**
|
||||
- Global presets: Stored in a global `presets.toml` file (located in the application configuration directory).
|
||||
- Project presets: Stored in a `project_presets.toml` file within the project's root directory.
|
||||
- **Preset Content:**
|
||||
- `name`: A unique identifier for the preset.
|
||||
- `system_prompt`: The text of the system prompt.
|
||||
- `temperature`: (Optional) Model temperature setting.
|
||||
- `top_p`: (Optional) Model top_p setting.
|
||||
- `max_output_tokens`: (Optional) Maximum output tokens.
|
||||
- **Inheritance & Overriding:**
|
||||
- The UI will display a unified list of global and project-specific presets.
|
||||
- If a project-specific preset has the same name as a global one, the project-specific version will override it.
|
||||
- **GUI Interactions:**
|
||||
- **Settings Dropdown:** A dropdown menu in the "AI Settings" (global) and "Project Settings" (per-project) panels for quick switching between presets.
|
||||
- **Preset Manager Modal:** A dedicated modal accessible from the settings panels to create, edit, and delete presets.
|
||||
- **Auto-Loading:** Switching a preset in the dropdown will immediately update the active system prompt and associated model parameters in the AI client configuration.
|
||||
|
||||
## Non-Functional Requirements
|
||||
- **Persistence:** All changes made in the Preset Manager must be immediately persisted to the corresponding `.toml` file.
|
||||
- **Validation:** Ensure preset names are unique within their scope (global or project).
|
||||
- **Concurrency:** Ensure safe file access if multiple windows or instances are open (though Manual Slop is primarily single-instance).
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Users can create a new global preset and see it in the dropdown across all projects.
|
||||
- [ ] Users can create a project-specific preset that is only visible when that project is active.
|
||||
- [ ] Overriding a global preset with a project-specific one (same name) correctly loads the project version.
|
||||
- [ ] Changing a preset via the dropdown updates the active AI configuration (prompt, temperature, etc.).
|
||||
- [ ] The Preset Manager modal allows for full CRUD (Create, Read, Update, Delete) operations on presets.
|
||||
|
||||
## Out of Scope
|
||||
- Support for other file formats (e.g., JSON, YAML) for presets.
|
||||
- Presets for specific files or folders (scoped only to global or project level).
|
||||
- Cloud syncing of presets.
|
||||
Reference in New Issue
Block a user