Repository navigation
ci(abi): gate the Idris2 proofs on every PR, with module-shaped paths - #279
hyperpolymath wants to merge 3 commits into
Conversation
The Idris2 modules are named PanicAttack.ABI.<M> but lived in src/abi/, so `idris2 --check src/abi/<M>.idr` failed on a module-name mismatch from any directory. No CI job checked them, which is how Stripping.idr sat on main not compiling while PROOF-NEEDS called it closed. - Move src/abi/*.idr to src/abi/PanicAttack/ABI/ (pure renames) and add src/abi/panic-attack-abi.ipkg listing the five modules. - Add the `abi-proofs` job to proven-tests.yml: every PR and push to main runs `idris2 --typecheck src/abi/panic-attack-abi.ipkg` and fails on a non-zero exit or any `Error:` line. It reuses the framework job's pinned installer and Idris2 cache key, and only the actions that workflow already locks, so actions.lock is unchanged. - PROOF-NEEDS.adoc: the gate is now the receipt; the first local receipt is kept; the gate row leaves the open list. EXPLAINME and PROOF-PROGRAMME point at the new paths. CHANGELOG history and the retired .a2ml files are left as they are. Checked locally: the package type-checks (Idris2 0.7.0); a planted false lemma and a planted missing import both fail it; the job's run step passes as written; actionlint 1.7.7 is clean; validate-sha-pins and check-allowed-actions pass with the checksum-pinned yq v4.54.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jma5ixtpeZyJRmfoSsC98u
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 16 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
# Conflicts: # PROOF-NEEDS.adoc
|



Stacked on #277.
The Idris2 modules are named
PanicAttack.ABI.<M>but lived insrc/abi/, soidris2 --check src/abi/<M>.idrfailed on a module-name mismatch from any directory. No CI job checked them. That is howStripping.idrsat onmainnot compiling whilePROOF-NEEDS.adoccalled it closed.Changes
src/abi/*.idr→src/abi/PanicAttack/ABI/, pure renames. Newsrc/abi/panic-attack-abi.ipkglists the five modules.abi-proofsjob in.github/workflows/proven-tests.yml, on every PR and on pushes tomain.idris2 --typecheck src/abi/panic-attack-abi.ipkg, and fails on a non-zero exit or anyError:line. Idris2 0.7.0 can print an error and still exit 0.actions.lockis unchanged.PROOF-NEEDS.adoc: the gate is now the receipt, the first local receipt is kept, and the gate row leaves the open list.EXPLAINME.adocandPROOF-PROGRAMME.adocpoint at the new paths. EXPLAINME's three descriptions also now say what each module actually shows; for PA1 that is "vacuous as stated".CHANGELOG.adochistory and the retired.a2mlfiles are left as they are.Verification
All of the following were run locally:
idris2 --typecheck src/abi/panic-attack-abi.ipkgpasses: 5/5 modules, exit 0, noError:line.Error:line.actionlint1.7.7 is clean.yqv4.54.1 thatci-integrity.ymluses:validate-sha-pins.sh: 0 unpinned refs.check-allowed-actions.sh: 0 tree-policy gaps..githooks/validate-actions-lock.sh, run on a pristine clone withgh-actions-lockv0.2.0 (checksum-verified) andmetadatastician/standardsat the pinned087f6bf, reports thatactions.lockis in sync.Generated by Claude Code