diff --git a/apps/console/src/app/settings/groups.ts b/apps/console/src/app/settings/groups.ts index a1f40838c..5635fed90 100644 --- a/apps/console/src/app/settings/groups.ts +++ b/apps/console/src/app/settings/groups.ts @@ -69,6 +69,13 @@ export const GROUPS: Group[] = [ blurb: 'How rt lays out the MR and PR descriptions it writes.', match: prefix('rt.evidence.'), }, + { + id: 'review', + label: 'Reviews', + tier: 'rt', + blurb: 'How the team pack runs its reviews.', + match: prefix('review.'), + }, { id: 'notifications', label: 'Notifications & gates', diff --git a/packages/rt-client/src/settings/__tests__/registry-console-ready.test.ts b/packages/rt-client/src/settings/__tests__/registry-console-ready.test.ts index d1592e68b..7913f8738 100644 --- a/packages/rt-client/src/settings/__tests__/registry-console-ready.test.ts +++ b/packages/rt-client/src/settings/__tests__/registry-console-ready.test.ts @@ -66,6 +66,7 @@ const NO_SCHEMA_YET: readonly string[] = [ "rt.gates.escalationTtlMinutes", "rt.logLevel", "rt.logRetentionDays", + "review.ruleSelector", "rt.runsPruneDays", "rt.ui.background", "rt.worktreeMergeCleanupNotice", diff --git a/packages/rt-client/src/settings/__tests__/registry.test.ts b/packages/rt-client/src/settings/__tests__/registry.test.ts index a6a25d84b..1c839ca42 100644 --- a/packages/rt-client/src/settings/__tests__/registry.test.ts +++ b/packages/rt-client/src/settings/__tests__/registry.test.ts @@ -418,8 +418,9 @@ describe("settings/registry", () => { "telemetry.enabled", "rt.evidence.foldScreenshots", "rt.notify.sounds", + "review.ruleSelector", ]; - expect(suiteKeys).toHaveLength(101); + expect(suiteKeys).toHaveLength(102); expect(allDefs().map((d) => d.key).sort()).toEqual( [...migratedFalseKeys, ...migratedTrueKeys, ...suiteKeys].sort(), diff --git a/packages/rt-client/src/settings/registry-defs.ts b/packages/rt-client/src/settings/registry-defs.ts index 634b2d536..2f14c1c75 100644 --- a/packages/rt-client/src/settings/registry-defs.ts +++ b/packages/rt-client/src/settings/registry-defs.ts @@ -306,6 +306,14 @@ const ROWS: readonly SettingDef[] = [ repoScoped: true, description: "Fold each case's screenshots in the evidence section rt writes into an MR or PR description, behind a summary that names the case, so reviewers scroll past them to the approvals and pipeline.", }, + { + key: "review.ruleSelector", + type: "boolean", + scopes: ["team", "user", "machine"], + default: false, + merge: "replace", + description: "Turns on the team pack's review rule selector. The pack's rule-selector fill reads it on every review.", + }, { key: "rt.logLevel", type: "string",