[meta] Kill scope='builtin' at runtime — defaults live in code, not DB #934
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#934
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tracker
The DB still carries
scope='builtin'rows onservice_config,label_catalog, and (legacy)agent_type*/mcp_server/plugin_*/skill/system_prompt. DOB-1/DOB-2 (#793/#794) collapsed builtin out of the agent-type read path but never finished the job: schemas, frontends, handlers, and migration runners still treat builtin as a live layer for label/service tables, and the fouragent-types-settingsPUT handlers regressed ontoWHERE scope='builtin'for existence checks (most recently #931 — fixed in the follow-up to this tracker).Goal
After this work:
scope='builtin'(CHECK constraints narrowed to live scopes).scope != 'builtin'(constants + every Drizzlene(*.scope, "builtin")predicate gone).scope='global'rows on first install.Stories
Tracking the seven stories below. Order:
chore: extract service_config defaults to code constantschore: extract label_catalog factory presets to code constantsfeat(api): POST /service-config/reset-defaults — replaces "reset to builtin"feat(setup): wizard seeds label_catalog + service_config at scope='global'feat(db): migration 0010 — collapse 'builtin' from runtime tableschore: drop NON_BUILTIN_SCOPE_FILTER + every ne(scope,'builtin') filterchore(web): narrow SCOPE_ORDER to 3 layers, drop builtin UI affordancesOut of scope
mcp-builtin-defs.json/MCP_SERVER_DEFAULTS— already in code, only the filename mentions "builtin". Optional rename is its own chore.agent_type*builtin rows — DOB-4 already collapsed seeding; the migration in story 5 just drops any survivors + tightens CHECK.References
'builtin'rows from the agent-type read pathConfigScopetype to drop'builtin'scope='builtin''builtin'from runtime tables #939ne(scope,'builtin')predicate #940