Repository navigation
Conversation
The DocsState key hashed lakefile.toml together with the toolchain and manifest pins, and its only restore key kept that hash. Every lakefile edit (11 since September) therefore discarded all saved docInfo, forcing a cold analysis of 31k modules that takes more than one daily run. Split lakefile.toml into its own key segment and add a fallback restore key without it. Lake still rebuilds any docInfo whose trace changed, and the analysis cursor identity still covers lakefile.toml, so a fallback restore restarts the cursor while reusing every trace that stayed valid. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Proof profile (new / modified Lean files)No added or modified Lean files under Advisory only — never blocks merge. |
|
User authorization for this workflow change is recorded for the permanent reviewer in Vilin97/lean-pool-automation#14 (merged as e65f8fa2e). |
|
Advisory cross-file review against Lean Pool's supervisory rubric. This is not by itself a significance, source-verification, or merge verdict. [Medium impact] The PR appears safe to merge; no actionable issue was found. SummarySeparates the root
Reviews (1) · Last reviewed commit: "fix(docs): reuse documentation checkpoin..." · Reviewed by Greptile |
Vilin97
left a comment
There was a problem hiding this comment.
{
"summary": "Technical source review at 89f3c8a: split the pool lakefile hash into a separate documentation-checkpoint key segment, trying the same configuration before a broader fallback. The cursor still hashes the lakefile, rejects stale completion and revisits every current module through Lake's trace checks. Two cache-contract tests and a real-consumer cursor-reset probe passed. The first rollout can still miss old-format caches; no hosted recovery or performance gain is established. Direct scoped workflow authorization is verified; current-head CI and normal protected integration remain separate.",
"assessment": {
"scope": "Documentation checkpoint cache-key fallback and contract test",
"introduces_tech_debt": false,
"maintainability": "improved",
"brittleness": "unchanged",
"risk": "low",
"assessment_one_sentence": "Allows more checkpoint reuse while retaining current-input, dependency-pin, trace and full-completion validation."
},
"verdict": "approve",
"findings": []
}
Follow-up to #759.
Problem
The
DocsStatecheckpoint key hashedlakefile.tomltogether with the toolchain and manifest pins, and its only restore key kept that same hash. Everylakefile.tomledit therefore threw away all saved docInfo. With 31,178 pool modules, a cold analysis needs more than one daily run (about 24k modules fit in the four 90-minute stages), so a lakefile edit delays the next deploy by at least a day.lakefile.tomlhas changed 11 times since September, including #712 and #751 today.Change
lakefile.tomlinto its own key segment:DocsState-v1-<os>-<toolchain+manifest+docbuild>-<lakefile>-<run>-<attempt>-<stage>.lakefile.toml.Why it's safe
warningAsErrorchanges still rebuild every pool module, as they should.input_identitystill hasheslakefile.toml, so a fallback restore resets the analysis cursor and the render gate still requires a full pass over the current snapshot.The gain is for lakefile edits that leave build traces alone, such as adding an executable, changing
globs, or retiring a library. Four of the last 11 edits were like that.Testing
uv run --group test pytest tests/test_ci_cache_contract.py tests/test_documentation.py: 97 passed.test_native_build_failure_stops_child_writers[True]failed once and then passed on 3 reruns; it's flaky and this change doesn't touch it.ruff check,ruff format --check, andactionlintpass.🤖 Generated with Claude Code