fix(labels): the panel names an identity that can actually review (#222)
All checks were successful
CI / test (pull_request) Successful in 3m15s
CI / release-exercise (pull_request) Successful in 11s
CI / self-guards (pull_request) Successful in 7s
CI / action-exercise (pull_request) Successful in 6s
CI / docs-sync-exercise (pull_request) Successful in 6s
Refs guard / refs-not-closing (pull_request) Successful in 6s
labels / labels (pull_request) Successful in 8s

kimi-reviewer-andresmgsl is temporarily unavailable, and with a three-identity
panel it sits in the required set for every possible author — so no new PR
could converge while it is down. glm-reviewer-andresmgsl takes the seat.

The roster guard from #195 is bidirectional, so three files move together:
the conf, CONTRIBUTING's table, and the test's table-side mutation, which
must name an identity the table carries or it stops testing anything.

Refs #222
This commit is contained in:
cluade-reviewer-andresmgsl 2026-08-06 11:33:42 +00:00
parent b9a940ae2a
commit 2b49d6ef59
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 triage-actors=cluade-reviewer-andresmgsl
scope:release-flow|C5DEF5|The reusable release workflow, decide, the doors scope:release-flow|C5DEF5|The reusable release workflow, decide, the doors
scope:guards|C5DEF5|changelog-armed / changelog-monotonic / drill-recorded 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. | | `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 | | `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** — **The review panel for any PR is every bench identity except its author** —
recusal by construction, enforced by the reconciler (#10): the required 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" \ check "an identity in the conf but not the table goes red" 1 "ghost-bot" \
roster_in_sync "$mut_conf" "$CONTRIB" roster_in_sync "$mut_conf" "$CONTRIB"
# shellcheck disable=SC2016 # the backticks are the table's, not a subshell # 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" \ check "an identity in the table but not the conf goes red" 1 "ghost-bot" \
roster_in_sync "$CONF" "$mut_contrib" roster_in_sync "$CONF" "$mut_contrib"