Skip to content

Commit d8c9614

Browse files
ci(idris2): flip build oracle to strict (closes #70 follow-up) (#118)
The Idris2 build oracle was landed non-blocking in PR #106 because several pre-existing typecheck/parse errors prevented `idris2 --build` from succeeding. All four blockers have since cleared: * #105 — Model.idr DecEq impossible-pattern + equivRefl hole * #109 — Composition.idr applyOp via Model primitives + cascade * #112 — RMO AuditEntry.proof rename (Idris2 0.8.0 reserved keyword) * #113 — RMO hardwareEraseIrreversible single-line signature * #117 — RMO overwriteIrreversible LTE + auditTrailCompleteness Elem import Local verification post-#117: $ idris2 --build proofs/idris2/valence-shell.ipkg 1/4: Building Filesystem.Model OK 2/4: Building Filesystem.RMO OK 3/4: Building Filesystem.Operations OK 4/4: Building Filesystem.Composition OK Flip the workflow's terminal `exit 0` → `exit 1`, upgrade the warning to an error, and document the precondition chain. Follow-up (owner action): add `verify-idris2 (Idris2 build oracle)` to the repo's branch protection required-checks list so the strict gate propagates to merge blocking. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent d5618f8 commit d8c9614

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

.github/workflows/idris-verification.yml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,14 @@ jobs:
114114
- name: Gate on build status
115115
if: steps.idris2-build.outputs.build_exit != '0'
116116
run: |
117-
echo "::warning::Idris2 build oracle FAILED (exit ${{ steps.idris2-build.outputs.build_exit }}). Tracked as pre-existing debt in #94."
118-
# Non-blocking by default. To make this a required gate once pre-
119-
# existing issues are fixed, change `exit 0` to `exit 1` below and
120-
# add to branch protection's required checks list.
121-
exit 0
117+
echo "::error::Idris2 build oracle FAILED (exit ${{ steps.idris2-build.outputs.build_exit }})."
118+
# Strict gate as of 2026-06-02. All four Idris2 modules
119+
# (Model, RMO, Operations, Composition) now build cleanly via:
120+
# * #105 (Model.idr DecEq impossible-pattern + equivRefl hole)
121+
# * #109 (Composition.idr applyOp via Model primitives + cascade)
122+
# * #112 (RMO AuditEntry.proof rename — Idris2 0.8.0 reserved keyword)
123+
# * #113 (RMO hardwareEraseIrreversible single-line signature)
124+
# * #117 (RMO overwriteIrreversible LTE + auditTrailCompleteness Elem import)
125+
# Add this job to branch protection's required checks list to
126+
# propagate strict-gating to merge.
127+
exit 1

0 commit comments

Comments
 (0)