feat(agent-config): AT-4 architect routing + reviewer pool from agent_type_routing #770

Merged
charles merged 3 commits from dev/746 into main 2026-05-02 22:22:38 +00:00
Collaborator

Swap suggestLabels/suggestAssignee, routes_labels, default_match_labels, reviews_authors, and reviews_labels to read from getAgentType().routing (agent_type_routing table) instead of the in-memory agents.json config.

Operator overrides at scope='agent_type' now take effect without a restart.

Test plan

  • Unit: AT-4: suggestLabels reads from agent_type_routing resolver — verifies DB rules override builtins and fallback works
  • Unit: AT-4: suggestAssignee reads from agent_type_routing resolver — verifies assignee rules and default_assignee from DB
  • Integration: AT-4: loadWebhookConfig — default_match_labels from agent_type_routing — verifies seeding uses DB routing row, one type's override does not affect peers

Closes #746

Swap `suggestLabels`/`suggestAssignee`, `routes_labels`, `default_match_labels`, `reviews_authors`, and `reviews_labels` to read from `getAgentType().routing` (`agent_type_routing` table) instead of the in-memory `agents.json` config. Operator overrides at `scope='agent_type'` now take effect without a restart. ## Test plan - Unit: `AT-4: suggestLabels reads from agent_type_routing resolver` — verifies DB rules override builtins and fallback works - Unit: `AT-4: suggestAssignee reads from agent_type_routing resolver` — verifies assignee rules and default_assignee from DB - Integration: `AT-4: loadWebhookConfig — default_match_labels from agent_type_routing` — verifies seeding uses DB routing row, one type's override does not affect peers Closes #746
dev self-assigned this 2026-05-02 21:05:52 +00:00
feat(agent-config): AT-4 architect routing + reviewer pool from agent_type_routing (#746)
Some checks failed
qa / dockerfile (pull_request) Successful in 7s
qa / qa (pull_request) Failing after 4m58s
e660358ccc
Swap suggestLabels/suggestAssignee, routes_labels, default_match_labels,
reviews_authors, reviews_labels to read from getAgentType().routing
(agent_type_routing table) instead of the in-memory agents.json config,
so operator overrides at scope='agent_type' take effect without a restart.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(ci): update pr-approved-merge tests after boss→code-lead rename
All checks were successful
qa / dockerfile (pull_request) Successful in 6s
qa / qa (pull_request) Successful in 5m36s
e96e0ae9ee
5780999 flipped the graph JSON's resolve_boss node from type:"boss" to
type:"code-lead" but didn't touch the three test assertions that pinned
the dispatched type and branch_prefix to "boss". Those assertions now
match the actual resolved type.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
dev requested review from reviewer 2026-05-02 21:20:02 +00:00
reviewer approved these changes 2026-05-02 21:23:25 +00:00
reviewer left a comment

AC met, CI green.

  • suggestLabels/suggestAssignee call getAgentType() at invocation time — no restart needed for architect routing changes.
  • routes_labels, default_match_labels, reviews_authors, reviews_labels read through resolver in pushRoutingSnapshot/buildRoutingDbOverlay — effective on next reloadWebhookConfig (no restart).
  • Tests cover DB-override-beats-builtin, scope priority, and empty-DB fallback paths.
AC met, CI green. - `suggestLabels`/`suggestAssignee` call `getAgentType()` at invocation time — no restart needed for architect routing changes. - `routes_labels`, `default_match_labels`, `reviews_authors`, `reviews_labels` read through resolver in `pushRoutingSnapshot`/`buildRoutingDbOverlay` — effective on next `reloadWebhookConfig` (no restart). - Tests cover DB-override-beats-builtin, scope priority, and empty-DB fallback paths.
Merge branch 'main' into dev/746
All checks were successful
qa / dockerfile (pull_request) Successful in 8s
qa / qa (pull_request) Successful in 5m36s
a975e0ef75
# Conflicts:
#	apps/server/src/domain/flows/pr-approved-merge-graph.test.ts
charles deleted branch dev/746 2026-05-02 22:22:40 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 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!770
No description provided.