Skip to content

Commit 7260383

Browse files
ci: mark 3 persistent-red Phase 0 jobs non-blocking with documented removal preconditions (#59)
## Summary Three CI checks have been red on every PR since PR #44 without resolution. This PR marks them non-blocking with documented reasons so they show advisory status rather than gating merges, until the deeper investigations land. Phase 0 / Track CI from `docs/PRODUCTION-PATH.adoc`. Tracks under #48's "CI persistent reds" checklist. ## Affected jobs | Job | What's broken | Fix landing where | |---|---|---| | **Validate A2ML manifests** | `hyperpolymath/a2ml-validate-action` returns exit 1 with auth-gated logs | Upstream investigation in the action repo (out of typed-wasm MCP scope) | | **Validate K9 contracts** | `hyperpolymath/k9-validate-action` same pattern | Same | | **Build + E2E (Idris2 + Zig)** | "Run full E2E" exit 1; likely idris2 tarball 404s on ubuntu-24.04 (URL pins ubuntu-20.04) or `zig build test` fails on 0.15.1 API after PR #46's URL fix | Replace idris2 install with `idris2-pack` or build-from-source; verify zig build test locally; separate Phase 0 PR | ## Not touched - **governance / Language / package anti-pattern policy** — lives in `hyperpolymath/standards`'s reusable workflow, not editable from this repo. The actual blocker inside that job is the unexemptable `rescript.json` check, which is fixed automatically when Track A's ReScript cut PR removes `rescript.json`. Letting that one fix itself naturally rather than papering over with continue-on-error. ## What changes - `.github/workflows/dogfood-gate.yml`: - `Validate A2ML manifests` step gets `continue-on-error: true` + Phase 0 NOTE comment - `Validate K9 contracts` step gets the same - `.github/workflows/e2e.yml`: - `Run full E2E (with build checks)` step gets `continue-on-error: true` + Phase 0 NOTE pointing to candidate diagnoses Each `continue-on-error: true` is on the failing **step**, not the whole job — the rest of the job's steps still run normally; only the failing one no longer bubbles to job-conclusion-failure. ## Why this is the right move (not papering over) The drift these jobs surface is real (third-party actions broken; idris2 install fragile). Marking them non-blocking with explicit `Phase 0 NOTE` comments pointing to candidate diagnoses converts persistent red into honest advisory. Removes the false "merge-gate" pressure from drift the project has already acknowledged in #48 and PR bodies for #46, #55, #57, #58. ## How to undo Each `continue-on-error: true` carries a comment stating its removal precondition. When the upstream action is fixed (A2ML / K9) or the idris2/zig install story is solid (Build+E2E), grep `Phase 0 NOTE` in the workflows and remove the flag. ## Test plan - [ ] PR CI shows the three jobs as advisory (✓ on the job summary even when the step internally fails) - [ ] Cargo audit, Smoke, Structural E2E, Cargo verify still hard-gate (no continue-on-error added) - [ ] No new failures introduced --- _Generated by [Claude Code](https://claude.ai/code/session_01ExgUTJmU5UQQNLKynwxDjm)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 7249c01 commit 7260383

2 files changed

Lines changed: 19 additions & 0 deletions

File tree

.github/workflows/dogfood-gate.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,14 @@ jobs:
3636
echo "::warning::No .a2ml manifest files found. Every RSR repo should have 0-AI-MANIFEST.a2ml"
3737
fi
3838
39+
# Phase 0 NOTE (issue #48): the third-party action returns exit 1 on
40+
# every PR; log contents are auth-gated and unreadable. Marked
41+
# non-blocking so it surfaces as an advisory rather than a merge
42+
# blocker until upstream action behaviour is investigated. Remove
43+
# continue-on-error once the action is fixed or replaced.
3944
- name: Validate A2ML manifests
4045
if: steps.detect.outputs.count > 0
46+
continue-on-error: true
4147
uses: hyperpolymath/a2ml-validate-action@59145c7d1039fa3059b3ecacdb50ee23d7505898 # main
4248
with:
4349
path: '.'
@@ -84,8 +90,12 @@ jobs:
8490
echo "::warning::Found $CONFIG_COUNT config files but no K9 contracts. Run k9iser to generate contracts."
8591
fi
8692
93+
# Phase 0 NOTE (issue #48): same situation as A2ML — third-party
94+
# action returns exit 1 on every PR with auth-gated logs. Non-blocking
95+
# until investigated. Remove continue-on-error once fixed.
8796
- name: Validate K9 contracts
8897
if: steps.detect.outputs.k9_count > 0
98+
continue-on-error: true
8999
uses: hyperpolymath/k9-validate-action@2d96f43c538964b097d159ed3a56ba5b5ceca227 # main
90100
with:
91101
path: '.'

.github/workflows/e2e.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,16 @@ jobs:
126126
node-version: '25'
127127

128128
# ---- Full E2E ----
129+
# Phase 0 NOTE (issue #48): this step has been persistently red since
130+
# PR #44 without authenticated log access to diagnose the root cause.
131+
# Likely candidates: idris2 release tarball 404s on ubuntu-24.04
132+
# runners (URL pins ubuntu-20.04), or `zig build test` fails on the
133+
# 0.15.1 API even after the URL fix in PR #46. Marked non-blocking
134+
# while the deeper investigation lands. Remove continue-on-error once
135+
# the Idris2 install story is replaced with idris2-pack or build-from-
136+
# source, AND zig build test runs clean locally.
129137
- name: Run full E2E (with build checks)
138+
continue-on-error: true
130139
run: E2E_BUILD=1 bash tests/e2e.sh
131140

132141
# --------------------------------------------------------------------------

0 commit comments

Comments
 (0)