Skip to content

fix: restore TauCeti caches with atomic downloads and retries - #664

Merged
kim-em merged 2 commits into
mainfrom
fix/tauceti-cache-download-recovery
Oct 22, 2026
Merged

kim-em merged 2 commits into
mainfrom
fix/tauceti-cache-download-recovery

Conversation

@kim-em

@kim-em kim-em commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

TauCeti cache restoration can fall back to compilation after an artifact download fails, aborting regeneration even when dependency pins are correct. Interrupted single-file downloads can also leave partial cache entries.

Use verbose cache-only restoration with one whole-step retry, plus a curl wrapper with bounded download retries, connection/stall/transfer limits, and atomic publication. Preserve complete diagnostics on failure and export the wrapper for subsequent trusted builds.

Validation: all 62 benchmark Python tests pass with the real-Lake test enabled, including HTTP/partial-transfer tests and a real-Lake restoration fixture. The fixture proves an interrupted transfer leaves no partial cache artifact and an unchanged-cache retry restores and imports the module without compilation. Script-level tests cover restoration retry/exhaustion, export propagation, and the existing pin mismatch guard. A dedicated CI workflow runs the new tests. Full pinned TauCeti restoration also passed locally in cache-only mode (14,602 jobs, no TauCeti compilation). Bash syntax, workflow lint, action-pin audit, and diff checks pass.

Depends on leanprover/lean-eval-submissions#2156 for the optional CURL export. Merge that PR first.

Refs leanprover/lean-eval-submissions#1894.

@kim-em

kim-em commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator Author

Please merge leanprover/lean-eval-submissions#2156 first. This PR exports CURL alongside the cache settings so subsequent trusted builds also get atomic downloads and retries; the submission-pipeline change accepts that optional export while retaining its own trusted wrapper.

@kim-em
kim-em merged commit 78f8a24 into main Oct 22, 2026
7 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.

1 participant