Skip to content

refactor(ci): relabel the blocking checks πŸ”΄ β€” they were badged 🟑 while required - #56

Merged
hyperpolymath merged 1 commit into
mainfrom
refactor/retier-blocking-checks
Aug 5, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
refactor/retier-blocking-checks

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

The gate-tier invariant lint found checks carrying the 🟑 CHECK: prefix that are, in fact, required status checks.

The label was lying in the reassuring direction, which is the dangerous one. The taxonomy defines 🟑 as "red is a question, not a stop" β€” so a contributor reads the badge, treats a failure as advisory, and then cannot merge.

Relabelled to match reality (only the ones this repository actually requires β€” the invariant is per-repo, so the same workflow can legitimately stay 🟑 elsewhere):

before after
🟑 Check: Governance metadata πŸ”΄ Gate: Governance metadata
🟑 Check: OpenSSF best-practices πŸ”΄ Gate: OpenSSF best-practices
🟑 Check: Hypatia baseline security scan πŸ”΄ Gate: Hypatia baseline security scan

Enforcement is unchanged

This edits the workflow name: only. A required status check matches on the context, which is the job name β€” so relabelling cannot strand a rule or create a phantom. Nothing starts or stops blocking because of this commit; the board simply stops misdescribing what already blocks.

Why this needed a lint to find

Nobody audits a yellow badge. It reads as informational and the eye moves on. The mismatch is only visible by comparing the workflow list against the ruleset β€” exactly the kind of cross-check that decays the moment it is left to attention rather than machinery.

That is the case for the invariant existing at all: it caught a class of error that reading the board could not, because the error was in the board.

Found by scripts/check-gate-tiers.sh β€” metadatastician/standards#578 (the lint) and #581 (the fix that made it resolve job contexts, without which it could not see this).

πŸ€– Generated with Claude Code

…e required

The gate-tier invariant lint found checks carrying the 🟑 CHECK: prefix that
are, in fact, required status checks. The label was lying in the reassuring
direction, which is the dangerous one: the taxonomy defines 🟑 as "red is a
question, not a stop", so a contributor reads the badge, treats a failure as
advisory, and then cannot merge.

Relabelled to match reality:

  🟑 Check: Governance metadata           -> πŸ”΄ Gate: ...
  🟑 Check: OpenSSF best-practices        -> πŸ”΄ Gate: ...
  🟑 Check: Hypatia baseline security scan -> πŸ”΄ Gate: ...

(only the ones this repository actually requires; the invariant is per-repo,
so the same workflow can legitimately be 🟑 elsewhere.)

ENFORCEMENT IS UNCHANGED. This edits the workflow `name:` only. A required
status check matches on the CONTEXT, which is the JOB name β€” so relabelling
cannot strand a rule or create a phantom. Nothing starts or stops blocking
because of this commit; the board simply stops misdescribing what already
blocks.

Worth stating why this needed a lint to find. Nobody audits a yellow badge β€”
it reads as "informational" and the eye moves on. The mismatch is only visible
by comparing the workflow list against the ruleset, which is exactly the kind
of cross-check that decays the moment it is left to attention rather than
machinery.

Found by scripts/check-gate-tiers.sh (metadatastician/standards#578, #581).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@hyperpolymath
hyperpolymath merged commit ccefb84 into main Aug 5, 2026
1 check passed
@hyperpolymath
hyperpolymath deleted the refactor/retier-blocking-checks branch August 5, 2026 13:26
@sonarqubecloud

sonarqubecloud Bot commented Aug 5, 2026

Copy link
Copy Markdown

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