Skip to content

feat(ci): vouch first-time contributors, and say the rule about understanding - #148

Merged
imran-siddique merged 1 commit into
mainfrom
feat/vouch-check
Sep 3, 2026
Merged

feat(ci): vouch first-time contributors, and say the rule about understanding#148
imran-siddique merged 1 commit into
mainfrom
feat/vouch-check

Conversation

@imran-siddique

Copy link
Copy Markdown
Member

Mirrors what is already merged in cmcp (agentrust-io/cmcp#605).

The gate

A pull request from an account not on the vouched list is closed with a comment explaining how to get vouched. The judgement stays human: a maintainer comments /vouch @username, vouch-command.yml appends to the list, and vouch-check.yml only ever reads it. Nothing here scores anybody.

  • Seeded, with every account that already has a merged PR here, so nobody existing is turned away.
  • Reads the list off the vouched branch, never the PR branch, because an author can edit any file in their own fork.
  • Fails open. An unreadable list is our problem; silently closing every PR would be worse.
  • No new secret. Uses the permission API rather than org membership, so anyone who can already push is skipped.
  • Checks out nothing from the PR. It runs on pull_request_target with a write-capable token.

It composes with the reputation check rather than replacing it

The existing contributor reputation check is advisory: it comments and labels a risk level and closes nothing. So it reads as evidence for the maintainer deciding whether to vouch, rather than as a verdict of its own. A score acting as a verdict is the thing that failed review elsewhere; a score informing a person is a different mechanism.

And the half that costs nothing

CONTRIBUTING.md gains the understanding rule: use agents, a lot of this was built with them, and if you cannot explain your change with the agent closed, do not open the PR. That is going to every repository including the spec ones, gate or no gate.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Uc16CsknaQ9PTLxGj8TXXj

…standing

Mirrors the change already merged in cmcp.

The vouch check closes a pull request from an account that has not been vouched
and comments explaining how to get vouched. The judgement stays human: a
maintainer comments /vouch @username, the command workflow appends to the list,
and the check only ever reads it. Nothing here scores anybody.

The list lives on a dedicated orphan branch, seeded with the accounts that
already have a merged pull request here, so nobody who has contributed before
gets turned away. The check reads it from that branch rather than from the pull
request branch, because an author can edit any file in their own fork. It fails
open: an unreadable list is our problem, and silently closing every pull request
would be worse than letting one through.

It composes with the existing contributor reputation check rather than replacing
it. That check is advisory, comments and labels a risk level and closes nothing,
so it reads as evidence for the maintainer deciding whether to vouch rather than
as a verdict of its own.

CONTRIBUTING also gains the rule worth having whether or not the gate ships: use
agents, and understand what you submit. If you cannot explain a change with the
agent closed, do not open the pull request.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uc16CsknaQ9PTLxGj8TXXj
@imran-siddique
imran-siddique requested a review from a team as a code owner September 3, 2026 03:43
@imran-siddique
imran-siddique merged commit cfa4529 into main Sep 3, 2026
12 checks passed
@imran-siddique
imran-siddique deleted the feat/vouch-check branch September 3, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant