Skip to content

fix: allowlist long proofs + add elan curl retry#1671

Merged
Th0rgal merged 1 commit intocodex/reduce-sorries-pass-5from
fix/ci-proof-length-and-elan-retry
Mar 26, 2026
Merged

fix: allowlist long proofs + add elan curl retry#1671
Th0rgal merged 1 commit intocodex/reduce-sorries-pass-5from
fix/ci-proof-length-and-elan-retry

Conversation

@Th0rgal
Copy link
Copy Markdown
Member

@Th0rgal Th0rgal commented Mar 26, 2026

Summary

  • Allowlist 6 long proofs in scripts/check_proof_length.py that were introduced by the sorry-reduction pass 5 work on this branch (codex/reduce-sorries-pass-5) but not added to the allowlist, causing make check to fail on every CI run
  • Add --retry 3 --retry-delay 5 to the elan-init.sh curl download in .github/actions/setup-lean/action.yml to mitigate intermittent HTTP 429 rate-limiting from raw.githubusercontent.com that has been breaking macro-fuzz CI shards

Proofs added to allowlist

Theorem Lines File
stmtListGenericCore_of_supportedStmtList_tstoreSingle_of_surface 222 GenericInduction.lean
compiledStmtStep_setStructMember2_singleSlot_of_slotSafety 160 GenericInduction.lean
compiledStmtStep_tstore_single_preserves 115 GenericInduction.lean
stmtListGenericCore_singleton_tstore_single 109 GenericInduction.lean
compileStmt_ok_any_scope_aux 97 FunctionBody.lean
compiledStmtStep_mstore_single_preserves 97 GenericInduction.lean

CI failures addressed

  1. check_proof_length.py failure (every run): 6 proofs exceed the 50-line hard limit without allowlist entries — blocks the checks job which gates all downstream CI
  2. Elan HTTP 429 (intermittent): parallel CI jobs hit GitHub's rate limit when downloading elan-init.sh, causing macro-fuzz shards and build jobs to fail

Test plan

  • python3 scripts/check_proof_length.py passes locally
  • make check passes locally
  • CI passes on this PR

🤖 Generated with Claude Code


Note

Low Risk
Low risk: changes are confined to CI tooling (GitHub Action and a proof-length gate) and only relax a lint-style check plus add network retries, without affecting runtime logic.

Overview
Improves CI stability by adding retries (--retry 3 --retry-delay 5) to the curl download of elan-init.sh in .github/actions/setup-lean/action.yml to reduce flaky failures from transient HTTP errors/rate limiting.

Unblocks make check by extending scripts/check_proof_length.py’s ALLOWLIST with several newly introduced long proofs (with justification comments), so the proof-length gate no longer fails on these mechanically long theorems.

Written by Cursor Bugbot for commit a08d3dc. This will update automatically on new commits. Configure here.

…url retry

Add the 6 proofs introduced by PR #1670 that exceed the 50-line hard
limit to the check_proof_length.py allowlist — these are mechanical
compiled-step bridges for tstore/mstore singletons, struct-member-2
slot-safety, and a FunctionBody scope-threading aux lemma.

Also add --retry 3 --retry-delay 5 to the elan-init.sh curl download
in .github/actions/setup-lean/action.yml to mitigate intermittent
HTTP 429 rate-limiting failures from raw.githubusercontent.com that
have been breaking macro-fuzz CI shards.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Th0rgal Th0rgal merged commit 13fd9fa into codex/reduce-sorries-pass-5 Mar 26, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants