lean-runtime 2.7.0__tar.gz → 2.8.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/CHANGELOG.md +20 -0
  2. {lean_runtime-2.7.0/lean_runtime.egg-info → lean_runtime-2.8.0}/PKG-INFO +3 -2
  3. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/README.md +2 -1
  4. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/cli.md +19 -5
  5. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/getting-started.md +6 -2
  6. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/local-projects.md +9 -1
  7. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/cli.py +327 -16
  8. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/console.py +32 -11
  9. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/diagnostics.py +1 -1
  10. lean_runtime-2.8.0/lean_runtime/header_cache.py +126 -0
  11. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/health.py +33 -0
  12. lean_runtime-2.8.0/lean_runtime/identifier_resolver.py +96 -0
  13. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/models.py +1 -0
  14. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/oci.py +9 -2
  15. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/project_execution.py +41 -23
  16. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/projects.py +30 -0
  17. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/runtime.py +76 -8
  18. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/store.py +125 -22
  19. {lean_runtime-2.7.0 → lean_runtime-2.8.0/lean_runtime.egg-info}/PKG-INFO +3 -2
  20. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime.egg-info/SOURCES.txt +4 -0
  21. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/pyproject.toml +1 -1
  22. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/execution-v1.schema.json +3 -2
  23. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_bundles.py +12 -2
  24. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_cli.py +69 -6
  25. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_console.py +43 -0
  26. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_diagnostics.py +9 -0
  27. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_events_health.py +1 -0
  28. lean_runtime-2.8.0/tests/test_header_cache.py +44 -0
  29. lean_runtime-2.8.0/tests/test_identifier_resolver.py +59 -0
  30. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_projects.py +34 -0
  31. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_store.py +15 -0
  32. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/LICENSE +0 -0
  33. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/MANIFEST.in +0 -0
  34. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/environments.toml +0 -0
  35. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/core-v4.32.2.lock.json +0 -0
  36. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/leancert-v4.30.0.5.lock.json +0 -0
  37. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/leancert-v4.31.0.lock.json +0 -0
  38. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/leancert-v4.32.2.4.lock.json +0 -0
  39. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/leancert-v4.33.0.lock.json +0 -0
  40. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/mathlib-v4.30.0.lock.json +0 -0
  41. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/mathlib-v4.31.0.lock.json +0 -0
  42. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/mathlib-v4.32.2.lock.json +0 -0
  43. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/mathlib-v4.33.0.lock.json +0 -0
  44. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/README.md +0 -0
  45. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/lake-artifact-cache-4.33.0.json +0 -0
  46. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/mathlib-4.32.2.json +0 -0
  47. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/mathlib-4.32.2.toml +0 -0
  48. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/mathlib-4.33.0.json +0 -0
  49. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/mathlib-4.33.0.toml +0 -0
  50. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/architecture.md +0 -0
  51. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/captures.md +0 -0
  52. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/case-study-v1.md +0 -0
  53. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/development.md +0 -0
  54. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/environments.md +0 -0
  55. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/index.md +0 -0
  56. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/lake-artifact-cache-design.md +0 -0
  57. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/portable-copies.md +0 -0
  58. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/project-publishing.md +0 -0
  59. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/python-api.md +0 -0
  60. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/ready-programs.md +0 -0
  61. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/standalone-files.md +0 -0
  62. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/trust-and-limitations.md +0 -0
  63. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/v1-precision.md +0 -0
  64. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/examples/mathlib.toml +0 -0
  65. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/__init__.py +0 -0
  66. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/__main__.py +0 -0
  67. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/_git.py +0 -0
  68. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/_paths.py +0 -0
  69. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/backends.py +0 -0
  70. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/bundles.py +0 -0
  71. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/capsules.py +0 -0
  72. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/comparison.py +0 -0
  73. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/decisions.py +0 -0
  74. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/__init__.py +0 -0
  75. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/analyzer.py +0 -0
  76. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/api.py +0 -0
  77. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/candidate.py +0 -0
  78. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/catalog.py +0 -0
  79. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/catalog_build.py +0 -0
  80. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/catalog_cli.py +0 -0
  81. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/catalog_manifest.py +0 -0
  82. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/data/catalog.json +0 -0
  83. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/defaults.py +0 -0
  84. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/engine.py +0 -0
  85. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/errors.py +0 -0
  86. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/module_inventory.py +0 -0
  87. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/planner.py +0 -0
  88. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/policy.py +0 -0
  89. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/probe.py +0 -0
  90. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/py.typed +0 -0
  91. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/result.py +0 -0
  92. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/schema_resources.py +0 -0
  93. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/schemas/catalog-v1.schema.json +0 -0
  94. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/schemas/plan-v1.schema.json +0 -0
  95. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/schemas/result-v1.schema.json +0 -0
  96. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/environments.py +0 -0
  97. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/errors.py +0 -0
  98. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/events.py +0 -0
  99. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/facade.py +0 -0
  100. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/frontmatter.py +0 -0
  101. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/lake.py +0 -0
  102. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/lake_cache.py +0 -0
  103. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/lockfiles.py +0 -0
  104. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/locking.py +0 -0
  105. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/matrix.py +0 -0
  106. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/oci_protocol.py +0 -0
  107. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/packs.py +0 -0
  108. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/policies.py +0 -0
  109. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/profiling.py +0 -0
  110. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/programs.py +0 -0
  111. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/project_sharing.py +0 -0
  112. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/publisher_verification.py +0 -0
  113. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/py.typed +0 -0
  114. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/references.py +0 -0
  115. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/resolver.py +0 -0
  116. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/run_cli.py +0 -0
  117. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/schema_resources.py +0 -0
  118. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/serialization.py +0 -0
  119. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/shared_projects.py +0 -0
  120. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/specs.py +0 -0
  121. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/timings.py +0 -0
  122. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/toolchain_oci.py +0 -0
  123. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/toolchain_slim.py +0 -0
  124. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/toolchains.py +0 -0
  125. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/verification.py +0 -0
  126. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/wire.py +0 -0
  127. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime.egg-info/dependency_links.txt +0 -0
  128. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime.egg-info/entry_points.txt +0 -0
  129. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime.egg-info/requires.txt +0 -0
  130. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime.egg-info/top_level.txt +0 -0
  131. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/mkdocs.yml +0 -0
  132. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/cleanup-v1.schema.json +0 -0
  133. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/comparison-v1.schema.json +0 -0
  134. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/inspect-v1.schema.json +0 -0
  135. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/matrix-v1.schema.json +0 -0
  136. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/profile-v1.schema.json +0 -0
  137. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/verify-v1.schema.json +0 -0
  138. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/announcement_gate.py +0 -0
  139. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/lake_cache_gate.py +0 -0
  140. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/registry_preflight.py +0 -0
  141. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/run_compatibility.py +0 -0
  142. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/run_v1_case_study.py +0 -0
  143. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/smoke_wheel.py +0 -0
  144. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/setup.cfg +0 -0
  145. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/conftest.py +0 -0
  146. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/e2e/test_real_discovery.py +0 -0
  147. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_analyzer.py +0 -0
  148. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_catalog.py +0 -0
  149. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_catalog_build.py +0 -0
  150. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_discovery_schema_resources.py +0 -0
  151. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_engine.py +0 -0
  152. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_planner.py +0 -0
  153. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_policy.py +0 -0
  154. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_backend.py +0 -0
  155. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_capsules.py +0 -0
  156. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_environment_integration.py +0 -0
  157. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_facade.py +0 -0
  158. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_frontmatter.py +0 -0
  159. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_git.py +0 -0
  160. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_interactive.py +0 -0
  161. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_lake_cache.py +0 -0
  162. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_lockfiles.py +0 -0
  163. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_models.py +0 -0
  164. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_multifile.py +0 -0
  165. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_oci_protocol.py +0 -0
  166. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_packs.py +0 -0
  167. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_paths.py +0 -0
  168. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_prebuilt_policy.py +0 -0
  169. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_programs.py +0 -0
  170. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_project_publish.py +0 -0
  171. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_references.py +0 -0
  172. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_run_cli.py +0 -0
  173. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_runtime.py +0 -0
  174. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_schema_resources.py +0 -0
  175. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_schemas.py +0 -0
  176. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_signatures.py +0 -0
  177. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_specs.py +0 -0
  178. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_toolchain_oci.py +0 -0
  179. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_toolchain_slim.py +0 -0
  180. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_toolchains.py +0 -0
  181. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_v1_precision.py +0 -0
  182. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_verification_inventory.py +0 -0
  183. {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_verification_probe.py +0 -0
@@ -2,6 +2,26 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 2.8.0 - 2026-08-14
6
+
7
+ - Cut repeated project-check latency with capability-probed Lean header snapshots;
8
+ `check --watch` rechecks on save, while `check --repeat` and `check --across`
9
+ absorb the common profile/matrix workflows without removing legacy aliases.
10
+ - Suggest exact-workspace declarations after coded unknown-identifier diagnostics
11
+ using persisted `.ilean` indexes from the pinned dependency graph.
12
+ - Make `init --mathlib-version VERSION` unambiguous, preserve common repository
13
+ scaffolding, optionally generate matching CI with `--ci`, and retain the old
14
+ `--mathlib` spelling as a validated compatibility alias.
15
+ - Add `project scan/attach/detach/update`, `publish KIND`, `finalize KIND`, and
16
+ `copy save/open` namespaces while retaining existing command spellings for
17
+ automation.
18
+ - Give environments and doctor human output plus `--json`, add `doctor --fix`,
19
+ fingerprinted storage accounting with `storage --verify`, cleanup nudges,
20
+ `clean --keep-last` retention, curated help, and generated Bash/Zsh/Fish
21
+ completions.
22
+ - Report cumulative frame and byte counters while restoring sparse capsules, so
23
+ both terse and verbose cold-start output shows measurable forward progress.
24
+
5
25
  ## 2.7.0 - 2026-08-14
6
26
 
7
27
  - Keep newly initialized project roots narrow: the generated root imports its
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lean-runtime
3
- Version: 2.7.0
3
+ Version: 2.8.0
4
4
  Summary: Run Lean 4 proofs from Python or standalone files
5
5
  Author: Alejandro Radisic
6
6
  License-Expression: Apache-2.0
@@ -188,6 +188,7 @@ default, and exact dependencies are shared automatically:
188
188
  lean-runtime init MyProof
189
189
  cd MyProof
190
190
  lean-runtime check MyProof/Basic.lean
191
+ lean-runtime check MyProof/Basic.lean --watch
191
192
  # Check every declared local library, in Lake dependency order:
192
193
  lean-runtime check
193
194
  lean-runtime build
@@ -196,7 +197,7 @@ lean-runtime build
196
197
  `init` also writes an `AGENTS.md` with the project build, checking, dependency,
197
198
  and shared-package rules for coding agents. Pass `--no-agents` to omit it; an
198
199
  existing `AGENTS.md` is never overwritten. Use `--core` for no Mathlib, or
199
- `--mathlib 4.33.0` to select a cataloged release. `lean-runtime update`
200
+ `--mathlib-version 4.33.0` to select a cataloged release. `lean-runtime update`
200
201
  explicitly moves a project to the newest cataloged Mathlib after a preview.
201
202
 
202
203
  Running `lean-runtime init .` in an existing pinned Lake project adopts its
@@ -152,6 +152,7 @@ default, and exact dependencies are shared automatically:
152
152
  lean-runtime init MyProof
153
153
  cd MyProof
154
154
  lean-runtime check MyProof/Basic.lean
155
+ lean-runtime check MyProof/Basic.lean --watch
155
156
  # Check every declared local library, in Lake dependency order:
156
157
  lean-runtime check
157
158
  lean-runtime build
@@ -160,7 +161,7 @@ lean-runtime build
160
161
  `init` also writes an `AGENTS.md` with the project build, checking, dependency,
161
162
  and shared-package rules for coding agents. Pass `--no-agents` to omit it; an
162
163
  existing `AGENTS.md` is never overwritten. Use `--core` for no Mathlib, or
163
- `--mathlib 4.33.0` to select a cataloged release. `lean-runtime update`
164
+ `--mathlib-version 4.33.0` to select a cataloged release. `lean-runtime update`
164
165
  explicitly moves a project to the newest cataloged Mathlib after a preview.
165
166
 
166
167
  Running `lean-runtime init .` in an existing pinned Lake project adopts its
@@ -32,6 +32,19 @@ first-time download cannot expire the search. `--discovery-timeout` and
32
32
 
33
33
  All commands accept `--home PATH` before the subcommand to select a store.
34
34
 
35
+ For project iteration, `check FILE --watch` rechecks on save with warm native
36
+ import snapshots. `check FILE --repeat N` measures the same path, and
37
+ `check FILE --across matrix.toml` checks exact contexts. The older `profile`
38
+ and `matrix` commands remain compatibility aliases.
39
+
40
+ `storage` reads a fingerprinted ledger after its first inventory, so large
41
+ stores remain an instant-information command. `storage --verify` explicitly
42
+ rebuilds that ledger and prints a progress line because it must walk the store.
43
+ `doctor` is human-readable by default; `doctor --json` preserves automation and
44
+ `doctor --fix` applies its safe stale-staging and private-Elan remedies.
45
+ `clean --keep-last N` (or `LEAN_RUNTIME_CLEAN_KEEP_LAST`) retains the newest N
46
+ otherwise eligible unnamed environments in addition to the age threshold.
47
+
35
48
  ## One-shot package workflow
36
49
 
37
50
  ```bash
@@ -61,9 +74,9 @@ lean-runtime check Main.lean \
61
74
  lean-runtime prepare environment.toml --output environment.lock.json
62
75
  lean-runtime open environment.lock.json --name research-stack
63
76
  lean-runtime --library ghcr.io/owner/lean-environments download environment.lock.json
64
- lean-runtime save-copy research-stack --output research-stack.lean-environment
65
- lean-runtime --home /tmp/fresh open-copy research-stack.lean-environment --name research-stack
66
- lean-runtime build-and-publish environment.lock.json --publish-to ghcr.io/owner/lean-environments
77
+ lean-runtime copy save research-stack --output research-stack.lean-environment
78
+ lean-runtime --home /tmp/fresh copy open research-stack.lean-environment --name research-stack
79
+ lean-runtime publish environment environment.lock.json --publish-to ghcr.io/owner/lean-environments
67
80
  lean-runtime check research-stack Main.lean --json
68
81
  lean-runtime inspect research-stack --packages
69
82
  lean-runtime environments
@@ -79,9 +92,10 @@ lean-runtime clean --execute
79
92
 
80
93
  `clean` is a dry run unless `--execute` is supplied.
81
94
 
82
- `save-copy` creates a portable environment file. `open-copy` verifies its exact
95
+ `copy save` creates a portable environment file. `copy open` verifies its exact
83
96
  identity, package Git trees, computer compatibility, and Lean probe before
84
- making the environment available. See [Portable copies and environment
97
+ making the environment available. The former `save-copy` and `open-copy`
98
+ spellings remain compatibility aliases. See [Portable copies and environment
85
99
  libraries](portable-copies.md) for its trust boundary.
86
100
 
87
101
  ## Slim toolchains
@@ -21,17 +21,19 @@ shared exact dependencies:
21
21
  lean-runtime init MyProof
22
22
  cd MyProof
23
23
  lean-runtime check MyProof/Basic.lean
24
+ lean-runtime check MyProof/Basic.lean --watch
24
25
  lean-runtime check
25
26
  lean-runtime build
26
27
  ```
27
28
 
28
29
  By default, `init` writes an `AGENTS.md` explaining the project workflow and
29
30
  shared-dependency safety rules to coding agents. Pass `--no-agents` to omit it.
30
- An existing file is preserved. The generated root imports only the project's
31
+ An existing file is preserved. Pass `--ci` to generate a workflow that checks
32
+ the same exact committed project graph. The generated root imports only the project's
31
33
  local `Basic` module; add the narrow Mathlib imports each implementation file
32
34
  needs rather than paying for the all-Mathlib umbrella on every root import.
33
35
 
34
- Use `--mathlib 4.33.0` to select that release explicitly, or `--core` for a
36
+ Use `--mathlib-version 4.33.0` to select that release explicitly, or `--core` for a
35
37
  core-only library. The root project remains an ordinary mutable Lake project;
36
38
  its dependency sources and build artifacts are reused by other projects with
37
39
  the same exact graph.
@@ -81,6 +83,8 @@ lean-runtime scan ~/research
81
83
  ```
82
84
 
83
85
  `scan` only records exact local graphs as possible future zero-download seeds.
86
+ The converged spelling is `lean-runtime project scan`; `project attach`,
87
+ `project detach`, and `project update` group the other dependency-graph actions.
84
88
  Advanced bulk migration remains available through `attach`. See [Local Lake
85
89
  projects](local-projects.md) for detachment, storage estimates, and the complete
86
90
  safety model.
@@ -46,6 +46,7 @@ each repository's `.lake/packages`. New projects can start in shared mode:
46
46
  lean-runtime init MyProof
47
47
  cd MyProof
48
48
  lean-runtime check MyProof/Basic.lean
49
+ lean-runtime check MyProof/Basic.lean --watch
49
50
  lean-runtime check
50
51
  lean-runtime build
51
52
  ```
@@ -64,12 +65,19 @@ stays silent. Only root-project outputs enter this cache: locked dependencies
64
65
  continue to use the verified shared workspace, avoiding a second multi-gigabyte
65
66
  copy. `build` retains Lake's complete target semantics.
66
67
 
68
+ Repeated file checks reuse Lean's native header snapshots, keyed by the exact
69
+ toolchain, project identity, and import block. Body-only edits therefore avoid
70
+ reloading the unchanged import environment. `--watch` is a thin save loop over
71
+ the same ordinary check/result contract. Failed checks may add exact-graph
72
+ identifier hints derived from pinned `.ilean` indexes; raw Lean streams remain
73
+ unchanged.
74
+
67
75
  The generated files are a standard Lake project plus a small
68
76
  `lean-runtime.toml`. Root build outputs stay local; exact dependencies are
69
77
  shared. The generated root imports only its local `Basic` module, leaving
70
78
  implementation files free to select precise Mathlib modules. The newest stable
71
79
  cataloged Mathlib is selected by default. Select a
72
- release with `--mathlib 4.33.0`, or use `--core` for a core-only library.
80
+ release with `--mathlib-version 4.33.0`, or use `--core` for a core-only library.
73
81
  `init` also creates an `AGENTS.md` describing the safe
74
82
  build and dependency workflow unless `--no-agents` is passed; it never
75
83
  overwrites an existing guide.