Skip to content

docs: 141 README blocks, not 140 - #71

Merged
fadion merged 1 commit into
masterfrom
docs/correct-block-count
Aug 27, 2026
Merged

fadion merged 1 commit into
masterfrom
docs/correct-block-count

Conversation

@fadion

@fadion fadion commented Aug 27, 2026

Copy link
Copy Markdown
Owner

A block was added in #66 to show that boolean operators coerce their operands, and the count in docs/compatibility.md was the one place not updated with it.

It is also the first change confined to docs/, which is what proves the CI restructure in #69 does what it claims: the four heavy jobs should report skipped rather than sitting pending. That is the difference between a required check that is satisfied and one that never arrives, and it is the only part of #69 that could not be tested by #69 itself.

fadion added a commit that referenced this pull request Aug 27, 2026
Requiring the seven job names deadlocked the first documentation-only pull
request, and not for the reason #69 anticipated.

Skipping works: lint, language and fuzz all reported "skipping" on #71,
which is a conclusion and satisfies a required check. But a skipped MATRIX
job reports its name unexpanded -- literally "test (${{ matrix.os }})"
rather than the three real ones -- so "test (ubuntu-latest)" and its two
siblings never arrived at all, and the pull request sat BLOCKED on checks
that cannot exist. Exactly the deadlock #69 set out to prevent, one level
down.

Requiring individual job names has a second problem worth fixing while
here: every required name is coupled to a job name, so renaming a job
silently stops protection enforcing it, with nothing anywhere to notice.

So: a `ci` job that always runs, gates on the other five, and fails if any
of them failed or was cancelled. Skipped is fine, since that is the
filtering working as intended. It always reports because it always runs,
whatever the jobs beneath it did.

Branch protection should require this one check and nothing else. Adding a
job later then needs no change to the ruleset, and renaming one cannot
quietly disable it.

The comparison pads both sides -- `case " $RESULTS " in *" failure "*` --
so a status that merely contains another as a substring cannot match by
accident. Checked against all-success, all-skipped, a failure, a
cancellation, and a failure among skips.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
A block was added in #66 to show that boolean operators coerce their
operands, and the count in compatibility.md was the one place not updated
with it.

Also the first change confined to docs/, which is what proves the CI
restructure in #69 does what it claims: the four heavy jobs should report
skipped rather than sitting pending, which is the difference between a
required check that is satisfied and one that never arrives.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@fadion
fadion force-pushed the docs/correct-block-count branch from 334ade5 to bc6f49d Compare August 27, 2026 22:02
@fadion
fadion merged commit d1f3820 into master Aug 27, 2026
6 checks passed
@fadion
fadion deleted the docs/correct-block-count branch August 27, 2026 22:03
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