Skip to content

docs: say which ci legs actually gate a merge - #47

Merged
AndresSaa merged 1 commit into
mainfrom
docs/name-the-ci-legs-that-gate-a-merge
Aug 8, 2026
Merged

docs: say which ci legs actually gate a merge#47
AndresSaa merged 1 commit into
mainfrom
docs/name-the-ci-legs-that-gate-a-merge

Conversation

@AndresSaa

Copy link
Copy Markdown
Owner

The drift

AGENTS.md said a merge requires green CI across the full matrix, "plus one leg on Current so that engines: >=22 is a claim something checks" — phrased as part of the gate.

It is not part of the gate. The main ruleset requires exactly:

Node 22 / ubuntu-latest     Node 24 / ubuntu-latest
Node 22 / macos-latest      Node 24 / macos-latest
Node 22 / windows-latest    Node 24 / windows-latest
lint-title

Node 26 / ubuntu-latest runs on every pull request and is not required. So the document described a gate the repository does not enforce.

The change

Split the bullet in two and state the arrangement as it is: the six LTS legs plus lint-title are the gate; the Current leg is a signal you read before merging, and deliberately does not block.

Documenting reality was the choice here rather than adding Node 26 to the required checks, and the reasoning is now in the file: Current tracks a release nobody deploys yet, so an upstream regression there would block every unrelated pull request in the repository. A red X you have to look at is the right amount of pressure for that; a locked merge button is not.

Anyone who later disagrees can add the check — but they will be changing a decision that is written down, instead of repairing a contradiction.

What was checked

gh api repos/AndresSaa/process-wal/rulesets/20122828  → the seven contexts above
.github/workflows/ci.yml                              → node [22, 24] × 3 OS, include node 26 / ubuntu
npm run lint                                          → clean

README.md needed no change: it already says CI "runs" those legs and never claimed the Current one gates anything.

Contract impact

None — repository process documentation. No src/ change, no effect on the published package, and strict_required_status_checks_policy stays false, so this pull request and the other open ones still merge in any order.

The merge rule claimed the Current leg was part of the gate. It is not: the
ruleset requires the six LTS legs and lint-title, and Node Current runs
alongside them as a signal. Leaving the two disagreeing means the next person
to read the rule either believes a gate that does not exist, or adds one that
should not.

Keeping it advisory is the deliberate choice, so the reason is written down
too: an upstream regression in a release nobody deploys yet should not block
pull requests that have nothing to do with it.
@AndresSaa
AndresSaa merged commit 7c2593d into main Aug 8, 2026
12 checks passed
@AndresSaa
AndresSaa deleted the docs/name-the-ci-legs-that-gate-a-merge branch August 8, 2026 16:58
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