Follow-up to #540 (advisory reviewer routing, shipped in #829). #540's advisory core surfaces ranked CODEOWNERS reviewer suggestions in the PR panel; this issue adds the outward-facing auto_request action that was intentionally deferred because it actually assigns reviewers on real PRs.
Why split out
#829 shipped reviewerRoutingMode as off | advisory. Actually requesting reviewers via the GitHub API is outward-facing and warrants its own focused review (and the strict opt-in guards the parent issue calls for). The setting column is TEXT, so this adds the enum value + action with no migration.
Deliverables
Context
src/signals/reviewer-routing.ts (the ranked suggestions), src/queue/processors.ts maybePublishPrPublicSurface (where routing is built), the newcomer detection at the gate-policy threading (#552). Relates #540, #829, #525/#528.
Follow-up to #540 (advisory reviewer routing, shipped in #829). #540's advisory core surfaces ranked CODEOWNERS reviewer suggestions in the PR panel; this issue adds the outward-facing
auto_requestaction that was intentionally deferred because it actually assigns reviewers on real PRs.Why split out
#829 shipped
reviewerRoutingModeasoff | advisory. Actually requesting reviewers via the GitHub API is outward-facing and warrants its own focused review (and the strict opt-in guards the parent issue calls for). The setting column is TEXT, so this adds the enum value + action with no migration.Deliverables
auto_requestto thereviewerRoutingModeunion (src/types.ts,parseReviewerRoutingModeinsrc/db/repositories.ts, the openapi enum, settings-preview, and the.gittensory.ymlsettings-block enum infocus-manifest.ts).reviewerRoutingMode === "auto_request", call GitHub's request-reviewers API for the top-rankedbuildReviewerRoutingsuggestion(s) — using the existing installation-token GitHub client (this is the first reviewer-routing call needing the App token, vs the public raw fetch the advisory core uses).auto_request, idempotency.Context
src/signals/reviewer-routing.ts(the ranked suggestions),src/queue/processors.tsmaybePublishPrPublicSurface(where routing is built), the newcomer detection at the gate-policy threading (#552). Relates #540, #829, #525/#528.