From 7e1369891327d14873209831e174d2e6ac194de5 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 9 Sep 2026 12:14:59 +0000 Subject: [PATCH] =?UTF-8?q?docs(contributing):=20=C2=A7Getting=20Merged=20?= =?UTF-8?q?points=20at=20AGENTS.md=20for=20who=20lands=20a=20PR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "At least one approval required" described nothing in force. Measured twice: PR #1795 merged with zero reviews of any kind, and the active `main` ruleset (id 12187346) carries a `pull_request` rule whose `required_approving_review_count` is 0. The bullet is replaced by a pointer to `AGENTS.md` §How a green PR lands, the section #1798 landed as the single answer to who may land a PR and when — the same "state the rule, link the runbook" shape §Publishing already uses for `docs/RELEASE_STRATEGY.md`. The CI, no-conflict and squash bullets are unchanged and all three remain true. No branch-protection change: the ruling refused that option rather than deferring it. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_017FzrA1G4U89KEMf7wfLmqq --- ...ting-getting-merged-points-at-agents-md.md | 32 +++++++++++++++++++ CONTRIBUTING.md | 5 ++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 .changeset/contributing-getting-merged-points-at-agents-md.md diff --git a/.changeset/contributing-getting-merged-points-at-agents-md.md b/.changeset/contributing-getting-merged-points-at-agents-md.md new file mode 100644 index 000000000..350caa3d9 --- /dev/null +++ b/.changeset/contributing-getting-merged-points-at-agents-md.md @@ -0,0 +1,32 @@ +--- +--- + +`CONTRIBUTING.md` only — this PR releases nothing to HotCRM users, so the frontmatter +above is deliberately empty (the sanctioned "releases nothing" declaration that +`.github/workflows/changeset-check.yml` documents at lines 33-34 and 66-67, on par with +the `skip-changeset` label). It is a contributor-facing document, no `src/` metadata +changed, and the root package ships no `files` list that could carry it. + +§Getting Merged listed "At least one approval required" as the first of four merge +conditions. It described nothing in force. Measured two ways: behaviourally, PR #1795 +merged with `get_reviews` returning `[]` — zero reviews of any kind — 5m40s after +creation; and, now readable, by configuration — the active `main` ruleset (id 12187346) +carries a `pull_request` rule whose `required_approving_review_count` is **0**. So the +line was not merely stale relative to practice, it contradicted the repo's own settings. + +It is replaced by a pointer to `AGENTS.md` §How a green PR lands, which #1798 landed as +the single place that answers who may land a PR and when. One question, one answer, one +place — the same shape §Publishing already uses for `docs/RELEASE_STRATEGY.md`, and the +reason this bullet links rather than restates: `AGENTS.md` is a governed file, so a copy +of its rule here would drift the moment the original was amended. The CI, no-conflict and +squash bullets are unchanged; all three are still true. + +The pointer follows the wording that actually landed in `AGENTS.md` rather than the +paraphrase the ruling wrote before that section existed: "a PR whose checks have all +finished with none failed" rather than "green", because that section is explicit that a +`skipped` check (`Check Changeset` under `skip-changeset`) and a check that never ran +(`link-check` on a diff carrying no Markdown) are not failures. + +⛔ No branch-protection change, and none is implied: the ruling refused that option +rather than deferring it. This edit makes the document agree with the settings; it does +not touch them. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dba8d2e9d..e4d2ba579 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -204,7 +204,10 @@ pnpm publish:marketplace # publish - Ensure CI checks pass 4. **Getting Merged** - - At least one approval required + - Who may land a PR, and when, is defined in [`AGENTS.md`](AGENTS.md) + §How a green PR lands — a PR whose checks have all finished with none + failed lands via auto-merge; a diff touching a governed path stays a + draft for the maintainer - All CI checks must pass - No merge conflicts - Branch will be squash-merged