Skip to content

skill(ci-gates) 359: read the first failing step, and what the exit code is made of - #2921

Merged
gHashTag merged 3 commits into
masterfrom
w752
Aug 29, 2026
Merged

skill(ci-gates) 359: read the first failing step, and what the exit code is made of#2921
gHashTag merged 3 commits into
masterfrom
w752

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Two cheap questions, both answered wrong here.

What did the workflow reach?

workflow runs successes stopped at
coq-proofs.yml 62 0 opam update, step 2 of 5 — step 3 calls coqc
brain-seal-refresh.yml 8 0 git push to master, answered GH013 by this repo's ruleset

Neither needs a fix to what it checks. Reading only the last line of the log says
"Coq proofs are broken"; the truth is that no Coq proof has ever been read.

What is the exit code made of? l1-traceability.yml's L3 PURITY step, inside
one of the four workflows that can block a merge:

  • $BASE_BRANCH is computed in the two steps above; each run: is a fresh
    shell, and this one lost the env: block → git diff origin/..HEADfatal
  • if a | b | head returns head's status → the warning branch is
    unconditional and the green branch has never executed

Issues: #2914, #2915, #2917, #2919, #2920.

Why they survive

  • ::warning:: never fails a run, so a fabricated verdict inside a required
    workflow lasts indefinitely.
  • --min-runs 50 hid four of six, including the one that cannot work by
    construction. Few runs is not few enough to be safe.
  • state=="active" is the API's word: 61 registrations against 48 files, and
    one phantom carries 31 failures — more than four of the six real ones.
  • Apple's grep -P is not GNU's, so reproducing a runner's grep step on
    macOS measures the wrong thing.

Refs #2914
Refs #2917
Refs #2919

…ode is made of

Two cheap questions, both answered wrong across this repository.

WHAT DID IT REACH? coq-proofs.yml has failed 62 of 62 at `opam update` -- step 2
of 5, and step 3 is the one that calls `coqc`. Thirteen files, never compiled by
anything. brain-seal-refresh.yml has failed 8 of 8 across five months because its
last step is a `git push` to master and this repository's own ruleset answers
GH013. Neither needs a fix to what it checks; both stop before the check.

WHAT IS THE EXIT CODE MADE OF? l1-traceability.yml's L3 PURITY step, inside one
of the four workflows that can block a merge, reads `$BASE_BRANCH` in a fresh
shell where it is empty, and tests `a | b | head`, which returns head's status.
The warning branch was unconditional and the green branch has never executed.

The section also records why these survive: `::warning::` never fails a run, so a
fabricated verdict inside a required workflow lasts indefinitely; `--min-runs 50`
hid four of six dead gates including the structurally impossible one; and
`state=="active"` is the API's word, not the repository's -- 61 registrations
against 48 files.

And one instrument note: Apple's `grep -P` does not behave like GNU's, so
reproducing a runner's `grep -P` step on macOS measures the wrong thing.
Substitute a matcher you control, prove the branching, keep the runner's dialect
in the workflow.

Refs #2914
Refs #2917
Refs #2919
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-29 23:29:30 UTC

Summary

Status Count
Total Open PRs 10
PRs with Failing Checks 7
PRs with All Checks Green 3
READY 1
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=82e020cf95b2 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

1 similar comment
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-29 23:37:26 UTC

Summary

Status Count
Total Open PRs 9
PRs with Failing Checks 7
PRs with All Checks Green 2
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=82e020cf95b2 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-29 23:38:37 UTC

Summary

Status Count
Total Open PRs 9
PRs with Failing Checks 7
PRs with All Checks Green 2
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=82e020cf95b2 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 8dcda91 into master Aug 29, 2026
25 checks passed
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