.github/labels.conf + CONTRIBUTING + labels.test — the panel names an identity that can actually review (#222) #223

Merged
andres merged 1 commit from build/222-panel-glm into main 2026-08-06 18:32:33 +00:00
4 changed files with 13 additions and 3 deletions

2
.github/labels.conf vendored
View file

@ -1,4 +1,4 @@
panel=codex-reviewer-andresmgsl kimi-reviewer-andresmgsl cluade-reviewer-andresmgsl
panel=codex-reviewer-andresmgsl glm-reviewer-andresmgsl cluade-reviewer-andresmgsl
triage-actors=cluade-reviewer-andresmgsl
scope:release-flow|C5DEF5|The reusable release workflow, decide, the doors
scope:guards|C5DEF5|changelog-armed / changelog-monotonic / drill-recorded

View file

@ -50,7 +50,7 @@ the box is the blast-radius boundary; roles are what a session is told, and
|---|---|---|
| `cluade-reviewer-andresmgsl` | `triage` (claude-box) | **triage** — the only door issues come through; this identity mints issues and nothing else writes them (#18's `triage-actors`) — and review. It does not build. |
| `codex-reviewer-andresmgsl` | codex-box | build + review |
| `kimi-reviewer-andresmgsl` | kimi-box | review |
| `glm-reviewer-andresmgsl` | glm-box | review |
**The review panel for any PR is every bench identity except its author** —
recusal by construction, enforced by the reconciler (#10): the required

10
changelog.d/222.md Normal file
View file

@ -0,0 +1,10 @@
### Changed
- The review panel names `glm-reviewer-andresmgsl` in place of
`kimi-reviewer-andresmgsl` while that identity is unavailable. The panel
stays three, so a PR still requires two cross-vendor approvals (#222).
- `test/labels.test.sh`'s table-side roster mutation names an identity the
table actually carries. Naming a departed one would mutate nothing and the
case would pass while proving nothing — #195's rot class one layer down
(#222).

View file

@ -246,7 +246,7 @@ sed 's/^panel=/panel=ghost-bot /' "$CONF" >"$mut_conf"
check "an identity in the conf but not the table goes red" 1 "ghost-bot" \
roster_in_sync "$mut_conf" "$CONTRIB"
# shellcheck disable=SC2016 # the backticks are the table's, not a subshell
sed 's/^| `kimi-reviewer-andresmgsl`/| `ghost-bot`/' "$CONTRIB" >"$mut_contrib"
sed 's/^| `glm-reviewer-andresmgsl`/| `ghost-bot`/' "$CONTRIB" >"$mut_contrib"
check "an identity in the table but not the conf goes red" 1 "ghost-bot" \
roster_in_sync "$CONF" "$mut_contrib"