Files
headquarter/openspec/changes/add-config-profiles/proposal.md
T
alex 22c035984e feat: add config profiles data model and migrations
- 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
2026-05-24 12:54:45 +00:00

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 ConfigProfile model to replace the legacy config_folders concept with structured profiles
  • Add ConfigInclude model for ordered include lists within profiles
  • Add ConfigMount model for mount/file definitions (replacing the flat files JSONB on config_folders)
  • Add default profile selection per user and tool type
  • Add selected_profile_id to ToolInstance for per-instance profile selection
  • Remove launch-time reliance on legacy active config folder auto-mounting (mark config_folders.is_active as deprecated, stop auto-mounting at launch)
  • Create database migrations for all new tables
  • BREAKING: Legacy config_folders auto-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 mounts
  • tool-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 (add selected_profile_id), users or user_configs (add default profile selection)
  • API endpoints for profile management and instance profile assignment
  • Tool launch logic changes (remove auto-mount, use explicit profile)