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.
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/CHANGELOG.md +20 -0
- {lean_runtime-2.7.0/lean_runtime.egg-info → lean_runtime-2.8.0}/PKG-INFO +3 -2
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/README.md +2 -1
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/cli.md +19 -5
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/getting-started.md +6 -2
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/local-projects.md +9 -1
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/cli.py +327 -16
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/console.py +32 -11
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/diagnostics.py +1 -1
- lean_runtime-2.8.0/lean_runtime/header_cache.py +126 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/health.py +33 -0
- lean_runtime-2.8.0/lean_runtime/identifier_resolver.py +96 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/models.py +1 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/oci.py +9 -2
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/project_execution.py +41 -23
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/projects.py +30 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/runtime.py +76 -8
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/store.py +125 -22
- {lean_runtime-2.7.0 → lean_runtime-2.8.0/lean_runtime.egg-info}/PKG-INFO +3 -2
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime.egg-info/SOURCES.txt +4 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/pyproject.toml +1 -1
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/execution-v1.schema.json +3 -2
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_bundles.py +12 -2
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_cli.py +69 -6
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_console.py +43 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_diagnostics.py +9 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_events_health.py +1 -0
- lean_runtime-2.8.0/tests/test_header_cache.py +44 -0
- lean_runtime-2.8.0/tests/test_identifier_resolver.py +59 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_projects.py +34 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_store.py +15 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/LICENSE +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/MANIFEST.in +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/environments.toml +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/core-v4.32.2.lock.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/leancert-v4.30.0.5.lock.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/leancert-v4.31.0.lock.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/leancert-v4.32.2.4.lock.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/leancert-v4.33.0.lock.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/mathlib-v4.30.0.lock.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/mathlib-v4.31.0.lock.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/mathlib-v4.32.2.lock.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/catalog/locks/mathlib-v4.33.0.lock.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/README.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/lake-artifact-cache-4.33.0.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/mathlib-4.32.2.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/mathlib-4.32.2.toml +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/mathlib-4.33.0.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/compatibility/mathlib-4.33.0.toml +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/architecture.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/captures.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/case-study-v1.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/development.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/environments.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/index.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/lake-artifact-cache-design.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/portable-copies.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/project-publishing.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/python-api.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/ready-programs.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/standalone-files.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/trust-and-limitations.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/docs/v1-precision.md +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/examples/mathlib.toml +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/__init__.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/__main__.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/_git.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/_paths.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/backends.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/bundles.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/capsules.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/comparison.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/decisions.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/__init__.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/analyzer.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/api.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/candidate.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/catalog.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/catalog_build.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/catalog_cli.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/catalog_manifest.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/data/catalog.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/defaults.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/engine.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/errors.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/module_inventory.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/planner.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/policy.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/probe.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/py.typed +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/result.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/schema_resources.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/schemas/catalog-v1.schema.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/schemas/plan-v1.schema.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/discovery/schemas/result-v1.schema.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/environments.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/errors.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/events.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/facade.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/frontmatter.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/lake.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/lake_cache.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/lockfiles.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/locking.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/matrix.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/oci_protocol.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/packs.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/policies.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/profiling.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/programs.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/project_sharing.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/publisher_verification.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/py.typed +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/references.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/resolver.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/run_cli.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/schema_resources.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/serialization.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/shared_projects.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/specs.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/timings.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/toolchain_oci.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/toolchain_slim.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/toolchains.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/verification.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime/wire.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime.egg-info/dependency_links.txt +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime.egg-info/entry_points.txt +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime.egg-info/requires.txt +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/lean_runtime.egg-info/top_level.txt +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/mkdocs.yml +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/cleanup-v1.schema.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/comparison-v1.schema.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/inspect-v1.schema.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/matrix-v1.schema.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/profile-v1.schema.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/schemas/verify-v1.schema.json +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/announcement_gate.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/lake_cache_gate.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/registry_preflight.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/run_compatibility.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/run_v1_case_study.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/scripts/smoke_wheel.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/setup.cfg +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/conftest.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/e2e/test_real_discovery.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_analyzer.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_catalog.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_catalog_build.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_discovery_schema_resources.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_engine.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_planner.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/discovery/test_policy.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_backend.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_capsules.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_environment_integration.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_facade.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_frontmatter.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_git.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_interactive.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_lake_cache.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_lockfiles.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_models.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_multifile.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_oci_protocol.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_packs.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_paths.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_prebuilt_policy.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_programs.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_project_publish.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_references.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_run_cli.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_runtime.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_schema_resources.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_schemas.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_signatures.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_specs.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_toolchain_oci.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_toolchain_slim.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_toolchains.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_v1_precision.py +0 -0
- {lean_runtime-2.7.0 → lean_runtime-2.8.0}/tests/test_verification_inventory.py +0 -0
- {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.
|
|
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
|
|
65
|
-
lean-runtime --home /tmp/fresh
|
|
66
|
-
lean-runtime
|
|
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
|
|
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.
|
|
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.
|
|
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.
|