|
All checks were successful
CI / test (pull_request) Successful in 1m29s
CI / release-exercise (pull_request) Successful in 10s
CI / self-guards (pull_request) Successful in 5s
CI / action-exercise (pull_request) Successful in 5s
CI / docs-sync-exercise (pull_request) Successful in 5s
labels / labels (pull_request) Successful in 1m20s
`.github/labels.conf` named five identities and every one of them 404s on this instance — a GitHub-shaped team that was never minted here. Both consumers of that roster were inoperable in consequence: `panel=` becomes the required-verdict set, so a review round could never converge, and `triage-actors=` is the arrival author gate, so every issue was a stray mint owing `needs-triage` that nobody the conf recognized could clear. Measured on #191: stamped `needs-triage` four seconds after mint by the arrival path working correctly, then unclosable for the rest of the day. The mapping is @andres's ruling, recorded on #191. `cluade` holds triage and reviews but does not build; `codex` builds; `kimi` reviews; `grok` comes off the bench; the human row is `andres`. CONTRIBUTING's roster table moves with the conf, including the approval count: panel-minus-author resolves to two on this roster, not three, because the only builder is itself on the panel. The rule is unchanged and still stated as panel-minus-author — only the number it currently comes to is named honestly. test/labels.test.sh now holds the conf and the table to the same set in both directions. It cannot reach the half that actually broke — two files agreeing with each other and neither with the forge — but it does catch a roster edit that touches one file and not the other, which is how a deliberate swap becomes a silent one. Not touched, deliberately: drills/*.md, which record runs that really happened under the old names; REVIEWER.md, whose old-name hits are citations and a past-event anecdote rather than roster definition. Refs #195 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| 195.md | ||
| README.md | ||
| shape | ||
changelog.d/ — the next release's section, one fragment per issue
Machine-assembled by bin/changelog-assemble (#112): every PR that changes
behavior writes one file here — <issue>.md, the exact prose that will be
published, nothing else — and the release PR folds them all into the next
## X.Y.Z — DATE section of CHANGELOG.md, consuming them. Distinct
filenames never conflict, which is this directory's whole reason to exist.
This README is the marker that keeps the directory tracked when it holds no
fragments (#112 D1) — changelog-armed refuses a tree without it; do not
delete it. The shape sentinel beside it declares the set's shape —
grouped here, so every fragment carries ### headings (#182).