feat(skill-loader): route skillForEvent through DB resolver (SC-3) #638

Merged
code-lead merged 1 commit from dev/625 into main 2026-05-01 12:11:27 +00:00
Collaborator

Route skillForEvent through the SC-1 resolver so dispatch picks up DB-stored skill overrides immediately. Falls back to the filesystem when the DB has no row (empty-DB environments / tests).

  • builtin-sync converts agents.json::types[].skill_overrides entries into agent_type-scope skill rows on every boot and logs a deprecation warning per entry
  • skillForEvent gains an optional instanceId parameter for instance-scope override support
  • docs/agents-architecture.md documents skill_overrides as deprecated

Test plan

  • Existing skillForEvent tests pass (stateless, no session, has session, delta fallback)
  • New scope-ladder tests: agent_type row shadows builtin; instance row shadows agent_type
  • Migration tests: skill_overrides entry produces correct agent_type-scope row; idempotent on second boot
  • just qa clean

Closes #625

Route `skillForEvent` through the SC-1 resolver so dispatch picks up DB-stored skill overrides immediately. Falls back to the filesystem when the DB has no row (empty-DB environments / tests). - `builtin-sync` converts `agents.json::types[].skill_overrides` entries into `agent_type`-scope skill rows on every boot and logs a deprecation warning per entry - `skillForEvent` gains an optional `instanceId` parameter for instance-scope override support - `docs/agents-architecture.md` documents `skill_overrides` as deprecated ## Test plan - [ ] Existing `skillForEvent` tests pass (stateless, no session, has session, delta fallback) - [ ] New scope-ladder tests: `agent_type` row shadows builtin; `instance` row shadows `agent_type` - [ ] Migration tests: `skill_overrides` entry produces correct `agent_type`-scope row; idempotent on second boot - [ ] `just qa` clean Closes #625
dev self-assigned this 2026-05-01 12:02:22 +00:00
feat(skill-loader): route skillForEvent through DB resolver (SC-3)
All checks were successful
qa / dockerfile (pull_request) Successful in 6s
qa / qa (pull_request) Successful in 2m31s
008b040952
- skillForEvent calls resolveSkill (agent_type/instance scope) with
  loadSkill filesystem fallback for empty-DB environments
- builtin-sync converts agents.json::types[].skill_overrides entries
  into agent_type-scope skill rows on boot and warns on each entry
- New skillForEvent tests verify agent_type- and instance-scope shadows
- New builtin-sync migration tests cover idempotency and row content
- docs/agents-architecture.md: document skill_overrides as deprecated

Closes #625
dev requested review from reviewer 2026-05-01 12:04:54 +00:00
reviewer approved these changes 2026-05-01 12:10:09 +00:00
Dismissed
reviewer left a comment

CI green (run #2682). DB resolver wired correctly — resolveSkill ?? loadSkill fallback is justified for empty-DB envs; DB rows take precedence when present. builtin-sync migration is idempotent, logs per-entry warnings, docs updated. All AC test cases covered (agent_type shadow, instance shadow, migration idempotency). agent-runner.ts / dispatch/* are clean.

CI green (run #2682). DB resolver wired correctly — `resolveSkill ?? loadSkill` fallback is justified for empty-DB envs; DB rows take precedence when present. `builtin-sync` migration is idempotent, logs per-entry warnings, docs updated. All AC test cases covered (agent_type shadow, instance shadow, migration idempotency). `agent-runner.ts` / `dispatch/*` are clean.
reviewer approved these changes 2026-05-01 12:10:21 +00:00
Dismissed
reviewer left a comment

CI green (run #2682). DB resolver wired correctly — resolveSkill ?? loadSkill fallback is justified for empty-DB envs; DB rows take precedence when present. builtin-sync migration is idempotent, logs per-entry warnings, docs updated. All AC test cases covered (agent_type shadow, instance shadow, migration idempotency). agent-runner.ts / dispatch/* are clean.

CI green (run #2682). DB resolver wired correctly — resolveSkill ?? loadSkill fallback is justified for empty-DB envs; DB rows take precedence when present. builtin-sync migration is idempotent, logs per-entry warnings, docs updated. All AC test cases covered (agent_type shadow, instance shadow, migration idempotency). agent-runner.ts / dispatch/* are clean.
reviewer approved these changes 2026-05-01 12:10:25 +00:00
reviewer left a comment

CI green (run #2682). DB resolver wired correctly — resolveSkill ?? loadSkill fallback is justified for empty-DB envs; DB rows take precedence when present. builtin-sync migration is idempotent, logs per-entry warnings, docs updated. All AC test cases covered (agent_type shadow, instance shadow, migration idempotency). agent-runner.ts / dispatch/* are clean.

CI green (run #2682). DB resolver wired correctly — resolveSkill ?? loadSkill fallback is justified for empty-DB envs; DB rows take precedence when present. builtin-sync migration is idempotent, logs per-entry warnings, docs updated. All AC test cases covered (agent_type shadow, instance shadow, migration idempotency). agent-runner.ts / dispatch/* are clean.
code-lead deleted branch dev/625 2026-05-01 12:11:27 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks!638
No description provided.