22c035984e
- Add ConfigProfile model with user ownership, name, description - Add ConfigInclude model for ordered profile self-references - Add ConfigMount model for mount/file definitions - Add selected_profile_id to ToolInstance for per-instance profile selection - Add default profile properties to UserConfig JSONB config - Create Alembic migration 0013 for new tables and columns - Register new models in models/__init__.py - Mark config_folders.is_active as deprecated - Add migration metadata test Quality gates: syntax check passed (all files parse successfully) OpenSpec: add-config-profiles task 1.1
1.8 KiB
1.8 KiB
Why
The current config_folders table provides basic file mounting but lacks structured profile management, ordering, and per-tool-instance selection. We need a proper config profile system that supports ordered includes, mount/file definitions, default selection, and explicit profile assignment per tool instance.
What Changes
- Add
ConfigProfilemodel to replace the legacyconfig_foldersconcept with structured profiles - Add
ConfigIncludemodel for ordered include lists within profiles - Add
ConfigMountmodel for mount/file definitions (replacing the flatfilesJSONB onconfig_folders) - Add default profile selection per user and tool type
- Add
selected_profile_idtoToolInstancefor per-instance profile selection - Remove launch-time reliance on legacy active config folder auto-mounting (mark
config_folders.is_activeas deprecated, stop auto-mounting at launch) - Create database migrations for all new tables
- BREAKING: Legacy
config_foldersauto-mounting behavior will be removed; tool instances must explicitly select a profile
Capabilities
New Capabilities
config-profile-management: CRUD operations for config profiles, includes, and mountstool-instance-profile-selection: Assign and switch config profiles per tool instance
Modified Capabilities
tool-instance-launch: Change launch behavior to use explicit profile selection instead of auto-mounting active config folder
Impact
- New database tables:
config_profiles,config_includes,config_mounts - Modified tables:
tool_instances(addselected_profile_id),usersoruser_configs(add default profile selection) - API endpoints for profile management and instance profile assignment
- Tool launch logic changes (remove auto-mount, use explicit profile)