DOB-4: Delete syncBuiltinsFromRepo + JSON-Schema validators + deprecation-warning branches #796
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.
Blocks
Depends on
#797 DOB-5: Delete config/*.json + Dockerfile / build context cleanup
charles/claude-hooks
#793 DOB-1: Resolver — drop scope='builtin', fall through to code-side defaults
charles/claude-hooks
#794 DOB-2: Migration — collapse scope='builtin' rows into scope='global', drop builtin_hash columns
charles/claude-hooks
#795 DOB-3: Setup wizard seeds the minimum at scope='global' from code-side presets
charles/claude-hooks
Reference
charles/claude-hooks#796
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?
As a platform engineer, I want every code path that reads
config/*.jsonat boot removed, so that the loader becomes a pure DB-only path — no file I/O, no schema validation, no deprecation-warning branches that scan disk for operator edits.By the time this ships, DOB-1 has rerouted resolvers to code defaults, DOB-2 has migrated the rows, and DOB-3 has rewired the setup wizard.
syncBuiltinsFromRepoand friends become dead code.Acceptance criteria
Code removal
apps/server/src/infrastructure/agent-env-sync/builtin-sync.ts(and split files likebuiltin-sync-mcp.ts,builtin-sync-labels.ts, … if any). Drop the corresponding tests.syncBuiltinsFromRepo()call frommain.tsand the boot order comment that references it.agents-config-schema.ts,service-config-schema.ts,labels-config-schema.ts,mcp-builtin-schema.ts(whatever the actual filenames are — grep forJSONSchema/Ajv/JsonSchemaTypeand clear the dependents).webhook-config.ts/service-config-resolver.tsthat fire when an operator editsagents.jsonorservice.jsonpost-deploy. The files no longer exist; the branches are unreachable.Boot smoke
strace -f -e openat … bun run main.ts | grep config/.*\\.jsonreturning empty (or by adding a one-shot test that asserts noreadFilehappens for those paths during boot).Tests
syncBuiltinsFromRepobeing importable.grep -r 'syncBuiltinsFromRepo\\|builtin-sync' apps/ packages/returns zero hits post-PR.Out of scope
config/*.jsonfiles themselves — DOB-5. (After this story, the files exist but nothing reads them; DOB-5 is the actualrm.)builtin_hashcolumns — DOB-2.References
apps/server/src/infrastructure/agent-env-sync/builtin-sync.ts,apps/server/src/main.tsboot path,apps/server/src/shared/config/*-schema.ts.🤖 Auto-assigned to code-lead (heuristic: default → code-lead (no specific label match; safer than code)). Reply
/unassignto reroute.scope='builtin'at runtime — defaults live in code, not DB #934