Repository navigation
Cache exposition extraction and reuse Lean CI builds for docs - #450
Conversation
|
Advisory cross-file review against Lean Pool's supervisory rubric. This is not by itself a significance, source-verification, or merge verdict. The implementation has no newly identified correctness defect, but the unresolved repository-authorization concern for the workflow changes should still be addressed before merging. Findings
SummaryThis PR separates stable Lean dependency caches from pool-build caches, reuses compatible CI build artifacts in documentation jobs, and adds validated per-project exposition extraction caching.
Reviews (8) · Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." |
An extractor that exits successfully but writes no records must not be published or cached: every indexed project declares at least one result and one module, so an empty JSONL file is a silent extraction failure. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Approved at Scope. Non-content CI/tooling change, correctly separated from content: five workflows, two new Python modules ( What I checked.
Residual risk, non-blocking. The first Merging by protected squash. |
Recent documentation runs spent 137–146 minutes re-extracting every exposition project, plus 88–101 minutes rebuilding documentation data when caches were evicted. Two per-commit Lean caches were about 5 GiB each against the repository's 10 GB cache limit.
This change:
All projects and existing proof, warning, lint, quality, minimal-file, and documentation checks still run. A separate prerequisite commit removes stale attribution entries for the already-deleted ForwardEuler and SpecialNumbers projects and regenerates NOTICE, fixing the existing Python test failure on main.
Validation: 427 Python tests pass; Ruff lint/format, actionlint across all workflows, ShellCheck, and
git diff --checkpass. A real SumDifferenceExponent build/extraction produced identical output hashes on cold, cached, and forced-refresh runs. Its cached read took <1 ms versus 5–13 seconds for extraction. Packaging/restoring the real Lean build preserves a successful incrementallake build. The live GitHub lookup selected the expected current PR CI run.The first run must seed the new cache namespaces. Full-pool savings should be measured after the main-branch cache is populated; the small-project timing is not a full-CI benchmark. See
python/ci-performance.mdfor evidence, cache ownership, fallback behavior, and diagnostics.Separate infrastructure follow-up to #415; no formalization files are changed.