Skip to content

Commit 39b6493

Browse files
committed
docs(pr-automation): the "WHICH LEVEL" prose says the level axis exists
The closing sentence of the "WHICH LEVEL" block said "This is prose, not a gate -- no check computes it" and "the two remaining levels are yours". Both halves stopped being true when #16055 landed the LEVEL axis in check-changeset-no-major.mjs: on a PR that declares clause ②, grading every moved package `patch` exits 1. The gate builds a pointer to this exact paragraph from four sites (:80, :773, :1457, :1518), so the reader most likely to arrive here is the author the gate has just refused -- sent by the gate to a paragraph denying the gate exists. The correction states the scope in the gate's own words (its header, the `judgeLevel` verdict table) and, in the same breath, the boundary the gate declares for itself at :1521 -- WHICH package received the widening is not something it can read, and it does not claim to. Without that half the prose would flip from "the gate does not exist" to "the gate is omniscient". Prose only: no step logic, condition or permission is touched, and check-changeset-no-major.mjs is not modified -- the gate is correct. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012GKcPZbMoGq7WPzKLfRBTU
1 parent d61139f commit 39b6493

1 file changed

Lines changed: 27 additions & 3 deletions

File tree

.github/workflows/pr-automation.yml

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -722,9 +722,33 @@ jobs:
722722
OPPOSITE bumps for the same additive act. The commit type is not the
723723
discriminator it looked like: it correlates with the act, and when
724724
they disagree the act wins. The 64 historical `patch` precedents are
725-
pre-rule and nothing is retro-fixed. This is prose, not a gate -- no
726-
check computes it; `check-changeset-no-major.mjs` refuses `major` and
727-
says why in its header, and the two remaining levels are yours.
725+
pre-rule and nothing is retro-fixed.
726+
727+
PART OF THIS IS A GATE, and which part is the difference between
728+
grading well and being refused. `check-changeset-no-major.mjs`
729+
refuses `major` and says why in its header. Since #16055 the SAME
730+
script also runs a LEVEL AXIS over the rule above, and that
731+
script's header states its scope: "a PR that DECLARES clause ② (a
732+
new key on a published payload) must grade AT LEAST ONE package
733+
whose published source it moves `minor` or above". It mechanizes
734+
this ruling "for exactly the PRs where the widening is already
735+
DECLARED, and for no others", and its `judgeLevel` verdict table
736+
spells both directions: `not-declared`, "the declaration reads
737+
`no`", exits 0; `enforce`, "declared `yes`, moved packages graded
738+
`patch` and NONE of them graded `minor` or above", exits 1. So on
739+
a PR that declares clause ②, grading `patch` across the board is
740+
refused; on every other PR the axis stands down and the two levels
741+
below `major` are yours, as they always were.
742+
743+
WHAT THE AXIS DOES NOT JUDGE, in its own words: "WHICH of the
744+
packages above received that widening is NOT something this gate
745+
can read, and it does not claim to. Clause ② is declared ONCE, FOR
746+
THE PR" -- neither the carrier label nor the declaration line in
747+
the PR body names a package. The axis cross-checks a declaration
748+
against the levels; it never reads the diff to find the act.
749+
Judging the act is still yours, this paragraph is still where the
750+
rule lives, and everything in it the axis does not reach is still
751+
prose.
728752
729753
2. It releases nothing (.github/, .claude/, skills/, docs/, content/,
730754
examples/, tests-only, and the like)

0 commit comments

Comments
 (0)