feat(#1517): support custom reviewer instances for /gsd:review (#1766)

* feat(#1517): support custom reviewer instances for /gsd:review

Add a bounded review.reviewer_instances config surface so one model-capable
adapter (e.g. opencode) can run as several independent reviewer identities in a
single /gsd:review pass. Instances participate only via review.default_reviewers,
expand before built-in slugs, are available iff their cli is detected, and a
non-matching entry is a hard error (typo must be loud). >=2 same-cli instances
emit a shared-adapter caveat in REVIEWS.md. Default path with no instances is
byte-for-byte unchanged.

Single-source instance->cli resolution lives in resolveReviewerSelection /
normalizeReviewerInstances (parity-locked in
tests/review-reviewer-instances.test.cjs). cli validated against
KNOWN_REVIEWER_SLUGS only (never arbitrary shell); model/agent opaque, never
shell-interpolated.

Closes #1517

* chore(#1517): backfill changeset pr:1766

---------

Co-authored-by: review-bot <review-bot@gsd>
This commit is contained in:
Tom Boucher
2026-06-26 23:35:04 -04:00
committed by GitHub
parent ce62f2b68d
commit b0d5ca3379
30 changed files with 835 additions and 66 deletions

View File

@@ -85,7 +85,7 @@
"command/gsd-quick.md": "07c02ab7547aec8e",
"command/gsd-resume-work.md": "3ac18b2a8cc41066",
"command/gsd-review-backlog.md": "1e99d6a7a3806fa5",
"command/gsd-review.md": "e1aee41cc2d736b5",
"command/gsd-review.md": "97bf8bc6ffff9475",
"command/gsd-secure-phase.md": "b536ad6e68af3a26",
"command/gsd-settings.md": "a3d2cb48b06c9b90",
"command/gsd-ship.md": "062d0bb5656fa31b",
@@ -110,7 +110,7 @@
"gsd-core/bin/gsd-tools.cjs": "b7968e3e3af00249",
"gsd-core/bin/gsd_run": "62d9b647ede212e6",
"gsd-core/bin/shared/config-defaults.manifest.json": "517e6a7c1e9f4f16",
"gsd-core/bin/shared/config-schema.manifest.json": "67e4addbfd248a7c",
"gsd-core/bin/shared/config-schema.manifest.json": "65dea848d50969a2",
"gsd-core/bin/shared/model-catalog.json": "dbe26e683236d8c6",
"gsd-core/bin/shared/runtime-aliases.manifest.json": "f6c8b3af10dcfdc4",
"gsd-core/bin/verify-reapply-patches.cjs": "caec5dbce11e3904",
@@ -184,6 +184,7 @@
"gsd-core/references/research-documentation-lookup.md": "c070007d1d72ab71",
"gsd-core/references/research-philosophy.md": "a602b41bfa081fdf",
"gsd-core/references/research-verification-protocol.md": "9c38c9d9a687e679",
"gsd-core/references/reviewer-instances.md": "1412472f858b8f41",
"gsd-core/references/revision-loop.md": "e55ff32dd98c63df",
"gsd-core/references/scout-codebase.md": "ba266ecc18fbf172",
"gsd-core/references/security-asvs-levels.md": "4774fac3b94b6ca8",
@@ -342,7 +343,7 @@
"gsd-core/workflows/remove-phase.md": "863c58e99e9d630d",
"gsd-core/workflows/remove-workspace.md": "4ed03c52e5c7bd4d",
"gsd-core/workflows/resume-project.md": "15153ce5a4c38674",
"gsd-core/workflows/review.md": "dd336f71a0b8f228",
"gsd-core/workflows/review.md": "544103be3247bbd1",
"gsd-core/workflows/scan.md": "4634caefa32a7307",
"gsd-core/workflows/secure-phase.md": "9616682fe23cf042",
"gsd-core/workflows/session-report.md": "2e5b1205324ddefa",
@@ -451,7 +452,7 @@
"skills/gsd-quick/SKILL.md": "a9a971a0d471b64f",
"skills/gsd-resume-work/SKILL.md": "aa6a7d9e88fe26b6",
"skills/gsd-review-backlog/SKILL.md": "27a9dbfe92e5d04c",
"skills/gsd-review/SKILL.md": "9fe549f07cf4da07",
"skills/gsd-review/SKILL.md": "4d1897f8d2c65bdf",
"skills/gsd-secure-phase/SKILL.md": "b37a0dbae84dd74a",
"skills/gsd-settings/SKILL.md": "d72a537765bf690a",
"skills/gsd-ship/SKILL.md": "fc88192bae429756",