Skip to content

Commit 5c0366a

Browse files
hyperpolymathclaude
andcommitted
ci: stop one red gate from disarming every gate below it
GitHub Actions skips all later steps in a job once one fails, so the doc-truthing failure silently disarmed the soundness-ledger gate, the capability-anchor gate and the formatting check. Those report `skipped`, not `failure` -- worse than red, because `skipped` reads as absence of news rather than as a gate that never ran. `if: ${{ !cancelled() }}` makes the four gates independent: each reports its own verdict regardless of the others, while a cancelled run still stops. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 3d25fb6 commit 5c0366a

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ jobs:
100100
# rationale + recovery instructions.
101101
run: ./tools/check-no-extension-ts.sh
102102
- name: Issue #176 — doc-truthing re-drift guard (DOC-01..09)
103+
if: ${{ !cancelled() }}
103104
# Single toolchain-free gate enforcing both halves of the doc-truthing
104105
# MONITOR: the presence invariants (DOC-04/05 — banner pointers, matrix
105106
# primacy + anti-over-claim section, STATE.a2ml mirror keys) AND the
@@ -108,6 +109,7 @@ jobs:
108109
# See tools/check-doc-truthing.sh.
109110
run: ./tools/check-doc-truthing.sh
110111
- name: Soundness-ledger anti-staleness gate
112+
if: ${{ !cancelled() }}
111113
# docs/SOUNDNESS.adoc is the single source of truth for soundness-hole
112114
# status. This gate fails if the ledger loses its primacy declaration or
113115
# freshness stamp, if any test fixture it names as an anchor goes
@@ -116,13 +118,15 @@ jobs:
116118
# See tools/check-soundness-ledger.sh.
117119
run: ./tools/check-soundness-ledger.sh
118120
- name: Capability-matrix test-anchor gate
121+
if: ${{ !cancelled() }}
119122
# docs/CAPABILITY-MATRIX.adoc anchors each feature-readiness claim to an
120123
# executable test ("== Test anchors"). This gate fails if that section
121124
# disappears or if any test it names goes missing — so a "works" status
122125
# row cannot outlive the test that backs it.
123126
# See tools/check-capability-anchors.sh.
124127
run: ./tools/check-capability-anchors.sh
125128
- name: Check formatting
129+
if: ${{ !cancelled() }}
126130
run: opam exec -- dune build @fmt
127131
lint:
128132
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)