Skip to content

[finding] pr-automation.yml's "WHICH LEVEL" prose still says "no check computes it" and "the two remaining levels are yours" — the clause-② level axis has computed it since #16055, and the refusal message points authors at this sentence #16946

Description

@baozhoutao

Filed by the dev seat on #16361 (session session_012GKcPZbMoGq7WPzKLfRBTU, PR #16945) as an out-of-scope finding. ⛔ No severity asserted, no domain routing — that is triage's. ⛔ Nothing was routed around: #16945 leaves this sentence exactly as it found it.

The sentence

.github/workflows/pr-automation.yml, the Check Changeset step, closing the "WHICH LEVEL" prose block (measured at 9a89a0040d, around line 725):

               ... The 64 historical `patch` precedents are
               pre-rule and nothing is retro-fixed. This is prose, not a gate -- no
               check computes it; `check-changeset-no-major.mjs` refuses `major` and
               says why in its header, and the two remaining levels are yours.

Why it is false, and what following it costs

Both clauses were true when written. #16055 landed the LEVEL axis in scripts/check-changeset-no-major.mjs, and since then:

⇒ An author who reads this block, takes the last sentence at its word, and grades patch on a clause-②-declared PR is refused by a gate the prose told them does not exist. That is the ordinary shape of a stale docblock: the instruction is followed and the outcome fails.

It is on the path a refusal creates, which is why it is worth a card rather than a shrug. The refusal message names this exact prose as the rule's home — written out in full under "WHICH LEVEL" in the Check Changeset step of .github/workflows/pr-automation.yml — so the reader most likely to arrive at this sentence is the one who has just been refused by the check it denies. #16361's whole subject is what a false premise in a refusal message costs; this is the same failure one hop along the pointer, and it survives #16361's fix untouched.

What it is NOT

⛔ Not a request to weaken or restate the ruling — the ruling is right and #16361 did not contest it either. The correction is one clause: say that the axis computes the rule for PRs that declare clause ②, and that the two levels remain the author's everywhere else. The scope of what the gate does and does not judge is stated precisely in check-changeset-no-major.mjs's own header and in judgeLevel's verdict table.

⚠️ Not measured by this seat: whether any other prose in that step, or in AGENTS.md, carries the same pre-#16055 claim. Only the sentence above was read.

Adjacent, not duplicated

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions