SC-10 Migrate agents.json runtime consumers off in-memory config #632
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#632
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?
User story
As a platform engineer, I want every code path that reads
types[t].plugins,default_system_prompt,system_prompt_template,skill_overrides,caveman.labels,match_labels,default_model,reviews_authors,reviews_labels,wip_soft_limitmigrated to the resolver, so thatagents.jsonbecomes a one-way factory image (read bybuiltin-synconly) and theAGENT_CONFIG_DB_ENABLEDfeature flag can be removed.Acceptance criteria
Sweep
apps/server/srcshows zero non-builtin-sync.tsconsumers of the listed fields. Migrate each consumer to its correspondingresolve*call:default_model→agent_type_configrow read by the dispatcher (already-partial DB path; finish it).match_labels,reviews_authors,reviews_labels,wip_soft_limit,caveman.labels→agent_type_configrows.apps/server/src/shared/config/agents-config-schema.tsannotates each migrated field with// builtin source for the agent-config DB layer; runtime reads go through the resolver.AGENT_CONFIG_DB_ENABLEDis removed; the resolver path is the only path.Docs
docs/modules.mdreflects the new boot flow.docs/agents-architecture.mddocumentsbuiltin → global → agent_type → instanceresolution and the render-to-disk pipeline.docs/plugins.mddocuments thatagents.json::plugins[]is the factory image only; runtime overrides land via the dashboard.Tests
agents.jsonboot syncs new builtin rows; an existingagent_type-scope override is preserved across restart.Out of scope
References
specs/agent-config-customization.md§Story SC-10apps/server/src/domain/dispatch/pool.ts—match_labels/wip_soft_limitconsumersapps/server/src/domain/workflow/review-loop.tsandwebhook-routing.ts—reviews_authors/reviews_labelsapps/server/src/domain/agent/caveman-gate.ts—caveman.labels🦵 @charles kicked the queue — re-running implement on @boss.