Repository navigation
CI: build with warnings as errors, axiom audit, zizmor; style rules - #23
Merged
Merged
Conversation
- .github/workflows/ci.yml: on pull requests and main, check the sources, build with lake build --wfail (leanprover/lean-action, Mathlib cache) and audit the axioms of every endpoint printed under src/Tests. - .github/workflows/zizmor.yml: audit the workflows with zizmor. - .github/dependabot.yml: weekly updates of the pinned actions, with a seven-day cooldown. - scripts/check-sources.sh: no axiom declarations, native evaluation, implemented_by/extern bindings or heartbeat and recursion overrides. - scripts/check-axioms.sh: every #print axioms under src/Tests stays within propext, Classical.choice and Quot.sound. - AGENTS.md: Mathlib's style guide and naming conventions, with this repository's exceptions; the verification commands are the CI steps. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E7GPy1oUx164NSZsxJT3N9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The repository had no CI. This adds it, secures the workflows, and records the style rules in AGENTS.md. It touches only
.github/,scripts/andAGENTS.md, so the open stack (#3 ← #4 ← #21 ← #22) picks it up on its next rebase without conflicts.Units
.github/workflows/ci.yml: on pull requests (any base, so stacked PRs are checked) and onmain:scripts/check-sources.sh;lake build --wfailthroughleanprover/lean-actionwith the Mathlib cache (any warning fails, includingdeclaration uses 'sorry');scripts/check-axioms.sh.scripts/check-sources.sh: noaxiomdeclarations, nonative_decide/bv_decide/Lean.ofReduceBool, no@[implemented_by]/@[extern], nomaxHeartbeats/maxRecDepth/synthInstance.maxSize.scripts/check-axioms.sh: runs every file undersrc/Testscontaining#print axioms(10 files, 490 endpoints onmain) and fails on any axiom outsidepropext,Classical.choice,Quot.sound,sorryAxincluded. It finds the audit files itself, so new audits are covered without editing the script..github/workflows/zizmor.yml: zizmor 1.30.1 on the workflows; findings fail the job..github/dependabot.yml: weekly updates of the pinned actions, grouped, with a seven-day cooldown.AGENTS.md: a Style section (Mathlib's style guide and naming conventions, with this repository's exceptions; lines of at most 100 characters; new and changed code passes Mathlib's standard linter set). The Verification section now lists the CI steps.Workflow hardening: top-level
permissions: {}, per-jobcontents: read(CI) or none (zizmor); actions pinned to commit hashes (actions/checkoutv7.0.1,leanprover/lean-actionv1.6.1,zizmorcore/zizmor-actionv0.6.4);persist-credentials: false; nopull_request_target; concurrency groups; timeouts.Review checks
scripts/check-sources.shpasses onmain.lake build --wfailonmain: 2873 jobs, no warnings.scripts/check-axioms.shonmain: 490 endpoints, all within the envelope; a probetheorem probeSorry : False := sorrywith#print axiomsmakes it fail withsorryAx.shellcheck scripts/*.shclean;zizmor1.30.1 reports nothing at the regular, pedantic and auditor personas.Not in this PR
weak.linter.mathlibStandardSetin the lakefile, and the cleanup it needs (on Distinguisher behaviors and absorption; the AE proof in Banfi's steps #3's tree: 589 long lines, 78#print/#evalin tests, 65open Classical, 39show, 22multiGoal, 22flexible, 25 unusedFintype/DecidableEqarguments, 6 other). A separate PR after the stack lands.main(require a pull request and this CI, block force-pushes and deletion). Repository settings, applied by an admin.leancheckerand a downstream build ofcbc-mac-cc/chachapoly-cc.🤖 Generated with Claude Code
https://claude.ai/code/session_01E7GPy1oUx164NSZsxJT3N9