From 5fac1290e26933dfbe12c8fa04441411aed1316d Mon Sep 17 00:00:00 2001 From: Francois Lanusse Date: Sun, 27 Sep 2026 17:12:11 -0700 Subject: [PATCH] Refactor documentation around the full Lightcone research stack --- README.md | 71 +++-- docs/api/assets.md | 2 +- docs/api/compute.md | 57 ++++ docs/api/container.md | 2 +- docs/api/crate.md | 7 +- docs/api/index.md | 2 +- docs/api/materialize.md | 25 +- docs/api/sandbox.md | 6 +- docs/api/venue.md | 69 +---- docs/api/worker.md | 4 + docs/architecture.md | 66 +++-- docs/assets/uranometria.webp | Bin 0 -> 423736 bytes docs/cli/compute.md | 56 ++++ docs/cli/index.md | 34 ++- docs/cli/init.md | 12 +- docs/cli/materialize.md | 43 ++- docs/cli/run.md | 53 +++- docs/cli/status.md | 14 +- docs/contributing/extending.md | 6 +- docs/contributing/setup.md | 121 ++++---- docs/contributing/testing.md | 2 +- docs/index.md | 116 +++++--- docs/maintainer.md | 94 +++---- docs/stylesheets/extra.css | 284 ++++++++++++++++--- docs/user/agents.md | 129 +++++++++ docs/user/astra.md | 76 +++++ docs/user/cluster.md | 248 ++++++++++------- docs/user/concepts.md | 249 ++++++++--------- docs/user/getting-started.md | 490 +++++++++++---------------------- docs/user/glossary.md | 42 ++- docs/user/index.md | 91 ++---- docs/user/install.md | 184 +++++++------ docs/user/reporting.md | 89 ++++++ docs/user/sharing.md | 86 ++++++ docs/user/troubleshooting.md | 258 ++++++++--------- overrides/404.html | 11 + overrides/main.html | 16 ++ zensical.toml | 64 +++-- 38 files changed, 1940 insertions(+), 1239 deletions(-) create mode 100644 docs/api/compute.md create mode 100644 docs/assets/uranometria.webp create mode 100644 docs/cli/compute.md create mode 100644 docs/user/agents.md create mode 100644 docs/user/astra.md create mode 100644 docs/user/reporting.md create mode 100644 docs/user/sharing.md create mode 100644 overrides/404.html create mode 100644 overrides/main.html diff --git a/README.md b/README.md index 20f0b9e..85043b5 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,59 @@ # Lightcone Research Stack documentation -[![Docs](https://img.shields.io/github/actions/workflow/status/LightconeResearch/docs/docs.yml?branch=main&style=flat&label=docs&color=darkgreen)](https://docs.lightconeresearch.org) -[![License](https://img.shields.io/badge/License-BSD_3--Clause-426b78.svg?style=flat)](LICENSE) +User guides and reference material for the [Lightcone Research Stack](https://lightconeresearch.org/): the `lc` execution tools, research agent skills, and their integration with the external [ASTRA specification](https://astra-spec.org/latest/). -The **Lightcone Research Stack** is [Lightcone Research](https://lightconeresearch.org/)'s -tooling for research analyses described with [ASTRA](https://astra-spec.org/latest/) -(Agentic Schema for Transparent Research Analysis). You describe an analysis in an -`astra.yaml` specification; the stack validates it and takes care of the rest — -execution, environments, and provenance. +**[Read the documentation →](https://docs.lightconeresearch.org/)** -**→ Read the documentation at ** +## Start here -## Where to start +- [Install](https://docs.lightconeresearch.org/user/install/) — one CLI setup, with an optional agent plugin. +- [Your first analysis](https://docs.lightconeresearch.org/user/getting-started/) — run a complete local example and inspect its provenance. +- [Work with an agent](https://docs.lightconeresearch.org/user/agents/) — scope, implement, and resume a research project. +- [Meet the stack](https://docs.lightconeresearch.org/user/) — understand how the tools fit together. -- [Install](https://docs.lightconeresearch.org/user/install/) — uv, git, and the `lc` command -- [Getting started](https://docs.lightconeresearch.org/user/getting-started/) — your first analysis, from `lc init` to a published result -- [Core concepts](https://docs.lightconeresearch.org/user/concepts/) — projects, output identity, and how provenance is recorded -- [Running on a cluster](https://docs.lightconeresearch.org/user/cluster/) — SLURM, containers on HPC, and parallel filesystems -- [Troubleshooting](https://docs.lightconeresearch.org/user/troubleshooting/) — common errors and how to fix them +These docs currently target the upcoming explicit compute workflow. The installation guide pins a source revision that includes `lc compute`; the published `0.5.0rc4` release uses an earlier workflow. Keep installation instructions, tutorials, and command reference aligned when moving to a new release. -## Components +## Build locally -| Component | What it does | Repository | -| --- | --- | --- | -| **lightcone-cli** | The `lc` CLI: project scaffolding, locked environments, sandboxed execution, and the provenance layer | [LightconeResearch/lightcone-cli](https://github.com/LightconeResearch/lightcone-cli) | -| **astra-tools** | The SDK and `astra` CLI for ASTRA specifications: schema, validation, and evidence verification helpers | [LightconeResearch/astra-tools](https://github.com/LightconeResearch/astra-tools) | +With [uv](https://docs.astral.sh/uv/getting-started/installation/) installed: -## Feedback +```bash +uv sync --locked +uv run zensical serve +``` -The stack is in early alpha, and bug reports, design challenges, and use cases it -doesn't cover yet are welcome. Report a problem with a tool on that tool's -repository; report a problem with the documentation itself — a page that is wrong, -unclear, or out of date — [here](https://github.com/LightconeResearch/docs/issues). +Before submitting a change: -## License +```bash +uv run zensical build --clean --strict +``` + +Pull requests run the same strict build. Updates to `main` are deployed through GitHub Pages by [the docs workflow](.github/workflows/docs.yml). + +## Where to edit + +| Location | Purpose | +| --- | --- | +| `docs/index.md` | Stack landing page | +| `docs/user/` | Installation, tutorials, and task-oriented guides | +| `docs/cli/` | CLI command reference | +| `docs/api/`, `docs/architecture.md` | CLI implementation reference | +| `docs/contributing/`, `docs/maintainer.md` | Contributor guidance | +| `zensical.toml` | Navigation and site configuration | +| `docs/stylesheets/extra.css`, `overrides/` | Website-aligned typography, colors, and layout | + +The design follows [lightcone-website](https://github.com/LightconeResearch/lightcone-website): Quattrocento headings, Newsreader prose, Alegreya navigation, JetBrains Mono code, parchment surfaces, and antique-gold accents. The landing-page engraving is the same *Uranometria* (Bayer, 1603) asset used by the website. + +Check technical claims against the relevant source: + +- [lightcone-cli](https://github.com/LightconeResearch/lightcone-cli) — execution and provenance. +- [agent-skills](https://github.com/LightconeResearch/agent-skills) — plugin installation, skills, and hooks. +- [ASTRA documentation](https://astra-spec.org/latest/) and [astra-tools](https://github.com/LightconeResearch/astra-tools) — the external specification and validation tools. + +Preserve existing page URLs when reorganizing navigation. Keep advanced implementation details in the reference and contributor sections, and put a runnable path before optional setup. + +## Feedback and license + +Report documentation problems in [this repository's issues](https://github.com/LightconeResearch/docs/issues). Report tool behavior in the relevant tool's repository. The stack is in early alpha and feedback from real analyses is welcome. BSD 3-Clause — see [LICENSE](LICENSE). diff --git a/docs/api/assets.md b/docs/api/assets.md index b584bd9..d07dee7 100644 --- a/docs/api/assets.md +++ b/docs/api/assets.md @@ -15,7 +15,7 @@ Source: `src/lightcone/engine/assets.py`. | `classify(...)` | The one rule: `current` / `behind` / `stale`, with the why. Two callers — the worker and the read-only walk. | | `Verdict.calls_for_a_remake(refresh=)` | The one place a state becomes an action: `stale` always, `behind` only when asked. | | `data_version(path)` | Content hash of a directory or file — computed in the worker, before anything is annexed. | -| `Versions` | Per-run memo so a shared declared input hashes once, not once per dependent. | +| `Versions` | Memoizes content hashes within a classification or execution context. Separate worker processes do not share a mutable cache. | | `read(sidecar)` / `write(...)` | The manifest, `..manifest.json`. Both take the sidecar's own path, so a caller holding an output path has to say `manifest_path` out loud. | | `output_path(root, u, id, fmt)` | The output's file, guarded: any part that is not a single path component is refused, and so is a format that could not be an extension. | | `manifest_path(output)` | The sidecar beside it, named from the id alone — so it keeps its path, and its history, across a re-declared format. | diff --git a/docs/api/compute.md b/docs/api/compute.md new file mode 100644 index 0000000..322f9b9 --- /dev/null +++ b/docs/api/compute.md @@ -0,0 +1,57 @@ +# lightcone.engine.compute + +The allocation boundary shared by CLI lifecycle operations and execution. +`Compute` loads resource policy and obtains fresh native observations. +It owns no service, registry, or saved current-cluster selection. + +| Symbol | Contract | +|---|---| +| `Request.parse(...)` | Common exact/minimum CPU and memory requests, node count, walltime, startup class. | +| `Catalog.load(path)` | Ordered fixed shapes and stable connection namespaces; use the built-in local catalog only when the implicit default file is absent. | +| `Compute.plan(request)` | Select an eligible offer and freeze its native launch settings without allocation. | +| `Compute.launch(plan)` | Submit once and return a self-contained `Identity`. | +| `Compute.discover()` | Snapshots and per-connection errors, querying each authority once. | +| `Compute.status(id, wait=False, timeout=300)` | Native allocation state plus authenticated Dask readiness. | +| `Compute.down(id)` | Native termination independent of scheduler health. | +| `connect(id, timeout=10, config_path=None)` | Context manager borrowing a standard Dask client; closes the client, never the allocation. | +| `Provider` | `plan`, `launch`, `discover`, `inspect`, `connect`, `terminate`. | + +The built-in catalog exposes one `local` offer: one CPU, 1 GiB, one node, +fast startup, 30-minute default and two-hour maximum lifetime. It creates no +configuration file or allocation. Configured catalogs replace it completely. +Missing paths selected through an argument or `LC_COMPUTE_CONFIG`, unreadable +files, and invalid catalogs remain errors. Stable connection namespaces let +separate invocations discover and attach to the same local allocations. + +`local.py` and `slurm.py` implement the provider protocol. Adding an adapter means +adding one provider factory and its native mapping; `run` and `materialize` only +borrow clients through the common API. Provider settings stay behind that seam. +`runtime.py` owns private files, standard TLS material, and authenticated scheduler +identity checks. `local_runtime.py` and `slurm_bootstrap.py` compose stock Dask +components; they do not define custom workers or membership protocols. + +`Snapshot` distinguishes native allocation evidence from scheduler observations. +No live allocation size is filled from today's catalog. Connection namespaces +persist independently of offers, and IDs encode native incarnation evidence +without a UUID-to-job lookup database. Exceptions retain known cluster IDs and +submission tokens for partial/ambiguous acceptance. + +Execution submits ordinary tasks through the borrowed client's `submit` method. +Dask chooses the workers and handles dependencies; invocation-specific keys prevent +unintended reuse across commands. There is no worker-selection layer, per-worker +preflight orchestration, source fingerprinting, or login-node guard. Driver-side +preparation and the existing task runtime/sandbox checks remain in their owners. +`output.py` transports byte chunks through standard Dask events so detached +workers' output reaches the invoking CLI. Probes preserve both streams; +materialization sends recipe output to stderr to leave stdout for its report. + +Local teardown drains the allocation's validated process group rather than +assuming the owner's exit proves every child stopped. Failed unpublished launches +are cleaned up, and incomplete locator directories do not hide healthy allocations. +Cancellation and concurrent project writers are not made safe by allocation +management; callers must respect the documented execution limits. + +Tests cover deterministic selection, malformed identities and catalogs, partial +native failures, acceptance ambiguity, PID reuse, detached local lifetime, standard +Dask bootstrap, and explicit execution through borrowed clients. Slurm command +contracts are simulated; a real NERSC submission remains a deployment check. diff --git a/docs/api/container.md b/docs/api/container.md index 14a3256..bd360f6 100644 --- a/docs/api/container.md +++ b/docs/api/container.md @@ -57,7 +57,7 @@ Sources: `src/lightcone/engine/image.py`, `OCIBackend`, data-parameterized; the podman family is stated once (`_PODMAN_FAMILY`) and asked positively, so a new runtime falls outside it by default. podman-hpc adds exactly one step (`migrate`, - outside the load branch) and joins `_SHARED_STORE_RUNTIMES`. + outside the load branch). Execution verifies the prepared image on each worker. Detection order podman-hpc → podman → docker; docker's daemon is probed at detection. - **The architecture gate refuses before the load** — a wrong-arch diff --git a/docs/api/crate.md b/docs/api/crate.md index c403edb..9f93a38 100644 --- a/docs/api/crate.md +++ b/docs/api/crate.md @@ -1,9 +1,10 @@ # lightcone.engine.crate The publication view: the repository described as a Workflow Run -RO-Crate. The project *is* the crate — `ro-crate-metadata.json` sits at -the root, describes what the repository already holds, and a deposit is -`git archive`, not an export step. lc's manifests stay the canonical +RO-Crate. `ro-crate-metadata.json` sits at the root and describes the +repository's research objects. A complete deposit must include the annexed data +and results; `git archive` alone carries their Git representations, not their +content. lc's manifests stay the canonical record; the crate is the same facts in schema.org vocabulary for archives and viewers that will never run `lc`. diff --git a/docs/api/index.md b/docs/api/index.md index f3126ea..8674ea0 100644 --- a/docs/api/index.md +++ b/docs/api/index.md @@ -17,7 +17,7 @@ is responsibility and contract, not every signature. | [`assets`](assets.md) | One output: its directory, manifest, and state | pure | | [`worker`](worker.md) | Making one output; the rerun entry point | impure | | [`materialize`](materialize.md) | The driver: gates, scheduling, the save/restore loop, status | impure | -| [`venue`](venue.md) | Where a run executes: SLURM detection, the login guard | impure | +| [`compute`](compute.md) | Resource requests, native allocation lifecycle, borrowed Dask clients | impure | | [`sandbox`](sandbox.md) | The exec boundary: policy, backends, attestation, denials | mixed | | [`image` & `container`](container.md) | The container hatch: declaration → image → archive → runtime | pure / impure | | [`crate`](crate.md) | The publication view: the repo as an RO-Crate | pure | diff --git a/docs/api/materialize.md b/docs/api/materialize.md index 54b570d..f957937 100644 --- a/docs/api/materialize.md +++ b/docs/api/materialize.md @@ -7,22 +7,25 @@ its classification walk. Source: `src/lightcone/engine/materialize.py`. +Recipes are ordinary Dask tasks. Their stdout/stderr is forwarded as bytes to the +driver's stderr, independently of success or failure, leaving stdout for the report. + ## Key symbols | Symbol | Role | |---|---| -| `materialize(root, targets, *, refresh)` | The run: guards → converge → plan → fetch → schedule → save/restore loop → crate converge. | +| `materialize(root, targets, *, cluster_id, refresh)` | The run: guards → converge → plan → fetch → schedule → save/restore loop → crate converge. | | `check(root, targets, *, refresh)` | The same classification without executing, committing, or fetching. Exempt from the dirty refusal. | | `status(root)` | The report: every output's state and provenance commit, plus the mode/image/sandbox header facts. | | `MaterializeReport` / `StatusReport` | The JSON surfaces; `ok` and `up_to_date` first. | -| `cluster_for_run()` | The venue ladder, and the two-method scheduler seam (`submit`, `completed`). | +| `cluster_for_run(cluster_id)` | Borrow the cluster; the submit/completed scheduler seam (`submit`, `completed`). | | `run_record(...)` / `datalad_run_subject(...)` | The commit message `datalad rerun` replays, and the one spelling of its subject line — shared with the foreign-write comparator, because two strings here would drift. | | `_engine_requirement()` | How a record pins its engine: by version for a release, by source commit (hatch-vcs) for a dev build. | ## The run's order, and why -1. **Login guard first** — the allocation is the remedy with queue - latency, so the user submits it before fixing anything else. +1. **Explicit cluster first** — validate native allocation identity and connect + to its scheduler before preparing the project. 2. **Dirty refusal before the environment converge** — in containerized mode the converge can commit an image archive, and `dataset.save` commits the whole index; on a dirty tree the user's @@ -37,9 +40,9 @@ Source: `src/lightcone/engine/materialize.py`. — the driver commits as results arrive, so any per-task read could answer differently mid-run. Nondeterminism in a provenance field is worse than either answer. -6. **Save on `ok`, restore otherwise, `try/finally` around the loop** - — an interrupt restores whatever is still outstanding; the tree - ends as clean as it started. +6. **Save on `ok`, restore reported failures** — unreported outputs are retained + after interruption because their tasks may still be writing. Allocation + management does not provide concurrent-writer or cancellation guarantees. ## What must stay true @@ -51,9 +54,9 @@ Source: `src/lightcone/engine/materialize.py`. - **`up_to_date` is `ok and not made and not planned`** — a run where every recipe failed must not report "nothing to do", and `behind` never counts against it. -- **A read-only verb never tracebacks.** Anything `check`/`status` - cannot read classifies as "will be remade" and the real error - belongs to the recipe that follows. +- **Unreadable output state is reportable.** An unreadable manifest or input + can classify as "will be remade". An invalid spec, universe, or lock instead + raises `ProjectError`, which the CLI presents as a command error. - **The run record is genuinely re-runnable**: engine pinned by requirement, project environment rebuilt by the worker from the rerun commit's own lock, format tested *through datalad's parser* @@ -69,4 +72,4 @@ Source: `src/lightcone/engine/materialize.py`. `tests/test_materialize.py` — real repositories, real recipes, a real `LocalCluster` through the seam exactly once, real `datalad rerun` for the record's whole claim. `cluster_for_run` is the one monkeypatch -point for venue-free tests. +point for allocation-free tests. diff --git a/docs/api/sandbox.md b/docs/api/sandbox.md index d1175a3..9d0f171 100644 --- a/docs/api/sandbox.md +++ b/docs/api/sandbox.md @@ -18,10 +18,14 @@ plus `lightcone/_sandbox_exec.py`, the Landlock shim. | `Capability` | What this host can do — `detect()`'s answer, the only `sys.platform` branch. | | `Attestation` | What was actually enforced, derived from the flags applied — never from what the matrix says should have happened. | | `Backend.wrap(policy, argv)` | The pure rewrite. `contains_prefix` declares whether the uv hop rides inside (a container is a world; a host mechanism trusts host plumbing). | -| `exec_policy(...)` | The one policy: probe and recipe get the same thing. Building it is where the impurity lives (the per-run private `$HOME`); `scope()` owns its cleanup. | +| `exec_policy(...)` | Shared policy builder with a recipe output directory or probe `results/` write scope. Creates the private `$HOME`; `scope()` owns its cleanup. | | `Unavailable` | A real backend that wraps to the same argv and attests `fs: open`. Saying so is the caller's job; pretending is nobody's. | | `denial.explain()` / `denial.trailer()` | Best-guess remedies (allowed to return nothing) and the unconditional trailer on every nonzero sandboxed exit. | +An optional output receiver gets stdout/stderr byte chunks. Capturing output never +decodes or normalizes stdout; only the retained stderr tail is decoded for denial +classification. Without a receiver, stdout remains inherited. + ## What must stay true - **`wrap` stays pure** — no temp files, no FDs, no global state diff --git a/docs/api/venue.md b/docs/api/venue.md index d86735d..b639298 100644 --- a/docs/api/venue.md +++ b/docs/api/venue.md @@ -1,63 +1,10 @@ -# lightcone.engine.venue +# Venue selection has moved to compute -Where a run executes. A venue is host state, never project state — -nothing here reads the project or enters any identity. The one venue -beyond the local machine is a SLURM allocation, detected rather than -configured: the user already answered every resource question at -`salloc`, so the allocation *is* the declaration and lc's job is to -span it. +The former `lightcone.engine.venue` module has been replaced by +[`lightcone.engine.compute`](compute.md). Execution now requires an explicit +allocation ID; it does not infer a venue from Slurm environment variables or +start a local cluster automatically. -Source: `src/lightcone/engine/venue.py` (consumed by -`materialize.cluster_for_run`). - -## Key symbols - -| Symbol | Role | -|---|---| -| `slurm_client()` | The allocation branch: a scheduler in the driver process bound to `SLURMD_NODENAME`, one `srun --overlap` launching a worker per node on `sys.executable`. | -| `require_compute_node(command)` | The login guard: refuses iff a known center's marker is set and `SLURM_JOB_ID` is not, printing that center's own `salloc`/`sbatch` spellings. | -| `allocation_nodes()` | How many nodes the allocation holds; 0 outside one. | -| `_SITES` | One row per known center — name, marker, remedies, **verified against the center's documentation, never guessed**. NERSC is the seeded row. | - -## What must stay true - -- **The detection ladder lives in `cluster_for_run()` alone.** Nothing - else asks where a run executes; a future submission-model venue is - one more branch there plus only the config it genuinely needs. -- **Workers run the driver's own interpreter** (`sys.executable -m - distributed.cli.dask_worker`) — on HPC that is the tool env on the - shared filesystem, so driver and workers are the identical - installation and version skew is structurally out. Workers need no - git and no annex. -- **The worker flags are each load-bearing**: `--nthreads=` - (tasks block in `subprocess.wait()` with the GIL released), - `--no-nanny` (srun won't relaunch either), `--memory-limit 0` (the - real work is behind the exec boundary; Dask would pause workers over - phantom numbers), `--death-timeout 60` (a worker whose driver died - exits instead of holding the node), `--local-directory /tmp` - **literal** (a site prolog can scope `TMPDIR` per node or step, so a - driver-resolved path can be absent elsewhere). -- **The srun child is the one documented exception to `project._run`** - — it lives as long as the run and its stderr must reach the terminal - live. Teardown retires workers first, then wait → terminate → kill, - bounded; connection is a poll loop so a dead srun reports *its exit - code* now, not a timeout later. -- **A leak refuses loudly, never falls back silently**: `SLURM_JOB_ID` - with no srun on PATH, a non-integer count variable, an unresolvable - `SLURMD_NODENAME` — each is a named refusal. -- **The guard is materialize-scoped** (plus the rerun entry point — - the record's `cmd` is how recipes reach login nodes without `lc` in - the command line). `check`, `status` and `lc run` never call it: a - login node is exactly where "where does this stand" gets asked. -- **A containerized multi-node run requires a shared image store** — - `_SHARED_STORE_RUNTIMES` (podman-hpc), asked positively, checked in - `materialize()` before the runtime resolves so the refusal costs no - build. - -## Tests - -`tests/test_venue.py` — fakes the *host*, never the code: SLURM -variables set deliberately, a bash stub standing in for srun, and the -end-to-end tests run a real graph through the real bind/launch/teardown -on any machine. The `venue_env` autouse fixture scrubs venue variables -suite-wide (derived from `_SITES`, so a new center is one row). +For usage, see [Compute and clusters](../user/cluster.md) and the +[`lc compute` reference](../cli/compute.md). For implementation details, see +[compute internals](compute.md). diff --git a/docs/api/worker.md b/docs/api/worker.md index a54cc75..3d6e255 100644 --- a/docs/api/worker.md +++ b/docs/api/worker.md @@ -16,6 +16,10 @@ so advertising it would hand people a footgun. Source: `src/lightcone/engine/worker.py`. +Cluster execution supplies an output receiver to `materialize`/`execute`, which +passes byte chunks from the sandbox back to the invocation. Standalone reruns +retain direct terminal output. + ## Key symbols | Symbol | Role | diff --git a/docs/architecture.md b/docs/architecture.md index 32081a2..0129f82 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -1,6 +1,11 @@ -# Architecture +# Execution architecture -How lightcone-cli is put together, for someone about to change it. The +This page covers the execution layer of the Lightcone research stack. +Agent skills guide project development and reporting; `lightcone-cli` owns +execution and provenance; ASTRA supplies an external specification standard. +For repository ownership, see [Contribute to Lightcone](maintainer.md). + +Here is how lightcone-cli is put together, for someone about to change it. The [user-guide concepts page](user/concepts.md) covers what the tool promises; this page covers how the promises are kept. @@ -20,7 +25,7 @@ exit codes how outputs are made *means* - **The engine** owns everything about what a project is and how outputs get made. It raises `ProjectError`; the CLI's group class translates that into a clean error message, once, for every verb. -- **ASTRA** owns what a spec means. Scoping, `from:` references, +- **The external ASTRA project** owns what a spec means. Scoping, `from:` references, conditional outputs, universe resolution, and the recipe placeholder grammar are all answered by `astra.resolve` and checked by `astra.validation` — never re-implemented here. When the spec's @@ -35,14 +40,14 @@ imports. ## One run, end to end ```text -lc materialize - │ guard: compute node? tools? git identity? +lc materialize "$CLUSTER" + │ connect: native identity + Dask readiness + │ guard: tools? git identity? │ refuse: dirty tree - │ converge: uv.lock ⇄ .venv (and the image, containerized) │ plan: astra validate + resolve → Graph of Tasks │ fetch: git annex get (declared inputs not in this clone) - │ venue: SLURM allocation? → srun workers · else LocalCluster - ├─► workers: reset output dir → sandbox → recipe → hash → manifest + │ converge: uv.lock ⇄ .venv (and the image, containerized) + ├─► workers: reset output files → sandbox → recipe → hash → manifest │ (never raise; return ok/current/behind/failed/blocked) └─ driver: consume results in one thread ok → dataset.save (commit + run record) @@ -50,6 +55,10 @@ lc materialize finally → converge ro-crate-metadata.json (if licensed) ``` +After interruption, unreported outputs remain in place because their remote +tasks may still be writing. Stop the allocation and establish that work has +stopped before repairing those files. + The division of labor is strict and load-bearing: - **The driver owns git, alone.** Workers execute and return a @@ -110,7 +119,7 @@ git history while exiting 0 — so `lc init` sets `filter.annex.required=true`, which makes git refuse loudly instead (every filtered command, not only `git add`). Getting git-annex onto that `PATH` is the install's job, not the -repository's: `uv tool install lightcone-cli` puts it there alongside +repository's: the [tool installation](user/install.md) puts it there alongside `lc`. Each output is committed with a **run record** — a `[DATALAD RUNCMD]` @@ -120,7 +129,7 @@ worker entry point, so `datalad rerun` replays the making of an output with the gates, the sandbox, and the manifest intact. Results are committed *thin* (hard-linked to their annex object), which is safe precisely because lc never writes an output in place — the worker -resets the directory first. +removes the output's owned files first, without deleting sibling outputs. ## The exec boundary @@ -134,9 +143,10 @@ Because every backend is a pure argv rewrite, all of them are testable on a host that can't run them, and the manifest's `hermeticity` field records what was *actually* enforced — never what should have been. -There is one policy, `exec_policy`: probe and recipe get exactly the -same thing (tree read-only apart from `results/`), so "works under -`lc run`" and "works as a recipe" stay the same fact. +There is one policy builder, `exec_policy`: both probes and recipes get a +read-only project with a writable output scope. A recipe can write in the +directory its output lands in; a probe can write throughout `results/`. +The same environment and dependency rules apply to both. ## The container hatch @@ -151,16 +161,24 @@ environment sync and each recipe exec, over a read-only rootfs with the mount table as the whole policy. Execution pins the archive's config-blob id, never a tag. -## Venues - -`materialize.cluster_for_run()` is the one place that decides where a -run executes, and the seam it returns is two methods wide — -`submit(fn, *args, key=…)` and `completed(handles)`. A SLURM -allocation (detected by `SLURM_JOB_ID`) gets one worker per node via a -single `srun`, running the driver's own interpreter so driver and -workers are the identical installation. Anything else is the local -machine. Venues are detected, never configured; the only venue config -that exists is the allocation the user already requested. +## Compute allocations + +`engine.compute` owns allocation lifecycle through a small provider protocol. +A visible YAML catalog supplies ordered resource offers and stable native service +namespaces. When the implicit default file is absent, a built-in local catalog +provides one CPU and 1 GiB without setup. An explicit catalog replaces that default; +missing explicit paths and invalid files remain errors. No catalog is written and +no allocation starts until `compute launch` resolves resources and submits once. Slurm queries +and validated local OS identities are authoritative for allocations; Dask is the +authority for connected workers. Private scheduler/TLS files are connection +material, not a registry. + +`compute.connect(CLUSTER_ID)` borrows a standard Dask client and closes only that +client on exit. Both execution commands require a cluster ID. The materialization +scheduler keeps its `submit`/`completed` seam. Driver preparation and existing +task runtime/sandbox checks remain unchanged. Tasks use ordinary Dask scheduling; +there is no separate worker-selection or preflight layer, or site-marker guard. No execution command implicitly allocates compute. +See [compute internals](api/compute.md) and [deployment limits](user/cluster.md). ## The publication view @@ -190,7 +208,7 @@ src/lightcone/ # namespace — NO __init__.py ├── worker.py # making one output; the rerun entry point ├── materialize.py # the driver: gates, Dask, the save/restore loop ├── run.py # what `lc run` is - ├── venue.py # where a run executes + ├── compute/ # common allocation API, local and Slurm providers ├── sandbox/ # the exec boundary └── templates/ # the scaffold's file content, as real files ``` diff --git a/docs/assets/uranometria.webp b/docs/assets/uranometria.webp new file mode 100644 index 0000000000000000000000000000000000000000..41e4e407693bbe6037385f496cb3e803327c7a47 GIT binary patch literal 423736 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%0Ah_0m+32X$ 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%0DE<4q4SM7zU&#bG3K-&Qid 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

=wR9R7=Yz!KAW{Ft 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 + +

+ +

Lightcone Research · Documentation

+ +# From research question
to reproducible result. + +

A practical toolkit for research you can inspect, reproduce, and build on. Describe your analysis, work with an AI agent, and keep your results connected to the choices that produced them.

+ +[Install the stack :lucide-arrow-right:](user/install.md){ .md-button .md-button--primary } +[Run your first analysis](user/getting-started.md){ .lc-text-link } -The **Lightcone Research Stack** is [Lightcone Research][lr]'s tooling for research -analyses described with [**ASTRA**][astra] (Agentic Schema for Transparent Research -Analysis). -You describe an analysis in an `astra.yaml` specification; the stack validates it and -takes care of the rest — execution, environments, and provenance. +

Open source. Built for researchers. Early alpha.

+Uranometria · Bayer · 1603 -!!! warning "Alpha development" - The stack is in **early alpha**. Its tools are still moving — expect breaking - changes between minor versions. Bug reports, design challenges, and use cases the - tooling doesn't yet cover are exactly what we want to hear at this stage; please - open an issue on the [repository](https://github.com/LightconeResearch) of the tool - concerned. +
-## Choose your path to the documentation +
-
+

The pieces, together

-- __I want to try it out__ – :lucide-rocket: +## One research workflow. A few focused tools. - --- +You make the scientific choices. The stack helps you record them, implement them, and follow them through to your results. - Installation instructions, step-by-step tutorial, and fast tour of the lightcone framework and its workflow capabilities. +
- [User Guide](user/index.md){ .md-button .md-button--primary } +
-- __I want to contribute__ – :lucide-cog: +01 / Describe - --- +### An inspectable analysis - In-depth tour of lightcone-cli's architecture and internals, as well as contribution instructions, aimed at - contributors and maintainers. +Use **ASTRA** to describe your inputs, outputs, methodological decisions, and supporting evidence in an `astra.yaml` file. - [Developer corner](maintainer.md){ .md-button .md-button--primary } +[Meet ASTRA, the external standard :lucide-arrow-up-right:](user/astra.md)
---- +
+ +02 / Collaborate + +### An agent that knows the workflow + +Add the **Lightcone plugin** to your coding agent for help scoping a question, writing the specification, implementing recipes, and understanding results. + +[Work with an agent :lucide-arrow-right:](user/agents.md) + +
-## Components of the stack +
-
+03 / Reproduce -- __lightcone-cli__ +### Results with a record - The library that ships the `lc` CLI: project scaffolding, locked environments, sandboxed execution, and the provenance layer. Depends on [**astra-tools**][astra-tools], the SDK for working with ASTRA analysis specifications. +Use the **`lc` command line** to run your analysis in a locked environment and record the inputs, choices, and code behind each output. - [:fontawesome-brands-github: Repository][cli]{ .md-button } +[Run your first analysis :lucide-arrow-right:](user/getting-started.md) -- __astra-tools__ +
+ +
+ +
+ +
+ +
+ +

Start with your question

+ +## A small first step. - The SDK for working with [**ASTRA**][astra] analysis specifications. This library provides the `astra` CLI which handles the [**ASTRA**][astra] lifecycle and validation process (schema, prior insights & findings, evidence verification helpers). +Install the tools, run a complete example, then bring your own data. You can work from a terminal or add an agent when you want help. - [:fontawesome-brands-github: Repository][astra-tools]{ .md-button } +[Understand how the stack fits together :lucide-arrow-right:](user/index.md)
-[lr]: https://lightconeresearch.org/ -[astra]: https://astra-spec.org/latest/ -[astra-tools]: https://github.com/LightconeResearch/astra-tools -[cli]: https://github.com/LightconeResearch/lightcone-cli +
    +
  1. 01InstallSet up the CLI and your agent.
  2. +
  3. 02Your first analysisGo from a specification to a result.
  4. +
  5. 03Work with an agentStart, resume, and refine a project.
  6. +
  7. 04Share your workPrepare results others can inspect.
  8. +
+ +
+ +
+ +**Growing with the research community.** Lightcone is in early alpha; commands and formats may change. [Report an issue](https://github.com/LightconeResearch/docs/issues), [contribute](maintainer.md), or visit [Lightcone Research](https://lightconeresearch.org/). + +
+ + diff --git a/docs/maintainer.md b/docs/maintainer.md index fdfac4a..4e22d56 100644 --- a/docs/maintainer.md +++ b/docs/maintainer.md @@ -1,58 +1,36 @@ -# Developer corner - -`lightcone-cli` is a small engine with strong opinions: one way to -identify an output, one way to store it, one boundary to execute it -behind. This guide covers everything below the user surface — how the -engine is put together, what each module owns, and how to get a -working dev loop. - -If you're looking for the user-facing docs, the -[user guide](user/index.md) is the other half of this site. - -## What this covers - -- [Architecture](architecture.md) — the CLI/engine/ASTRA split, the - run pipeline, identity, storage, the exec boundary, and the - invariants that hold them together. -- [CLI Reference](cli/index.md) — every `lc` command: flags, JSON - report shapes, exit codes. -- [Engine Internals](api/index.md) — the `lightcone.engine.*` - modules: what each owns, its key symbols, and what must stay true - of it. -- [Contributing](contributing/setup.md) — clone, install, run the - test suite; [how the suite is shaped](contributing/testing.md); and - [where a change belongs](contributing/extending.md). - -## Get started in three commands - -!!! tip "Dev loop" - - ```bash - git clone https://github.com/LightconeResearch/lightcone-cli.git - cd lightcone-cli - uv sync --group dev && uv run pytest - ``` - -Test, lint (`uv run ruff check src/ tests/`) and type-check -(`uv run mypy src/`) are the whole loop — there is deliberately no -task runner in between. - -## The house rules - -A few conventions run through every module; changes are reviewed -against them: - -- **No dead code, no foreshadowing.** Nothing lands before the layer - that calls it, and no message names a verb or flag that doesn't - exist yet. `lc --help` advertises only what works. -- **No escape hatches around guarantees.** A feature that enforces - something ships without a flag to turn the enforcement off. -- **Literal behavior over invented convenience.** The current - directory is the project; erroring beats walking up or guessing. - Nothing prompts — a verb is run by an agent more often than a - person, and a prompt is a hang. -- **One implementation per rule.** Classification, path naming, the - run-record subject, tool resolution — each has exactly one spelling, - and a second copy is where the two start to disagree. -- **Honest reporting.** What was enforced, what was skipped, and what - a clone can't see are all recorded or said — never assumed. +# Contribute to Lightcone + +Lightcone's documentation, agent skills, and execution tools live in separate +repositories. Start with the repository that owns the behavior you want to change. + +| Contribution | Repository | Start here | +|---|---|---| +| Guides, installation, navigation, or site design | [LightconeResearch/docs](https://github.com/LightconeResearch/docs) | [Build the documentation](contributing/setup.md#documentation-site) | +| Agent instructions, plugin packaging, or validation hooks | [LightconeResearch/agent-skills](https://github.com/LightconeResearch/agent-skills) | [Work on agent skills](contributing/setup.md#agent-skills) | +| Project execution, environments, provenance, or CLI behavior | [LightconeResearch/lightcone-cli](https://github.com/LightconeResearch/lightcone-cli) | [CLI development](contributing/setup.md#lightcone-cli) | +| Analysis schema or ASTRA tooling | External [ASTRA project](https://astra-spec.org/latest/) | Follow ASTRA's own documentation and contribution process | + +For research work, start with the [user guide](user/index.md). You do not need +the developer tools below to use Lightcone. + +## CLI internals + +The [architecture guide](architecture.md) explains how the execution engine +uses ASTRA, uv, Git, git-annex, and its sandbox. The [engine reference](api/index.md) +maps responsibilities to modules; it is intended for contributors, rather than +as a supported Python API for research projects. + +Read [Testing](contributing/testing.md) before changing the engine and +[Extending](contributing/extending.md) to find where a change belongs. +The [CLI reference](cli/index.md) documents the user-facing contract. + +## Keep the stack consistent + +When changing behavior, update the matching instructions and examples. Check +installation commands against the version documented by this site and the tool +pins in the agent-skills repository. Document an external dependency as external; +ASTRA's schema and validation semantics remain the ASTRA project's responsibility. + +Keep errors actionable, record the enforcement actually used, and keep research +projects independent of the engine's Python internals. Code, tests, and their +dependencies should land together. diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index e454c12..989bc1e 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -1,57 +1,257 @@ -@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap'); +@import url("https://fonts.googleapis.com/css2?family=Alegreya:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&family=Quattrocento:wght@400;700&display=swap"); -/* ── Light mode ─────────────────────────────────────────────────────────── */ - -:root > * { - --md-primary-fg-color: #4e5a70; - --md-primary-fg-color--light: #6b7a8d; - --md-primary-fg-color--dark: #3a4456; - --md-accent-fg-color: #426b78; - --md-default-bg-color: #f8f7f3; - --md-default-bg-color--light: #ffffff; - --md-default-bg-color--dark: #f1efe9; - --md-text-font: "Libre Baskerville", Georgia, serif; - --md-code-font: "JetBrains Mono", "Fira Code", monospace; +/* Shared with lightcone-website/app/globals.css. Keep the four type voices + and the parchment / ink / antique-gold palette aligned with the website. */ +:root { + --lc-heading-font: "Quattrocento", Georgia, serif; + --lc-body-font: "Newsreader", Georgia, serif; + --lc-ui-font: "Alegreya", Georgia, serif; + --md-text-font: var(--lc-body-font); + --md-code-font: "JetBrains Mono", "Fira Code", monospace; } -body, -.md-header, -.md-main, -.md-main__inner, -.md-content, -.md-tabs, -.md-sidebar { - background-color: #f8f7f3; +[data-md-color-scheme="default"] { + --lc-paper: #f8f7f3; + --lc-surface: #f1efe9; + --lc-deep: #e8e5dd; + --lc-text: #221f20; + --lc-ink: #4e5a70; + --lc-gold: #a67c3c; + --lc-link: #3f7280; + --lc-muted: #6f645a; + --lc-rule: rgb(78 90 112 / 18%); + --lc-code: #374256; + --md-default-bg-color: var(--lc-paper); + --md-default-fg-color: var(--lc-text); + --md-default-fg-color--light: var(--lc-muted); + --md-default-fg-color--lighter: var(--lc-rule); + --md-default-fg-color--lightest: rgb(78 90 112 / 7%); + --md-primary-fg-color: var(--lc-ink); + --md-primary-bg-color: var(--lc-paper); + --md-accent-fg-color: var(--lc-link); + --md-accent-fg-color--transparent: rgb(63 114 128 / 8%); + --md-typeset-a-color: var(--lc-link); + --md-code-fg-color: var(--lc-code); + --md-code-bg-color: var(--lc-surface); + --md-footer-bg-color: var(--lc-surface); + --md-footer-bg-color--dark: var(--lc-surface); + --md-footer-fg-color: var(--lc-text); + --md-footer-fg-color--light: var(--lc-muted); + --md-footer-fg-color--lighter: var(--lc-muted); } -/* ── Dark mode ──────────────────────────────────────────────────────────── */ - [data-md-color-scheme="slate"] { - --md-default-bg-color: #221f20; - --md-hue: 219; + --lc-paper: #221f20; + --lc-surface: #2b2829; + --lc-deep: #353133; + --lc-text: #e9e5de; + --lc-ink: #b8c4d6; + --lc-gold: #d2ac70; + --lc-link: #96c5ce; + --lc-muted: #b4aaa0; + --lc-rule: rgb(224 217 205 / 18%); + --lc-code: #d3dce8; + --md-hue: 219; + --md-default-bg-color: var(--lc-paper); + --md-default-fg-color: var(--lc-text); + --md-default-fg-color--light: var(--lc-muted); + --md-default-fg-color--lighter: var(--lc-rule); + --md-default-fg-color--lightest: rgb(224 217 205 / 7%); + --md-primary-fg-color: var(--lc-ink); + --md-primary-bg-color: var(--lc-paper); + --md-accent-fg-color: var(--lc-link); + --md-accent-fg-color--transparent: rgb(150 197 206 / 10%); + --md-typeset-a-color: var(--lc-link); + --md-code-fg-color: var(--lc-code); + --md-code-bg-color: var(--lc-surface); + --md-footer-bg-color: var(--lc-surface); + --md-footer-bg-color--dark: var(--lc-surface); + --md-footer-fg-color: var(--lc-text); + --md-footer-fg-color--light: var(--lc-muted); + --md-footer-fg-color--lighter: var(--lc-muted); } -[data-md-color-scheme="slate"] body, -[data-md-color-scheme="slate"] .md-header, -[data-md-color-scheme="slate"] .md-main, -[data-md-color-scheme="slate"] .md-main__inner, -[data-md-color-scheme="slate"] .md-content, -[data-md-color-scheme="slate"] .md-tabs, -[data-md-color-scheme="slate"] .md-sidebar { - background-color: #221f20; +body { background: var(--lc-paper); } +::selection { background: var(--lc-deep); color: var(--lc-ink); } + +/* Masthead and wayfinding retain Zensical's native search, drawer and TOC. */ +.md-header, +.md-tabs { + background: var(--lc-paper); + color: var(--lc-text); + box-shadow: none; + font-family: var(--lc-ui-font); +} +.md-header { border-bottom: 1px solid var(--lc-rule); } +.md-header__inner { min-height: 3.6rem; } +.md-header__title { + font-family: var(--lc-heading-font); + font-size: 1rem; + font-weight: 400; + color: var(--lc-ink); } +.md-header__button.md-logo img { height: 1.65rem; width: auto; } +.md-tabs { border-bottom: 1px solid var(--lc-rule); } +.md-tabs__link { font-size: .8rem; opacity: 1; } +.md-tabs__link--active, +.md-tabs__item--active .md-tabs__link { color: var(--lc-ink); font-weight: 600; } +.md-tabs__item--active { border-bottom-color: var(--lc-gold); } +.md-tabs__link:hover { color: var(--lc-link); } +.md-search__form { background: var(--lc-surface); border: 1px solid var(--lc-rule); border-radius: .2rem; } +.md-search__input { font-family: var(--lc-ui-font); } +.md-search__input::placeholder { color: var(--lc-muted); } +.md-header .md-search__icon { color: var(--lc-ink); } +.md-grid { max-width: 68rem; } +.md-main__inner { margin-top: 1.8rem; } +.md-nav { font-family: var(--lc-ui-font); font-size: .78rem; line-height: 1.4; } +.md-nav__title { color: var(--lc-ink); background: var(--lc-paper); box-shadow: none; font-weight: 600; } +.md-nav__item--section > .md-nav__link { color: var(--lc-ink); font-weight: 600; } +.md-nav__link--active, +.md-nav__item .md-nav__link--active { color: var(--lc-link); font-weight: 600; } +.md-nav__link:hover { color: var(--lc-gold); } +.md-sidebar--secondary .md-nav { font-size: .72rem; } -[data-md-color-scheme="slate"] .md-nav__link--active, -[data-md-color-scheme="slate"] .md-nav__item--active > .md-nav__link { - background-color: rgba(106, 147, 160, 0.20); - color: #f8f7f3; +/* A reading page: bookish prose, a compact UI, and clearly separated code. */ +.md-typeset { font-size: .94rem; line-height: 1.65; } +.md-typeset h1, +.md-typeset h2, +.md-typeset h3, +.md-typeset h4 { + font-family: var(--lc-heading-font); + font-weight: 400; + line-height: 1.22; + letter-spacing: -.02em; +} +.md-typeset h1 { margin-bottom: .8em; color: var(--lc-gold); font-size: 2.2rem; } +.md-typeset h2 { color: var(--lc-ink); font-size: 1.5rem; margin-top: 1.7em; } +.md-typeset h3 { color: var(--lc-ink); font-size: 1.15rem; } +.md-typeset h4 { font-weight: 700; } +.md-typeset a { text-underline-offset: .18em; } +.md-typeset p a:not(.md-button):hover, +.md-typeset li a:not(.md-button):hover { text-decoration: underline; } +.md-typeset hr { border-color: var(--lc-rule); margin: 2rem 0; } +.md-typeset code { font-size: .72em; border-radius: .15rem; } +.md-typeset pre { font-size: .77rem; line-height: 1.65; } +.md-typeset pre > code { border: 1px solid var(--lc-rule); border-radius: .2rem; padding: 1rem; font-size: inherit; } +.md-typeset table:not([class]) { font-size: .83rem; box-shadow: none; border: 1px solid var(--lc-rule); border-radius: .15rem; } +.md-typeset table:not([class]) th { font-family: var(--lc-ui-font); font-weight: 600; background: var(--lc-surface); color: var(--lc-ink); } +.md-typeset table:not([class]) td { border-color: var(--lc-rule); } +.md-typeset .admonition, +.md-typeset details { font-size: .84rem; box-shadow: none; border-radius: .2rem; background: var(--lc-surface); } +.md-typeset .admonition-title, +.md-typeset summary { font-family: var(--lc-ui-font); } +.md-typeset .tabbed-labels { font-family: var(--lc-ui-font); } +.md-typeset .tabbed-labels > label { font-size: .8rem; } +.md-typeset .md-button { + font-family: var(--lc-ui-font); + font-size: .85rem; + font-weight: 500; + border: 1px solid var(--lc-ink); + border-radius: .15rem; + padding: .65em 1.15em; + transition: background-color .15s, color .15s; } +.md-typeset .md-button--primary { background: var(--lc-ink); color: var(--lc-paper); } +.md-typeset .md-button:hover { background: var(--lc-link); border-color: var(--lc-link); color: var(--lc-paper); } +a:focus-visible, +button:focus-visible, +label:focus-visible { outline: 2px solid var(--lc-link); outline-offset: 4px; } -[data-md-color-scheme="slate"] .md-content a { - color: #85c0d0; +/* Landing page: the website's engraved frontispiece and ruled sections. */ +.lc-home { max-width: 60rem; margin: 0 auto; } +.lc-hero { + position: relative; + isolation: isolate; + padding: 3rem 0 4rem; + margin: -1.8rem 0 0; + overflow: hidden; } +.lc-hero::before { + content: ""; + position: absolute; + z-index: -1; + inset: 0; + background: linear-gradient(rgb(166 124 60 / 20%), rgb(166 124 60 / 20%)), url("../assets/uranometria.webp") 85% 40% / cover; + opacity: .46; + mask-image: linear-gradient(to right, transparent 32%, rgb(0 0 0 / 8%) 48%, #000 100%); +} +.lc-home .lc-hero h1 { max-width: 20ch; font-size: clamp(2rem, 4.5vw, 3.25rem); line-height: 1.12; margin: .65rem 0 1.1rem; letter-spacing: -.035em; } +.lc-home .lc-eyebrow, +.lc-step { + font-family: var(--lc-ui-font); + font-size: .62rem; + font-weight: 600; + letter-spacing: .16em; + text-transform: uppercase; + color: var(--lc-muted); +} +.lc-home .lc-lead { max-width: 35rem; font-size: 1.12rem; line-height: 1.55; margin-bottom: 1.6rem; } +.lc-text-link { display: inline-block; margin: .6rem 0 .6rem 1.1rem; font-family: var(--lc-ui-font); font-size: .85rem; } +.lc-home .lc-hero-note { font-family: var(--lc-ui-font); font-size: .72rem; color: var(--lc-muted); margin-top: 1.2rem; } +.lc-engraving-credit { position: absolute; bottom: 1.3rem; right: 1.8rem; font-family: var(--lc-ui-font); font-size: .54rem; letter-spacing: .15em; text-transform: uppercase; color: var(--lc-muted); } +.lc-section { padding: 2.2rem 0 2.7rem; border-top: 1px solid var(--lc-rule); } +.lc-home h2 { margin: .5rem 0 .7rem; font-size: 1.8rem; } +.lc-home .lc-section > p:not(.lc-eyebrow) { max-width: 40rem; } +.lc-stack { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2rem; } +.lc-stack-item { min-width: 0; padding: 0 1.7rem; border-left: 1px solid var(--lc-rule); } +.lc-stack-item:first-child { padding-left: 0; border-left: 0; } +.lc-stack-item:last-child { padding-right: 0; } +.lc-stack-item h3 { font-size: 1.3rem; margin: .8rem 0; } +.lc-stack-item p { font-size: .91rem; } +.lc-stack-item p:last-child { font-family: var(--lc-ui-font); font-size: .78rem; margin-top: 1.2rem; } +.lc-paths { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3rem; } +.lc-paths > div > p:last-child { font-family: var(--lc-ui-font); font-size: .8rem; } +.md-typeset .lc-reading-list { list-style: none; padding: 0; margin: 0; } +.md-typeset .lc-reading-list li { margin: 0; border-bottom: 1px solid var(--lc-rule); } +.md-typeset .lc-reading-list li:first-child { border-top: 1px solid var(--lc-rule); } +.md-typeset .lc-reading-list a { display: grid; grid-template-columns: 1.6rem 1fr 1rem; column-gap: .65rem; padding: .8rem 0; align-items: baseline; color: var(--lc-ink); text-decoration: none; } +.lc-reading-list span { font-family: var(--lc-ui-font); color: var(--lc-muted); font-size: .65rem; grid-row: 1 / 3; } +.lc-reading-list strong { font-family: var(--lc-heading-font); font-size: 1.1rem; font-weight: 400; } +.lc-reading-list small { grid-column: 2; color: var(--lc-muted); font-size: .8rem; } +.lc-reading-list b { grid-column: 3; grid-row: 1 / 3; align-self: center; font-weight: 400; } +.md-typeset .lc-reading-list a:hover { text-decoration: none; color: var(--lc-gold); } +.lc-colophon { border-top: 1px solid var(--lc-rule); padding: 1.3rem 0 2rem; font-size: .8rem; color: var(--lc-muted); } +[data-md-color-scheme="slate"] .lc-hero::before { opacity: .17; } + +/* Quiet footer, with a route back to the main website. */ +.lc-site-footer { border-top: 1px solid var(--lc-rule); background: var(--lc-surface); } +.lc-site-footer__inner { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: .6rem; padding: 1.6rem 1rem; } +.lc-site-footer__brand { font-family: var(--lc-heading-font); color: var(--lc-ink); font-size: 1.1rem; } +.lc-site-footer__inner > span { font-family: var(--lc-ui-font); font-size: .75rem; color: var(--lc-muted); } +.md-footer { font-family: var(--lc-ui-font); background: var(--lc-surface); } +.md-footer-meta { border-top: 1px solid var(--lc-rule); } +.md-footer__title { font-size: .9rem; } +.md-copyright { color: var(--lc-muted); } +.md-copyright__highlight { color: var(--lc-ink); } -[data-md-color-scheme="slate"] .md-content :not(pre) > code { - background-color: rgba(76, 63, 70, 0.15); - color: #c8dde5; +@media (max-width: 76.234375em) { + .md-nav--primary .md-nav__title { background: var(--lc-surface); color: var(--lc-ink); } + .md-nav--primary .md-nav__source { background: var(--lc-deep); color: var(--lc-text); } +} +@media (max-width: 59.984375em) { + .lc-hero { padding-top: 2rem; } + .lc-paths { gap: 1.8rem; } + .lc-stack-item { padding: 0 1rem; } +} +@media (max-width: 44.984375em) { + .md-typeset { font-size: .9rem; } + .md-typeset h1 { font-size: 1.9rem; } + .md-header__title { font-size: .83rem; } + .lc-hero { margin: -1rem 0 0; padding: 1.4rem 0 2.7rem; } + .lc-home .lc-hero h1 { font-size: 2.15rem; } + .lc-home .lc-lead { font-size: 1rem; } + .lc-hero::before { opacity: .2; mask-image: linear-gradient(to right, transparent, #000); } + .lc-engraving-credit { right: .8rem; bottom: .7rem; font-size: .5rem; } + .lc-stack, + .lc-paths { grid-template-columns: 1fr; gap: 1.7rem; } + .lc-stack-item, + .lc-stack-item:first-child { padding: 0 0 1rem; border: 0; border-bottom: 1px solid var(--lc-rule); } + .lc-stack-item:last-child { border-bottom: 0; padding-bottom: 0; } + .lc-section { padding: 1.7rem 0; } + .lc-home h2 { font-size: 1.5rem; } + .lc-text-link { margin-left: 0; margin-right: 1rem; } + .lc-hero .md-button { margin-right: 1rem; } +} +@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } } diff --git a/docs/user/agents.md b/docs/user/agents.md new file mode 100644 index 0000000..b0148bb --- /dev/null +++ b/docs/user/agents.md @@ -0,0 +1,129 @@ +# Work with an agent + +Describe the research you want to do, then work with your agent to turn it +into a reviewable analysis. The Lightcone plugin gives a compatible coding +agent guidance for scoping a question, recording methodological choices, +writing recipes, running the analysis, and preparing a report. + +**Start here:** [install Lightcone and the optional agent plugin](install.md#add-an-agent-optional). +The `lightcone` plugin includes both the Lightcone and ASTRA skills, along +with their hooks. You only need that one plugin for the full workflow. + +!!! note "Using the compute preview" + The current plugin targets `lightcone-cli` version `0.5.0rc4`; these docs + follow the upcoming compute workflow. Tell your agent to use the installed + CLI's `--help`: execution now needs an allocation from `lc compute launch`, + followed by `lc run CLUSTER_ID -- COMMAND` or `lc materialize CLUSTER_ID`. + Release it with `lc compute down CLUSTER_ID` when finished. The + [first analysis](getting-started.md#4-make-the-results) shows the full sequence. + +## Start a project + +Create a project, then open your agent in that directory: + +```bash +lc init my-analysis +cd my-analysis +``` + +Invoke the Lightcone skill and describe your question. For example: + +=== "Claude Code" + + ```text + /lightcone:lightcone + I want to measure how sensitive my result is to the treatment of + outliers. My data is in data/measurements.csv. Help me define the + question, outputs, and methodological choices before implementing it. + ``` + +=== "Codex" + + ```text + $lightcone:lightcone + I want to measure how sensitive my result is to the treatment of + outliers. My data is in data/measurements.csv. Help me define the + question, outputs, and methodological choices before implementing it. + ``` + +Replace the example data path with a file you have actually provided. +The skill is designed to start with the scientific question and record the +answers in `astra.yaml`. Review the proposed outputs, decision options, +and baseline before asking the agent to implement them. + +If you already have scripts or a notebook, start with those: + +```text +Read the existing analysis in notebooks/exploration.ipynb. Identify its +inputs, outputs, and consequential methodological choices. Help me capture +them in astra.yaml and turn the first result into a reproducible recipe. +``` + +## Move from a question to results + +| Stage | What to ask for | What you can review | +| --- | --- | --- | +| Scope | Clarify the question, data, intended outputs, and plausible alternatives | `astra.yaml` and the baseline universe | +| Ground | Read relevant papers and connect evidence to methodological choices | Prior insights with checkable quotations | +| Implement | Write one recipe at a time, with decision values passed as arguments | Scripts, declared dependencies, and test runs | +| Execute | Commit the analysis and materialize the requested outputs | Result files, manifests, and `lc status` | +| Interpret | Compare universes and explain what the outputs support | Findings linked to their evidence | +| Communicate | Update the report from the analysis and prepare it for sharing | `index.md`, figures, and publication metadata | + +Tell the agent your compute limits and which universes you want to run. +A useful first request is one output in the baseline universe; you can +expand once you have inspected it. + +## Give the agent useful context + +Provide the research question, where the data lives, any existing code or +papers, and what a useful result would look like. Mention constraints such +as memory, runtime, available hardware, or methods you have already ruled out. + +For example: + +```text +Use the Lightcone skill. Start with the baseline result on my laptop. +Keep the run within 1 CPU and 1 GiB of memory. Explain any missing inputs +or dependencies before starting. Keep consequential methodological choices +in astra.yaml, and show me the outputs and their provenance when finished. +``` + +The plugin supplies workflow guidance; the tools still need to be available +where the agent runs. A remote agent environment needs its own `uv`, git, +`lc`, and access to the project and data. + +## Resume an analysis + +Open the agent in the existing project and ask it to orient itself: + +```text +Use the Lightcone skill. Read astra.yaml, AGENTS.md if present, and lc status. +Summarize the question, decisions, existing results, and unfinished work. +Then help me add a second defensible method and compare it with the baseline. +``` + +`astra.yaml` holds the scientific structure. An `AGENTS.md` file can retain +working context such as data quirks, project commands, and decisions about +scope. Results and manifests retain the execution record. Together they +help a new session continue from the project itself. + +For a newly cloned project, run `lc init` in its root to restore the local +environment and repository settings before working with it. + +## Review the handoff + +Ask the agent to finish with the result locations, what changed in the +specification, and any unresolved questions. `lc status` reports the state +of each output; `lc materialize --check` provides a check that exits +nonzero when requested outputs need work. + +The [first analysis tutorial](getting-started.md) shows the commands and +files behind this workflow. [Core concepts](concepts.md) explains how +Lightcone decides whether a result needs to run again. + +Continue with [Write a report](reporting.md) to connect the narrative to +the analysis, or [Share an analysis](sharing.md) to prepare it for others. + +Plugin source and available skills live in +[LightconeResearch/agent-skills ↗](https://github.com/LightconeResearch/agent-skills). diff --git a/docs/user/astra.md b/docs/user/astra.md new file mode 100644 index 0000000..10e647d --- /dev/null +++ b/docs/user/astra.md @@ -0,0 +1,76 @@ +# ASTRA: the analysis specification + +ASTRA is the **external, open specification** that Lightcone uses to describe +an analysis. It has its own documentation, schema, and tools. You can use ASTRA +with other execution tools; Lightcone provides one way to run it and record +the results. [Read the ASTRA documentation ↗](https://astra-spec.org/latest/). + +## What belongs in the specification + +Your project's `astra.yaml` connects the research question to the work needed +to answer it: + +| Element | What you record | +| --- | --- | +| Inputs | The datasets, files, and upstream analyses you use | +| Outputs | The metrics, figures, tables, or other artifacts you intend to produce | +| Decisions | Methodological choices, their alternatives, and the reasons for them | +| Recipes | Commands that produce outputs from declared inputs and choices | +| Prior insights | Existing claims and evidence that inform your approach | +| Findings | Claims supported by the analysis's outputs | +| Universes | A selection of decision options to evaluate together | + +Start with the inputs, outputs, and decisions you need for one result. Add +evidence as the research develops. The +[ASTRA format reference ↗](https://astra-spec.org/latest/specification/) +explains the fields and how they fit together. + +## How Lightcone uses it + +The [Lightcone agent skills](agents.md) help you draft and revise the spec. +The `astra` tools validate its structure and evidence. The `lc` CLI executes +its recipes and tracks the resulting artifacts. + +For an output that `lc` will execute, declare a `format`, a `recipe.command`, +and its input and decision dependencies. The command must write one file to +the `{output}` path supplied by `lc`. See [Your first analysis](getting-started.md) +for a complete working example. + +ASTRA also supports composing sub-analyses. This Lightcone CLI preview executes +flat analyses; use a single analysis with sibling outputs for its recipes. + +Keep the `version:` field written by `lc init`: it comes from the installed +ASTRA schema. It is a schema version, separate from the `lc` and `astra-tools` +package versions. + +## Validate and inspect + +You can run the ASTRA tools through `uvx`, which downloads and caches the +tool environment on first use. These examples use the version required by +the current Lightcone CLI and bundled agent skill: + +```bash +uvx astra-tools@0.2.18 validate +uvx astra-tools@0.2.18 info +uvx astra-tools@0.2.18 spec Output +``` + +Run these from your project directory. With no filename, `validate` checks +the project's specs and universe files. For literature-backed claims, add +`--verify-evidence` to check supporting quotations against their sources: + +```bash +uvx astra-tools@0.2.18 validate astra.yaml --verify-evidence +``` + +The agent plugin runs ASTRA tools with its own version pin and includes a +validation hook for supported agents. Installing Lightcone alone does not +put the separate `astra` command on your shell's `PATH`; `uvx` avoids needing +another installation. + +## Continue with ASTRA + +- [ASTRA getting started ↗](https://astra-spec.org/latest/getting-started/) — learn the format independently of Lightcone. +- [Specification reference ↗](https://astra-spec.org/latest/specification/) — decisions, evidence, composition, and field definitions. +- [ASTRA CLI reference ↗](https://astra-spec.org/latest/cli/) — validation, universes, and paper utilities. +- [ASTRA tools source ↗](https://github.com/LightconeResearch/astra-tools) — the Python CLI and SDK. diff --git a/docs/user/cluster.md b/docs/user/cluster.md index f422897..1e002fa 100644 --- a/docs/user/cluster.md +++ b/docs/user/cluster.md @@ -1,127 +1,169 @@ -# Running on a Cluster +# Compute and clusters -When local laptop time isn't enough, the same project runs on a SLURM -HPC system. There is no separate configuration to learn and no flag to -pass — `lc materialize` detects where it is running, and the allocation -you request *is* the resource declaration. +Use the same workflow on your workstation and on Slurm: launch an allocation, +run your project on its cluster ID, and release it when you finish. `lc status` +and `lc materialize --check` inspect the project without allocating compute. -## The big picture +These commands use the development version in the [installation guide](install.md). -`lc materialize` runs its tasks through a scheduler, and picks the venue -by looking at the environment: +## Start locally -1. **Inside a SLURM allocation** (`SLURM_JOB_ID` is set) → the run - spans every node the allocation holds: one worker per node, launched - via `srun`, using every core it was granted. -2. **Anywhere else** → the local machine, using every core. +Run these commands from a prepared project's root. Without a compute catalog, +Lightcone offers one local CPU and 1 GiB of memory for 30 minutes. You can request +up to two hours with `--time 2h`. -You already answered every sizing question at `salloc` / `sbatch` — -how many nodes, which constraint, how long — so `lc` asks none of its -own. There is no `--jobs`, no worker count, no venue config file. +```bash +lc compute resources +lc compute launch --cpus 1 --memory 1 +``` -## A typical SLURM workflow +Copy the cluster ID printed by `launch` and assign it to `CLUSTER`: -### 1. Prepare on the login node +```bash +CLUSTER=PASTE_CLUSTER_ID_HERE +lc compute status "$CLUSTER" --wait +lc run "$CLUSTER" -- python -c 'print("hello from the cluster")' +lc materialize "$CLUSTER" +lc compute down "$CLUSTER" +``` -Everything except executing recipes works on a login node — and one -verb is *for* it: +Launch returns when the allocation is accepted; `status --wait` waits until its +workers are ready. Finishing a run leaves the allocation available for another +command. `down` requests termination; the allocation also has a time limit. +Local CPU and memory settings are cooperative limits, rather than an exclusive +reservation of your workstation's hardware. + +For scripts, capture the versioned JSON report instead of copying the ID: ```bash -cd $SCRATCH/my-analysis -lc materialize --check # what would run, and why -lc status # where every output stands -lc build # containerized projects: build + commit the image +CLUSTER=$(lc compute launch --cpus 1 --memory 1 --json | uv run python -c 'import json,sys; print(json.load(sys.stdin)["id"])') ``` -### 2. Get an allocation and materialize inside it - -=== "Interactive" - ```bash - salloc --nodes=1 --constraint=cpu --qos=interactive --time=02:00:00 - # salloc drops you onto a compute node; from there: - cd $SCRATCH/my-analysis - lc materialize - ``` +## Request more resources -=== "Batch" - ```bash - cd $SCRATCH/my-analysis - sbatch --nodes=1 --constraint=cpu --qos=regular --time=02:00:00 \ - --wrap 'lc materialize' - ``` +`lc compute resources` lists the configured offers. CPU and memory quantities +are **per node**, with memory in **GiB**. Bare numbers request an exact match; +a `+` suffix accepts a larger offer. The first eligible offer wins. - (Make sure `lc` is on `PATH` in the batch environment — with a - `uv tool install`, that's `export PATH=$HOME/.local/bin:$PATH` in - the script if your shell profile doesn't already do it.) +```bash +lc compute launch --cpus 4+ --memory 8+ --time 1h --dry-run +``` -Ask for more nodes and the run uses them — independent outputs and -universes spread across the allocation with nothing else to say. +`--dry-run` shows the selected offer and launch parameters without allocating. +A real launch requires an offer that can satisfy your request; the built-in +one-CPU offer cannot satisfy this larger example. `--num-nodes` defaults to one. +`--startup fast` selects a service class, without guaranteeing a queue time. + +## Customize resource offers + +Create `~/lightcone-compute.yaml` to replace the built-in offer. This example +exposes a four-CPU local allocation: + +```yaml +version: 1 +connections: + workstation: + namespace: 22c84e48-2f0a-4cd2-90a2-30ce2e909bd1 + provider: local +offers: + - name: workstation + connection: workstation + resources: {cpus: 4, memory: 8} + max_nodes: 1 + time: {default: 30m, max: 2h} + startup: {class: fast} +``` -### 3. Guard rails on known centers +The namespace is a stable UUID identifying the connection. Keep it unchanged +while its clusters exist. A catalog replaces the default completely; stop any +built-in allocation before replacing its connection. -On centers `lc` knows (NERSC today), running `lc materialize` on a -login node refuses with the center's own allocation spellings rather -than quietly hammering a shared node: +Set `LC_COMPUTE_CONFIG` to use another file for both compute and execution: +```bash +export LC_COMPUTE_CONFIG="$HOME/my-compute.yaml" +lc compute resources ``` -Error: lc materialize executes recipes on compute nodes, and this is a -NERSC login node (NERSC_HOST is set with no SLURM allocation active). -Get an allocation and run it there: - - interactive: - salloc --nodes=1 --constraint=cpu --qos=interactive --time=02:00:00 - lc materialize +The compute group's `--config PATH` overrides this for a single invocation. +A missing explicitly selected file is an error. Only the absent default file +enables the built-in offer. + +## Configure Slurm + +Slurm setup depends on your facility. The submitting machine needs native +Slurm commands and permission to use the requested account and service. +The project and the Lightcone installation must be accessible to the workers. + +The following is an illustrative catalog, not a tested deployment recipe. +Replace the paths, account, partition, and resource shape with values for your +facility. The `python` path must point to an environment containing the same +Lightcone and Dask versions as the submitting client. + +```yaml +version: 1 +connections: + hpc: + namespace: 9d0c0fc5-9be8-407a-a3ec-f17c4110b162 + provider: slurm + launch: + python: /shared/tools/lightcone/bin/python + connection_root: /shared/home/alice/.lightcone/compute + scratch_root: /shared/scratch/alice/lightcone + task_slots_per_node: 30 + cpu_bind: threads +offers: + - name: batch + connection: hpc + resources: {cpus: 32, memory: 128} + max_nodes: 4 + time: {default: 1h, max: 12h} + startup: {class: batch} + config: + submit: sbatch + account: myproject + partition: compute +``` - batch (from the project root): - sbatch --nodes=1 --constraint=cpu --qos=regular --time=02:00:00 \ - --wrap 'lc materialize' +Then inspect and launch the allocation: -lc materialize --check, lc status and lc run work anywhere. +```bash +lc compute launch --cpus 32 --memory 128 --num-nodes 2 --time 1h --dry-run +lc compute launch --cpus 32 --memory 128 --num-nodes 2 --time 1h ``` -The read-only verbs are exempt on purpose — a login node is exactly -where "where does this project stand?" gets asked. - -## Containers on HPC - -A containerized project (one with `[tool.lightcone.image]` in its -`pyproject.toml`) works the same way, with three site realities to -know: - -- **`podman-hpc` is detected first.** Sites install it precisely - because plain podman's image store is invisible to compute nodes; - where both exist, `lc` prefers the wrapper and runs its extra - `migrate` step automatically, so the image is readable from every - node. -- **Build on a login node, once.** `lc build` builds the image and - commits it into the repository as versioned content — compute nodes - never build and need no registry access; an unfetched image arrives - through the annex like any other data. The archive records the - architecture it was built for, and a mismatched host is refused - before anything runs — so build where the architecture matches the - compute nodes (on NERSC, a login node). -- **Multi-node runs require a shared image store.** With plain podman - or docker the image exists only on the driver's node, so `lc` - refuses a multi-node containerized run unless the runtime is - `podman-hpc`. Single-node allocations work with any runtime. - -## Data on parallel filesystems - -Keep active projects on the filesystem your center recommends for job -I/O (`$SCRATCH` on NERSC), and remember scratch purge policies — the -project is a git repository, so `git push` to a remote (and -`git annex copy --to` for the bytes) is the durable copy. - -!!! warning "Early days" - HPC support is the youngest part of lightcone-cli and has not yet - been broadly validated on production systems. If something refuses, - hangs, or surprises you on your center, please - [open an issue](https://github.com/LightconeResearch/lightcone-cli/issues) - — site reports are exactly what this layer needs right now. - -## Where to next - -- [Core Concepts](concepts.md) — the model all of this rests on. -- [Troubleshooting](troubleshooting.md) — the refusals, quoted, with - remedies. +Use its returned ID with the same `status --wait`, `materialize`, and `down` +commands as the local example. You do not wrap materialization in `salloc` +or `sbatch`; the compute provider submits the allocation. + +A connection can set `context` to a native Slurm cluster name. Offers can use +`submit: salloc` with site-specific QOS or constraints for interactive services. +Their lifetime across logout or session cleanup needs checking at your site. +Batch submissions are independent of the invoking CLI. + +Check the resolved partition and walltime policy during deployment. Planning +freezes a partition and rejects unlimited overrun policies; site routing based +on QOS may need explicit configuration. Task concurrency is controlled by +`task_slots_per_node`; the scheduler also consumes allocation resources. + +## Execution requirements and limits + +- The driver and workers need the project, prepared environment, and inputs at + the **same absolute paths**, with matching Lightcone, Python major/minor, and + Dask versions. Relaunch compute after changing the worker installation. +- Containerized projects need their prepared image and runtime on every worker. +- Commands receive EOF on stdin. Direct commands inherit the workers' allocation + environment; variables added to the invoking shell after launch are not + forwarded. Use `lc run "$CLUSTER" -- env NAME=value python script.py` for a + command-specific value. +- Use one execution invocation per project at a time. An interrupted client may + leave recipes running; stop the allocation and confirm the work has stopped + before repairing partial outputs. Local containers managed by an external + runtime may also need stopping through that runtime. + +A failed or uncertain submission is not automatically retried on another offer. +If an error includes a submission token, inspect `lc compute status` and the +native scheduler before retrying; the allocation may already exist. Keep the +connection in your catalog while you need to inspect or terminate its clusters. + +The [compute reference](../cli/compute.md) lists all options and status fields. diff --git a/docs/user/concepts.md b/docs/user/concepts.md index b290397..7fb065e 100644 --- a/docs/user/concepts.md +++ b/docs/user/concepts.md @@ -1,151 +1,136 @@ -# Core Concepts +# Core concepts -The mental model behind `lc`, in one page. Nothing here is required to -follow [Getting Started](getting-started.md) — come back when you want -to know *why* the tool behaves the way it does. +A Lightcone project brings your research question, analysis choices, code, data, +and results together in one versioned directory. Agent skills help you develop +and review that project; `lc` runs the analysis and records how each result was +made. The analysis specification follows **ASTRA, an external standard** with +its own [documentation and tooling](https://astra-spec.org/latest/). -## A project is three files +## The project is the research record -A lightcone project is a directory holding an ASTRA spec and a uv -project: +| File or directory | What it holds | +|---|---| +| `astra.yaml` | Inputs, outputs, recipes, methodological decisions, and evidence | +| `universes/` | Selections of decision values to evaluate | +| `pyproject.toml` and `uv.lock` | The analysis dependencies and their resolved versions | +| `data/` | Input data, with large content stored through git-annex | +| `results/` | Generated outputs and their provenance manifests | +| `index.md` and `myst.yml` | The report and its MyST configuration | -- **`astra.yaml`** describes the analysis — inputs, outputs, recipes, - methodological decisions. It is the single source of truth: everything - `lc` does is downstream of it. -- **`pyproject.toml` + `uv.lock`** describe the environment — every - package a recipe may import, resolved to exact versions. The `.venv` - is built *from* the lock and is disposable; the lock is what's real, - and it travels in git. - -There is no global configuration, no registry, no state outside the -project. Clone the repository and you have everything except two pieces -of local machinery (`.venv` and the git-annex initialization), which -`lc init` rebuilds. - -Adding a dependency is a uv operation, not an `lc` one: +Keep your analysis code in the layout that suits your project, such as `src/`. +Add its dependencies with uv: ```bash uv add numpy ``` -That updates `pyproject.toml`, re-locks, and syncs `.venv` in one step. -Recipes import from the locked environment and nothing else — a stray -`pip install` on your machine changes nothing they can see. +The project environment is separate from the installed `lc` tool. Recipes use +packages from your lock file; installing a package elsewhere does not add it to +the analysis. After cloning a project, `lc init` reconstructs the local +environment and initializes git-annex. Annexed data may still need fetching; +materialization fetches the declared inputs it needs. + +## Decisions become universes + +A decision records a methodological choice, its defensible options, and your +reasoning. A universe selects values for those decisions. For example, `baseline` +might keep all observations while `robust` excludes outliers. Lightcone produces +separate results for each universe, so you can compare how the choice affects +your findings. + +ASTRA defines the schema, validation rules, and universe semantics. Lightcone +uses those definitions to execute recipes. See the [glossary](glossary.md) +for the individual terms. + +## Choose compute, then execute -## An output has an identity, and three facts about it +Compute is separate from the research record. Launch a local or Slurm allocation +with `lc compute`, then pass its ID to `lc materialize` or `lc run`. A small +local offer is available without configuration; a user-level catalog exposes +larger allocations and HPC services. -Every materialized output records, in its -`..manifest.json`: +```bash +lc materialize "$CLUSTER" +lc status +lc compute down "$CLUSTER" +``` + +Here `CLUSTER` is the ID returned by `lc compute launch`. A finished command +leaves the allocation available for reuse until you stop it or its lifetime +expires. [Compute and clusters](cluster.md) walks through the full lifecycle. +The project and environment must be visible at the same paths to the driver +and workers. -1. **What it is** — a hash of its recipe and the decision values that - shaped it (its *definition*). -2. **What it was made from** — a content hash of each declared input. -3. **What it ran under** — a hash of the environment (the lock, the - interpreter, the image declaration if any), plus the git commit the - run started at. +## What makes an output current? -Those three facts are deliberately not one fact, because they age -differently — and that is what the three states mean: +Every output has a manifest beside it: `..manifest.json`. It records +the recipe and selected decisions, input content hashes, the environment, and +the Git commit at the start of the run. -| state | means | what `lc materialize` does | +| State | Meaning | Next materialization | |---|---|---| -| `current` | the output is exactly what the spec asks for, made from these inputs, under this environment | nothing | -| `stale` | the output **contradicts** the project: the spec now defines it differently, or an input's content changed | remakes it | -| `behind` | the output is still exactly what the spec asks for — only the **environment** moved since it was made | reports it, leaves it alone | - -The line between `stale` and `behind` is contradiction versus -circumstance. A stale output is mislabelled — keeping it would be a -lie, so it is remade. A behind output is not wrong in any way: one -`uv add` for a plotting script rewrites the lock for the whole project, -and remaking a week of computation over that buys nothing. Its manifest -records exactly which environment and commit produced it, and that -commit's own `uv.lock` reconstructs the environment if you ever need -it. - -When you *do* want behind outputs remade — before a release, say — -that is one flag: +| `current` | Definition, inputs, and environment match the recorded result | Leaves it alone | +| `stale` | Definition or input content changed, or a result was committed outside its run record | Remakes it | +| `behind` | Definition and inputs match, but the environment changed | Leaves it alone unless you use `--refresh` | + +Input changes propagate by content. If rebuilding an upstream result produces +identical bytes, it does not force a downstream rebuild. Changing a dependency +in `uv.lock` makes existing results `behind`, so an unrelated package update +does not automatically repeat expensive work. To refresh those results: ```bash -lc materialize --refresh +lc materialize "$CLUSTER" --refresh ``` -`--refresh` only ever widens a run: a `current` output stays current -under it, and there is deliberately no flag in the other direction — -nothing suppresses the rebuild of a stale output. - -One more way an output can be stale: a hand edit. Every output is -committed by the run that made it, so a file changed by hand and -committed shows up in history under a commit that is not a run record — -and the output classifies `stale` everywhere, with `lc status` naming -the foreign commit. - -## Everything is committed, and the tree stays clean - -`lc` versions results in the project's own git repository: git carries -the history and the small files, git-annex carries the data bytes — -transparently, behind the ordinary `git add` / `git commit` you already -type. - -That model has two consequences you'll feel: - -- **A run starts from a clean tree.** Every output is committed - together with the code that produced it; a run that started from - uncommitted edits could not say what that code was. So: commit, then - materialize. -- **A run ends with a clean tree.** Each output is committed as it - lands — with its manifest, in a commit whose message is a *run - record* that `datalad rerun` can replay. A failed recipe's partial - work is rolled back. Your `git log` is the build log. - -`results/` is `lc`'s to write. Don't put files there by hand — a -hand-placed file has no manifest and no run record, and the foreign -write check above exists precisely to catch it. - -## Two modes, derived from the project - -How recipes execute is never configured — it is read off the project: - -- **Direct mode** (the default): recipes run on your machine, in the - project's `.venv`, under an OS sandbox — Landlock on Linux, Seatbelt - on macOS. The project tree is read-only except each recipe's own - directory its output lands in; undeclared tools don't execute. -- **Containerized mode**: declaring a `[tool.lightcone.image]` table in - `pyproject.toml` *is* the switch. Recipes then run inside a - content-addressed image built from that declaration — and the image - itself is saved into the repository as versioned content, so a clone - obtains the exact bytes with no registry and no credentials. - `lc status` shows the mode and the image's state. - -Either way, every manifest records what enforcement actually ran -(`hermeticity`) — a host with no sandbox mechanism runs the recipe and -says so, rather than pretending. - -## Reading and gating are different verbs - -- **`lc status`** reports. It always exits 0 — a state is not a - failure — runs nothing, and doesn't mind a dirty tree, because the - moment you most need it is when things aren't clean. It's also the - verb that shows the commit each output was made at. -- **`lc materialize --check`** gates. It classifies everything without - running anything and exits 1 if a run would do work — the thing a - script or CI job branches on. - -Both have `--json`; the first two keys of the check report, `ok` and -`up_to_date`, are the ones to branch on. - -## Publication is a license away - -Declaring a `license` under `[project]` in `pyproject.toml` is -declaring the intent to publish. From then on, every `lc materialize` -maintains `ro-crate-metadata.json` at the project root — an -[RO-Crate](https://www.researchobject.org/ro-crate/) describing the -project, its outputs, and the runs that produced them. The repository -*is* the crate; depositing it is `git archive` on something you already -have. - -## Where to next - -- [Running on a Cluster](cluster.md) — the same model on SLURM. -- [Troubleshooting](troubleshooting.md) — the refusals quoted, with - their remedies. -- [Glossary](glossary.md) — the terms, one at a time. +Source code does not automatically participate in the definition hash. Declare +scripts as ASTRA inputs when their content should trigger a rebuild. A recipe +can then refer to a script through its input placeholder. + +## Commit before running + +Materialization starts from a clean Git tree so each result has a precise code +revision. Review and commit your edits before running. The driver then commits +each successful output with its manifest and a replayable run record. Git +stores the history and small files; git-annex stores the larger data bytes. + +A recipe that reports failure has its partial result restored. After a lost +connection or interrupted command, remote recipes may still be writing. Stop +the allocation and confirm they have stopped before cleaning `results/`. +[Execution limits](cluster.md#execution-requirements-and-limits) explain this +case, including local containers that may require separate termination. + +Use one execution command per project at a time. Treat `results/` as generated +content; keep hand-written analysis and report files outside it. + +## Two execution environments + +In **direct mode**, recipes use the project's prepared environment on an +allocation worker. On supported hosts, filesystem access is constrained by +Landlock on Linux or Seatbelt on macOS. Recipes may write in their output +directory and private scratch space. + +In **containerized mode**, a `[tool.lightcone.image]` table in `pyproject.toml` +declares the system layer. `lc build` saves that image in the repository through +git-annex; Python dependencies still come from the project lock. See +[`lc build`](../cli/build.md) for the declaration and runtime requirements. + +Every manifest records the isolation actually enforced. A host without a +supported sandbox reports that fact. Network access remains allowed. + +## Inspect results without running them + +`lc status` shows each result's state and provenance commit. A successful report +exits 0 even if outputs are stale. `lc materialize --check` is the automation +gate: it exits 1 when work would be needed. Neither command needs a cluster or +fetches data, and both accept `--json`. + +## Reports and publication metadata + +Write the research narrative in the project's MyST report and reference the +outputs that support your findings. Declaring a license under `[project]` in +`pyproject.toml` also enables maintenance of `ro-crate-metadata.json`, a +machine-readable description of the project and its provenance. + +That metadata helps archives and other tools understand the research record. +A complete deposit must include the data and result bytes as well as the +metadata: `git archive` alone does not include git-annex content. diff --git a/docs/user/getting-started.md b/docs/user/getting-started.md index dd3052b..cb160ec 100644 --- a/docs/user/getting-started.md +++ b/docs/user/getting-started.md @@ -1,394 +1,234 @@ -# Getting Started +# Your first analysis -Let's go from nothing on your disk to a working, reproducible analysis. -You can read this top to bottom without running anything, or follow along — -every command is copy-paste ready. +Build a small analysis that answers one question: **how much does the choice +of estimator change a result?** You will summarize five measurements using +the mean and the median, then inspect both results and the record of how +they were made. -**What you'll build:** a small two-output analysis that fits a line to a -noisy dataset and sweeps one methodological decision — whether points far -from an initial fit are kept or clipped. The result is two universes, -`baseline` and `robust`, each with its own fitted slope and figure, and a -project that ends published as an [RO-Crate](https://www.researchobject.org/ro-crate/). +Complete the [installation](install.md) first. This example uses Python's +standard library, runs locally, and needs no container or external dataset. +If you prefer to start from your own research question with an assistant, +follow [Work with an agent](agents.md). -Make sure you've finished the [install](install.md) first. - -## 1. Create a project +## 1. Create the project ```bash -lc init line-fit-demo -cd line-fit-demo +lc init first-analysis +cd first-analysis ``` -`lc init` converges the directory to a small, opinionated layout and -stops; it doesn't ask any questions, and it's idempotent — re-running -it later only fills in whatever is missing. +Lightcone creates the project files, a managed Python environment, and a +git repository configured to store data and results. The files you will +work with are: -``` -line-fit-demo/ -├── astra.yaml # the spec, empty for now — this is where everything lives -├── pyproject.toml # the project's environment: its dependencies… -├── .python-version # …and the exact interpreter, locked by uv -├── uv.lock -├── .venv/ # built from the lock (local, never committed) -├── .git/ # a git repository, with git-annex initialized -├── .gitattributes # the storage policy: what the annex carries -├── .gitignore -├── .datalad/ # dataset identity — the project is a DataLad dataset -├── data/ # declared input data lives here -├── results/ # outputs materialize here — lc's to write, not yours -├── universes/ -│ └── baseline.yaml # one universe, selecting nothing yet -├── myst.yml # MyST report configuration -└── index.md # template report, to reference the spec from -``` +| File or directory | Your use | +| --- | --- | +| `astra.yaml` | Describe the inputs, outputs, and methodological choices | +| `universes/` | Select the choices to run | +| `data/` | Keep the input measurements | +| `src/` | Write the analysis scripts; you will create this directory | +| `pyproject.toml` and `uv.lock` | Declare and lock the project's dependencies | +| `results/` | Read the outputs produced by Lightcone | +| `index.md` and `myst.yml` | Develop a report when you are ready | -Two things are worth registering now: +Run the remaining commands from this project directory. -- **The project is a git repository.** Every - output `lc` makes is committed together with the code that produced - it; large files ride in git-annex behind the scenes, but you only - ever type ordinary `git add` and `git commit`. -- **The environment is the lock.** `pyproject.toml` + `uv.lock` define - exactly what your recipes can import, and `.venv` is built from them. - You'll add packages with `uv add` in a moment — never `pip install`. +## 2. Add the data and script -The file you'll actually work in is **`astra.yaml`** — the single source -of truth for your analysis. Inputs, outputs, methodological decisions, -recipes: everything else lightcone-cli does is downstream of this file. +Create the input file and a script that accepts the estimator as an argument: -## 2. Add the data +```bash +mkdir -p src +cat > data/measurements.txt <<'EOF' +1 +2 +3 +4 +18 +EOF -A real project starts from a dataset; ours will generate a small one — -200 points on a line, with a few outliers thrown far off it: +cat > src/estimate.py <<'EOF' +import argparse +import json +import statistics +from pathlib import Path -```bash -python3 - <<'EOF' -import random -random.seed(0) -rows = ["x,y"] -for _ in range(200): - x = random.uniform(0, 10) - y = 2.5 * x + 1.0 + random.gauss(0, 1.5) - if random.random() < 0.04: - y += random.gauss(0, 15) - rows.append(f"{x:.6f},{y:.6f}") -open("data/points.csv", "w").write("\n".join(rows) + "\n") +parser = argparse.ArgumentParser() +parser.add_argument("--data", required=True) +parser.add_argument("--method", choices=["mean", "median"], required=True) +parser.add_argument("--output", required=True) +args = parser.parse_args() + +values = [float(line) for line in Path(args.data).read_text().splitlines()] +estimator = statistics.mean if args.method == "mean" else statistics.median +result = {"method": args.method, "estimate": estimator(values), "n": len(values)} +Path(args.output).write_text(json.dumps(result, indent=2) + "\n") EOF ``` -`data/` is where declared inputs live. When you commit, the -`.gitattributes` policy routes the file's bytes into git-annex -automatically — the file stays an ordinary readable, writable file in -your tree, and the repository stays light. +For your own scripts, add packages with `uv add`, for example +`uv add numpy`. Lightcone runs recipes in the environment described by the +project's lockfile. -## 3. Write the spec +## 3. Describe the analysis -`astra.yaml` was scaffolded as an empty analysis. Fill it in with ours: +Replace the example contents of `astra.yaml` with the following. Keep the +`version:` value written by `lc init` if it differs from this example: -```yaml -version: "0.0.13" # ASTRA schema version — keep what the scaffold wrote -name: "line_fit" -description: | - Fit a straight line to a small synthetic dataset and sweep one - methodological decision: whether points far from an initial fit are - kept or clipped before the final fit. +```yaml title="astra.yaml" +version: "0.0.14" +name: Estimator comparison +description: Compare the mean and median of five measurements, including a large value. inputs: - - id: points + - id: measurements type: data - source: data/points.csv - description: "200 synthetic (x, y) points, a few of them far off the line" + source: data/measurements.txt + description: Five example measurements. + - id: estimator_script + type: data + source: src/estimate.py + description: Implementation of the two estimators. outputs: - - id: fit + - id: estimate type: metric format: json - description: "Slope and intercept of the least-squares line" - inputs: [points] - decisions: [outliers] + description: Estimated central value and number of measurements. + inputs: [measurements, estimator_script] + decisions: [estimator] recipe: - command: python src/fit.py --points {inputs.points} --outliers {decisions.outliers} --output {output} - - - id: fit_plot - type: figure - format: png - description: "The points and the fitted line" - inputs: [points, fit] - recipe: - command: python src/plot.py --points {inputs.points} --fit {inputs.fit} --output {output} + command: >- + python {inputs.estimator_script} + --data {inputs.measurements} + --method {decisions.estimator} + --output {output} decisions: - outliers: - label: "Outlier handling" - rationale: "A few points sit far off the line; keeping or clipping them shifts the slope." - default: keep + estimator: + label: Choice of estimator + rationale: The mean and median respond differently to extreme measurements. + default: mean options: - keep: - label: "Keep every point" - clip: - label: "Drop points beyond 3 sigma of an initial fit" -``` - -A few things to notice: - -- Each output declares its full dependency contract: `fit` depends on - the `points` input and the `outliers` decision; `fit_plot` depends on - `points` and on the sibling output `fit`. That contract is how `lc` - orders the build — and how it knows what to rebuild when something - changes. -- Recipes reference those dependencies through placeholders — - `{inputs.points}`, `{decisions.outliers}`, `{output}` — which are - expanded at execution time. `{output}` is the output's own file, - `results//.`; the engine creates the - directory before the recipe runs, and the recipe writes that one path. -- Each output declares a `format` — the extension its artifact is - written with. It is what names the file, so a consumer knows what an - output *is* from the spec alone, and one output is always one file. -- The decision's options aren't hardcoded anywhere in code; the scripts - will take them as command-line arguments. - -`universes/baseline.yaml` was scaffolded empty, so give it a value for -our decision: - -```yaml -id: baseline -description: "Every point kept — the decision defaults." -decisions: - outliers: keep + mean: + label: Arithmetic mean + median: + label: Median ``` -Each universe is one complete selection of decision values; its results -materialize to `results//.`. +The script is a declared input too, so changing its contents makes the +result need rebuilding. The recipe receives the selected decision and the +output filename from Lightcone. -Check the spec is well-formed: +Replace `universes/baseline.yaml` and add `universes/robust.yaml`: ```bash -astra validate astra.yaml -``` - -(`astra` is the spec-side CLI; it ships with `astra-tools`, a dependency -of lightcone-cli.) - -## 4. Write the scripts - -Two short scripts, in a `src/` directory (`mkdir src` — the scaffold -doesn't create it; where code lives is your choice, the recipes above -just happen to point there). First `src/fit.py`: - -```python -import argparse -import json -from pathlib import Path - -import numpy as np - -parser = argparse.ArgumentParser() -parser.add_argument("--points", required=True) -parser.add_argument("--outliers", choices=["keep", "clip"], required=True) -parser.add_argument("--output", required=True) -args = parser.parse_args() +cat > universes/baseline.yaml <<'EOF' +id: baseline +description: Summarize the measurements using the mean. +decisions: + estimator: mean +EOF -x, y = np.loadtxt(args.points, delimiter=",", skiprows=1, unpack=True) -if args.outliers == "clip": - slope, intercept = np.polyfit(x, y, 1) - residuals = y - (slope * x + intercept) - mask = np.abs(residuals) < 3 * residuals.std() - x, y = x[mask], y[mask] -slope, intercept = np.polyfit(x, y, 1) - -Path(args.output).write_text( - json.dumps({"slope": slope, "intercept": intercept, "n_used": len(x)}, indent=2) -) +cat > universes/robust.yaml <<'EOF' +id: robust +description: Summarize the measurements using the median. +decisions: + estimator: median +EOF ``` -Then `src/plot.py` — reads the upstream output's file, makes the -figure: - -```python -import argparse -import json -from pathlib import Path - -import matplotlib - -matplotlib.use("Agg") -import matplotlib.pyplot as plt -import numpy as np +Each file defines a **universe**: one set of methodological choices. Both +use the same data and script. Validate the spec and both universes: -parser = argparse.ArgumentParser() -parser.add_argument("--points", required=True) -parser.add_argument("--fit", required=True) -parser.add_argument("--output", required=True) -args = parser.parse_args() - -x, y = np.loadtxt(args.points, delimiter=",", skiprows=1, unpack=True) -fit = json.loads(Path(args.fit).read_text()) - -fig, ax = plt.subplots() -ax.scatter(x, y, s=12) -xs = np.linspace(x.min(), x.max(), 2) -ax.plot(xs, fit["slope"] * xs + fit["intercept"], color="C1") -ax.set_xlabel("x") -ax.set_ylabel("y") -ax.set_title(f"slope = {fit['slope']:.3f}") -fig.savefig(args.output, dpi=150) +```bash +uvx astra-tools@0.2.18 validate ``` -Both scripts import from the project's locked environment, so declare -what they need: +## 4. Make the results + +Commit the project files before running. Lightcone uses this commit to +identify the analysis that produced each result: ```bash -uv add numpy matplotlib +git add astra.yaml universes/ src/ data/ pyproject.toml uv.lock \ + .python-version .gitignore .gitattributes .datalad/ myst.yml index.md results/README.md +git commit -m "Define the estimator comparison" ``` -That one command updates `pyproject.toml`, re-locks `uv.lock`, and syncs -`.venv`. It's the only way packages reach a recipe — recipes run -sandboxed in the locked environment, so a stray `pip install` on your -machine changes nothing they can see. That's a feature: the lock *is* -the record of what your results were computed with. - -## 5. Materialize - -Commit, then build: +Request a small local allocation, wait until it is ready, and run the +analysis. The built-in offer is configured for 1 CPU and 1 GiB of memory +without a compute configuration file: ```bash -git add -A && git commit -m "Line-fit analysis" -lc materialize +CLUSTER_ID=$(lc compute launch --cpus 1 --memory 1 --json | \ + uv run --locked python -c 'import json, sys; print(json.load(sys.stdin)["id"])') +lc compute status "$CLUSTER_ID" --wait +lc materialize "$CLUSTER_ID" ``` -The commit isn't ceremony — every output is committed together with the -code that produced it, so a build refuses to start from a tree with -uncommitted edits (it wouldn't be able to say what code ran). Then: +Keep this terminal open: `CLUSTER_ID` identifies the allocation for later +commands. If you already configured a compute catalog, the request uses +that catalog's offers instead; inspect them with `lc compute resources`. -``` - ✓ made baseline/fit - ✓ made baseline/fit_plot - ! no [project].license in pyproject.toml, so no RO-Crate publication - view is maintained — declare one to enable it +Lightcone runs the recipe once for each universe and commits each output +with its provenance manifest. It chooses the result paths: -✓ Made 2 output(s) in /home/you/line-fit-demo +```text +results/ +├── baseline/ +│ ├── estimate.json +│ └── .estimate.manifest.json +└── robust/ + ├── estimate.json + └── .estimate.manifest.json ``` -(We'll come back to that license line in step 7.) Each output landed in -`results/baseline/.` next to a -`..manifest.json` — -a manifest recording the recipe, the decisions, the input hashes, the -environment, and the commit — and was committed with a run record that -`datalad rerun` can replay. Look at `git log`: the build wrote history, -not just files. +The message about a missing project license does not prevent execution. +You can add a license when you prepare the project for sharing. -Check where things stand any time: +## 5. Compare and inspect ```bash +cat results/baseline/estimate.json +cat results/robust/estimate.json lc status +lc materialize --check +git log --oneline -3 ``` -``` - mode: direct - sandbox: landlock (fs: declared, network: allowed) - crate: not maintained — declare [project].license to enable it - - · current baseline/fit a3f1f11 - · current baseline/fit_plot a3f1f11 +| Universe | Estimator | Result | +| --- | --- | --- | +| `baseline` | Mean | `5.6` | +| `robust` | Median | `3.0` | -2 current -``` +The difference shows the effect of the large measurement under these two +choices. Both results should be `current`, and `lc materialize --check` +should succeed. Each manifest records the inputs, decisions, command, +environment, and producing commit. -The commit column is the answer to "which code made this?" — for every -output, current or not. And `lc materialize` is idempotent: run it again -and it reports the project is up to date without executing anything. - -## 6. Sweep the decision - -Add the second universe — `universes/robust.yaml`: - -```yaml -id: robust -description: "Points beyond 3 sigma of an initial fit are dropped." -decisions: - outliers: clip -``` - -Commit and materialize again: +Run the same command again to see matching outputs reused, then release +the allocation: ```bash -git add -A && git commit -m "Add the robust universe" -lc materialize -``` - +lc materialize "$CLUSTER_ID" +lc compute down "$CLUSTER_ID" ``` - ✓ made robust/fit - ✓ made robust/fit_plot - · up to date baseline/fit - · up to date baseline/fit_plot -✓ Made 2 output(s) in /home/you/line-fit-demo -``` - -Only the new universe's outputs ran — `baseline` was already exactly -what the spec asks for, so it wasn't touched. Your comparison is on -disk: with this guide's synthetic dataset, clipping drops 4 points and -moves the slope from 2.414 to 2.450 — visibly closer to the true 2.5 -the data was generated with. - -If a recipe fails, `lc materialize` reports which output failed and why, -and leaves the tree as clean as it found it; fix the script or the spec, -commit, and rerun — only the affected outputs re-execute. +Release the allocation with `lc compute down "$CLUSTER_ID"` even if a recipe +fails. You can always inspect allocations with `lc compute status` if you +lose the shell variable. -## 7. Publish +To try a change, edit `data/measurements.txt` and commit that file. Launch +another allocation with the commands in step 4, materialize, and release +it when finished. Both universes will use the new data. -RO-Crate requires a license, so declaring one is how you tell `lc` the -project is meant for the outside world. Add one line under `[project]` -in `pyproject.toml`: - -```toml -license = "CC-BY-4.0" -``` - -then commit and materialize once more: - -```bash -git add -A && git commit -m "Declare a license" -lc materialize -``` +## Continue with your research -Nothing is rebuilt — but `ro-crate-metadata.json` appears at the project -root and is committed automatically. From here on, every materialize -keeps it in line with the repository: the project *is* the crate, and -depositing it is just `git archive` (or `datalad export-archive`) on a -repository you already have. - -## What just happened - -- `astra.yaml` was the only place your analysis was *described* — - inputs, outputs, the decision, and the recipes all live there. -- The scripts take decision values as plain command-line arguments, so - nothing methodological is hardcoded. -- `lc materialize` ran each recipe in the project's locked environment, - sandboxed — free to write the directory its output lands in, and - nothing else — - and committed every output with a manifest and a re-runnable run - record. -- `lc status` and `lc materialize --check` read those manifests — they - don't re-execute anything; they just classify. An output is remade - when the spec defines it differently than it was made, or when its - declared inputs changed; an output whose *environment* has since - moved is reported as `behind` and deliberately left alone — the - manifest records exactly which environment and commit produced it. - -Clone this repository on a fresh machine, run `lc init` (it rebuilds -the two pieces of local state git doesn't carry — the `.venv` and the -annex), then `lc materialize`: it reports up to date without fetching a -single data byte, because the provenance travels in git. The bytes -themselves follow with `git annex get` whenever you actually need them. - -## Where to next - -- [Core Concepts](concepts.md) — the model behind what you just did: - the three states, the commit discipline, the two execution modes. -- [Running on a Cluster](cluster.md) — take the same project to SLURM. -- [Troubleshooting](troubleshooting.md) — when something goes sideways. -- [Glossary](glossary.md) — terms like universe, decision, and manifest - in plain language. -- The [ASTRA docs](https://astra-spec.org/latest/) — the full spec: - sub-analyses, prior insights, findings, and evidence. +- [Work with an agent](agents.md) to scope a larger question or bring in existing code. +- [Core concepts](concepts.md) explains decisions, universes, and result states. +- [ASTRA](astra.md) introduces evidence and links to the external specification. +- [Write a report](reporting.md) connects the narrative to your analysis and results. +- [Share an analysis](sharing.md) explains publication metadata and transferring result files. +- [Running on a cluster](cluster.md) covers larger compute allocations. +- [Troubleshooting](troubleshooting.md) helps with installation and execution errors. diff --git a/docs/user/glossary.md b/docs/user/glossary.md index 537ba98..96cb996 100644 --- a/docs/user/glossary.md +++ b/docs/user/glossary.md @@ -1,17 +1,32 @@ # Glossary -The terms you'll see all over the docs and the `lc` command output, in -plain language. +Terms used across the Lightcone research workflow, its agent skills, and +the `lc` command output. + +## Lightcone + +The research stack that connects agent guidance, analysis implementation, +reproducible execution, and reporting. Its agent skills help you develop a +project; `lightcone-cli` executes it and records provenance. The analysis +specification follows the external ASTRA standard. + +## Agent skill + +Instructions and supporting resources that teach a compatible coding agent +a research workflow. Lightcone's `lightcone` plugin bundles the `lightcone` +and `astra` skills, together with validation hooks. Skills guide the agent; +the CLI and ASTRA tools perform execution and validation. ## ASTRA **A**gentic **S**chema for **T**ransparent **R**esearch **A**nalysis. -The schema lightcone-cli is built around. ASTRA's job is to capture an +An external standard that Lightcone uses. ASTRA's job is to capture an analysis's inputs, outputs, and methodological decisions in a single file (`astra.yaml`); lightcone-cli's job is to execute that spec reproducibly. ASTRA ships separately as the `astra-tools` package, and its `astra` CLI handles the spec itself (validation, universe -management, evidence verification). +management, evidence verification). Its authoritative documentation lives at +[astra-spec.org](https://astra-spec.org/latest/). ## astra.yaml @@ -62,6 +77,20 @@ in dependency order and commits every result as it lands. Idempotent — a second run remakes only what is `stale`, and a run with nothing to do says so and touches nothing. +## Compute allocation + +Resources launched with `lc compute launch` for a bounded lifetime, locally or +on Slurm. The returned cluster ID is required by `lc materialize` and `lc run`. +An execution command borrows the allocation; it stays available until you +release it with `lc compute down` or its lifetime expires. + +## Resource offer + +A CPU and memory shape, node limit, and time limit that your compute catalog +makes available. `lc compute resources` lists offers in selection order. CPU +and memory are per node; an offer describes a requestable shape, not live free +capacity. See [Compute and clusters](cluster.md). + ## Manifest The per-output sidecar JSON file, `..manifest.json` beside @@ -169,8 +198,9 @@ The publication view. Declare a `license` under `[project]` in `pyproject.toml` and every materialize maintains `ro-crate-metadata.json` — a machine-readable description of the project, its outputs, and the runs that produced them, following the -Provenance Run Crate profile. The repository is the crate; deposit is -`git archive`. +Provenance Run Crate profile. The metadata describes the repository. A complete +deposit also needs the actual data and output files: `git archive` alone does +not include git-annex content. ## Prior insight diff --git a/docs/user/index.md b/docs/user/index.md index c2dc24b..d3b77f3 100644 --- a/docs/user/index.md +++ b/docs/user/index.md @@ -1,73 +1,40 @@ -# Welcome to the user guide +# Meet the research stack -`lightcone-cli` is a small toolchain that turns a research question into -a reproducible analysis. You describe what you're trying to learn as a -precise specification — an `astra.yaml` file following the -[**ASTRA**][astra] schema — and the `lc` command line keeps the -resulting code, environments, decisions, and outputs in sync. +Lightcone connects a research question to a record of how you answered it. You describe the analysis, write the code, and run it; the tools keep track of the methodological choices, inputs, environment, and outputs along the way. -ASTRA specs are plain YAML, designed to be easy for both humans and AI -assistants to write. However the spec gets written, **you stay in charge -of the scientific choices** — every methodological decision is declared -in the open, and `lc` records exactly what produced every result: the -recipe, the decisions, the input data, the environment, and the commit. +Start with [installation](install.md) and [your first analysis](getting-started.md). Add the agent plugin if you want an assistant to help you work through the same workflow. -## What this guide covers +## What each piece does -- [Install](install.md) — get the `lc` command line running on your - machine or on a cluster. -- [Getting Started](getting-started.md) — create your first project, - build it end-to-end, and understand what each piece does. -- [Core Concepts](concepts.md) — the model behind the tool: what the - states mean, why everything is committed, and how the two execution - modes differ. -- [Running on a Cluster](cluster.md) — taking your analysis to a SLURM - HPC system. -- [Troubleshooting](troubleshooting.md) — common issues and how to - unstick them. -- [Glossary](glossary.md) — the terms that show up everywhere - (universe, decision, manifest, …) explained in plain language. +| Piece | What you use it for | Where it lives | +| --- | --- | --- | +| **Lightcone CLI** (`lc`) | Create a project, run recipes, inspect result status, and record provenance. | [lightcone-cli](https://github.com/LightconeResearch/lightcone-cli) | +| **Lightcone agent plugin** | Help your coding agent scope a question, maintain a specification, implement recipes, and resume work. Includes the ASTRA skill and validation hooks. | [agent-skills](https://github.com/LightconeResearch/agent-skills) | +| **ASTRA specification and tools** — external | Describe the analysis in `astra.yaml`; validate its structure and inspect its decisions and evidence with `astra`. | [ASTRA documentation ↗](https://astra-spec.org/latest/) · [astra-tools ↗](https://github.com/LightconeResearch/astra-tools) | -## What you'll do, in a handful of lines +ASTRA has its own specification, releases, and documentation. Lightcone builds on it. This site covers [how ASTRA fits into your project](astra.md); the external ASTRA documentation is the reference for the schema and its tools. -!!! tip "Quick start" +The agent plugin is optional. Your specification is ordinary YAML and your recipes run your own scripts, so you can use the same project with or without an assistant. - === "uv" - ```bash - uv tool install lightcone-cli - lc init my-analysis && cd my-analysis - # describe your analysis in astra.yaml, write your scripts, - # declare what they import (uv add numpy ...), then: - git add -A && git commit -m "First analysis" - lc materialize - ``` +## From a question to a result - === "pip" - ```bash - pip install lightcone-cli - lc init my-analysis && cd my-analysis - # describe your analysis in astra.yaml, write your scripts, - # declare what they import (uv add numpy ...), then: - git add -A && git commit -m "First analysis" - lc materialize - ``` +1. **Describe the work.** Record the question, inputs, expected outputs, and methodological decisions in `astra.yaml`. An [agent can help you scope it](agents.md). +2. **Implement the analysis.** Write scripts, add dependencies with `uv add`, and connect each output to a recipe in the specification. +3. **Run and inspect.** Commit your changes, materialize the outputs with `lc`, and inspect their status. Each recorded result carries the information needed to trace how it was produced. +4. **Compare choices.** Create a *universe* for each combination of decision options you want to study. [Core concepts](concepts.md) explains how those alternatives relate to outputs. +5. **Communicate the result.** [Write a report](reporting.md) and [prepare the project for sharing](sharing.md), keeping the result connected to its provenance. -That's the shortest possible path. The rest of the guide is the -unhurried version — and the commit is not ceremony: every output is -committed together with the code that produced it, which is why a build -starts from a clean tree. +You remain responsible for the scientific argument: which alternatives are defensible, whether a method answers the question, and what the results support. A valid specification and a reproducible run make that argument easier to inspect. -## What lightcone-cli is *not* +## Find the help you need -- **A statistics package.** It runs your code; it doesn't compute - things itself. -- **A workflow language.** Recipes in `astra.yaml` are short shell - commands, not a DSL. There's no learning curve beyond what's in - [Getting Started](getting-started.md). -- **An IDE.** `lc` is a command-line tool; write `astra.yaml` and your - analysis code with whatever editor or tooling you prefer. - -If you'd rather skim the design and architecture, the -[maintainer docs](../maintainer.md) are the other half of this site. - -[astra]: https://astra-spec.org/latest/ +| I want to… | Start here | +| --- | --- | +| Get the tools running | [Install](install.md) | +| Follow a complete example | [Your first analysis](getting-started.md) | +| Start or resume with a coding agent | [Work with an agent](agents.md) | +| Understand decisions, universes, and output status | [Core concepts](concepts.md) | +| Run on an HPC system | [Run on a cluster](cluster.md) | +| Resolve an error | [Troubleshooting](troubleshooting.md) | +| Look up a command | [CLI reference](../cli/index.md) | +| Work on the tools themselves | [Contribute](../maintainer.md) | diff --git a/docs/user/install.md b/docs/user/install.md index 48f13ed..1065aa5 100644 --- a/docs/user/install.md +++ b/docs/user/install.md @@ -1,124 +1,132 @@ -# Install +# Install Lightcone -To work on a lightcone project you need two things on your machine: -[uv](https://docs.astral.sh/uv/) and git. Everything else — Python -itself included — is installed by uv or ships with `lc`. +Install the `lc` command, then add the agent plugin if you want to work with +an assistant. You need **git and uv** on Linux or macOS. On Windows, use a +Linux environment under WSL. -!!! note "Supported platforms" - Linux (glibc 2.34+, x86_64 or aarch64) and macOS (14+ on Apple - silicon, 15+ on Intel). On Windows, use WSL. +!!! info "Preview installation" + These docs follow the upcoming explicit compute workflow. The installation + below pins [the preview source](https://github.com/LightconeResearch/lightcone-cli/tree/835de9e7c2df726722ffff8c6863d6f9b16ee577), + which includes `lc compute`. The PyPI releases, including `0.5.0rc4`, + do not yet include that command. -## 1. uv and git +## 1. Install uv -`lc` uses uv as its only environment substrate — projects are -`pyproject.toml` + `uv.lock`, and uv manages the Python interpreters -too, so there is no separate Python install step. +If `uv --version` already reports version **0.12 or newer**, skip this step. +Otherwise, run the [official uv installer](https://docs.astral.sh/uv/getting-started/installation/): -=== "macOS / Linux" - ```bash - curl -LsSf https://astral.sh/uv/install.sh | sh - ``` - - git is preinstalled on macOS; on Linux use your package manager - (`apt install git`, `dnf install git`, …). - -=== "NERSC Perlmutter" - NERSC doesn't ship `uv`, but it installs into your home directory - with a single curl: - - ```bash - curl -LsSf https://astral.sh/uv/install.sh | sh - ``` +```bash +curl -LsSf https://astral.sh/uv/install.sh | sh +``` - `uv` lands under `~/.local/bin` — make sure it's on your `PATH`. - git is already on the system. +Restart your terminal so it can find `uv`, then check that git is available: -## 2. lightcone-cli +```bash +uv --version +git --version +``` -The published name on PyPI is `lightcone-cli`; the command it provides -is `lc`. +If git is missing, follow the [git installation instructions](https://git-scm.com/install/) +for your operating system. uv installs and manages Python for you. -=== "uv" - ```bash - uv tool install lightcone-cli - ``` +## 2. Install Lightcone -=== "pip" - ```bash - python -m pip install lightcone-cli - ``` +```bash +uv tool install 'lightcone-cli @ git+https://github.com/LightconeResearch/lightcone-cli.git@835de9e7c2df726722ffff8c6863d6f9b16ee577' +lc --version +lc compute --help +``` -Get a confirmation of the proper installation by running +This installs `lc` and its dependencies in an isolated tool environment, +including the git-annex executables needed to store project data. There +is no separate Python, ASTRA, or container setup for the first analysis. - lc --version # → lc, version ... +??? info "Supported platforms" + The bundled git-annex wheels require Linux with glibc 2.34 or newer + (x86_64 or aarch64), macOS 14 or newer on Apple silicon, or macOS 15 + or newer on Intel. For Windows, run the installation and analysis + commands inside WSL. -> **Note** Some people may have already set a personal shell alias -> `lc='ls --color'`. If that's you, installing lightcone-cli will shadow -> the alias — make sure to rebind it (e.g. `alias l='ls --color'`). +If your terminal cannot find `lc`, run `uv tool update-shell` and open a +new terminal. If you already have an unrelated shell alias named `lc`, +remove or rename it first. -## 3. Tell git who you are +## 3. Check your git identity -Every output `lc` makes is committed, so git needs an identity before -the first build — `lc materialize` checks up front rather than failing -after your recipes have run: +Lightcone commits the outputs it produces. If you already make git commits +on this machine, you can skip this step. Otherwise, set your own name and +email: ```bash -git config --global user.name "Ada Lovelace" -git config --global user.email "ada@example.org" +git config --global user.name "Your Name" +git config --global user.email "you@example.org" ``` -If you already commit from this machine, you're done. +**You're ready.** Continue to [Your first analysis](getting-started.md), +or add the agent plugin below. -## 4. (Optional) Podman or Docker +## Add an agent (optional) -Only *containerized* projects need a container runtime — a project opts -in by declaring `[tool.lightcone.image]` in its `pyproject.toml`, and -until it does, recipes run directly on your machine in the project's -own locked environment. +Use an existing installation of Claude Code or Codex. Register the Lightcone +marketplace and install the **`lightcone`** plugin: -- Local machine: install [Podman](https://podman.io/) (rootless, no - daemon) or [Docker](https://docs.docker.com/get-docker/). -- HPC login node: see [Running on a Cluster](cluster.md). +=== "Claude Code" -There is nothing to configure: `lc` detects whichever runtime is -available (`podman-hpc`, then `podman`, then `docker` — skipping docker -if its daemon isn't running). + Run in your terminal: -## Sanity check + ```bash + claude plugin marketplace add LightconeResearch/agent-skills + claude plugin install lightcone@lightcone-research + ``` - lc --help - lc init --help + Start a new session and invoke `/lightcone:lightcone`. + See [Claude Code's plugin documentation](https://code.claude.com/docs/en/discover-plugins) + for plugin management. -Both should print help text. If `lc` is shadowed by an `ls` alias, -unset it (`unalias lc`) or use the full path (`$(which lc) --version`). +=== "Codex" -## Updating + Run in your terminal: -=== "uv tool" ```bash - uv tool upgrade lightcone-cli + codex plugin marketplace add LightconeResearch/agent-skills + codex plugin add lightcone@lightcone-research ``` -=== "pip" - ```bash - pip install -U lightcone-cli - ``` + Start a new session and invoke `$lightcone:lightcone`. + If your Codex version does not offer `plugin add`, use its plugin browser + to install `lightcone` from the added marketplace. See + [OpenAI's marketplace documentation](https://developers.openai.com/plugins/build/plugins#add-a-marketplace-from-the-cli) + and [plugin installation guidance](https://developers.openai.com/learn/developers-codex-plugin#install-the-plugin). -An upgrade never invalidates your results: the engine's version is -recorded in every output's manifest, but it is not part of any output's -identity, so nothing gets rebuilt just because `lc` moved. +The plugin bundles the Lightcone and ASTRA skills, including validation +hooks. **Do not install the `astra` plugin alongside it**: that skill is +already included. The plugin uses `uvx` to fetch its pinned ASTRA tools on +first use. -## Uninstalling +The current plugin was written for the earlier CLI release. For the preview's +compute commands, use the workflow in these docs and the installed CLI's +`--help`. Continue to [Work with an agent](agents.md). -=== "uv tool" - ```bash - uv tool uninstall lightcone-cli - ``` +## Optional tools for later -=== "pip" - ```bash - pip uninstall lightcone-cli - ``` +| When you need it | What to add | +| --- | --- | +| A project needs system libraries in a container | Podman or Docker; see [execution environments](concepts.md#two-execution-environments) | +| You want more local resources or a Slurm allocation | A compute catalog; see [Running on a cluster](cluster.md) | +| You want to inspect or validate ASTRA by hand | Use `uvx astra-tools@0.2.18`; see [ASTRA tools](astra.md#validate-and-inspect) | +| You want to preview an interactive report | MyST and its Node.js runtime; see [Write a report](reporting.md) | + +## Update or remove Lightcone + +This preview is pinned so everyone following the tutorial gets the same +CLI. To move to another preview commit or a published release, run +`uv tool install` with that version or source. Check its release notes +before changing the version used for an ongoing project. + +To remove the command: + +```bash +uv tool uninstall lightcone-cli +``` -Your projects are untouched — everything `lc` knows about an analysis -lives in the project's own repository, not in any global state. +Your project files and their git history remain on disk. diff --git a/docs/user/reporting.md b/docs/user/reporting.md new file mode 100644 index 0000000..b54421c --- /dev/null +++ b/docs/user/reporting.md @@ -0,0 +1,89 @@ +# Write a report + +Your Lightcone project includes a place to explain the question, methods, and +results. `lc init` creates `index.md` for the report and `myst.yml` for its +configuration. Write your argument in Markdown, and reference the analysis's +decisions and outputs so the report follows the work as it changes. + +## Preview the scaffold + +Install the [MyST CLI](https://mystmd.org/guide/installing) with a current Node.js +LTS release and npm available: + +```bash +npm install -g mystmd +myst --version +``` + +From your project directory, alongside `astra.yaml`, start the preview: + +```bash +myst start +``` + +Open the address printed in the terminal. Replace the TODO sections in +`index.md` with your introduction, methods, and results. MyST refreshes the +preview when you save Markdown. After changing `astra.yaml`, a universe, or a +result file, save a Markdown page again or restart the preview. + +The generated configuration already loads the ASTRA reporting plugin and article +theme. Keep that configuration when editing the report; there is no separate +plugin installation step. + +## Reference your analysis + +Use the ids from your own `astra.yaml` to mention an output or embed a decision. +For example, the [worked example](getting-started.md) declares `estimator` and +`estimate`: + +````markdown title="index.md" +## Methods + +:::{astra} decisions.estimator +::: + +## Results + +The {astra}`outputs.estimate` output records the result for each estimator. +```` + +For measured values, use a live value reference supported by your output format +instead of copying a number into prose. The external +[report authoring guide](https://lightconeresearch.github.io/MySTRA/authoring/) +covers values, tables, citations, and other reference forms. + +## Check the report against the results + +Before sharing, check the analysis: + +```bash +lc status +lc materialize --check +``` + +If work is needed, commit your edits and run `lc materialize CLUSTER_ID` with +your allocated cluster's id. See [compute setup](cluster.md) if you need an +allocation. The report reads result files from disk; building the report does +not run analysis recipes or retrieve missing annexed results. + +Then build and inspect the report: + +```bash +myst build +myst build --html +``` + +The HTML site is written to `_build/html/`. Read the build diagnostics and check +the preview for unresolved references and missing figures or values. A successful +build alone is insufficient: some references can fall back to plain text. After +renaming an analysis element, update its references in the Markdown too. When you +have several universes, check which one the reporting plugin resolves before +interpreting its figures and numbers. + +The scaffold uses unpinned plugin and theme URLs. For a report you need to +rebuild later, pin their versions in `myst.yml` and record the MyST version used; +the comments in the generated configuration show where to pin them. Reporting +is still evolving, so consult the linked authoring documentation for the version +you use. + +Next: [share your work](sharing.md), including the analysis and its provenance. diff --git a/docs/user/sharing.md b/docs/user/sharing.md new file mode 100644 index 0000000..1e0d96a --- /dev/null +++ b/docs/user/sharing.md @@ -0,0 +1,86 @@ +# Share your work + +A useful research handoff includes the analysis, the files it produced, and the +record of how those files were made. Lightcone can maintain a machine-readable +[RO-Crate](https://www.researchobject.org/ro-crate/) description of that project. +Creating this metadata prepares your work for sharing; depositing it in an +archive or publishing a report is a separate step. + +## Prepare the project + +Review the authorship recorded in `astra.yaml`, the explanation in your +[report](reporting.md), and the project license. To enable RO-Crate maintenance, +add the license you have chosen under the existing `[project]` section of +`pyproject.toml`. For example, for a project you intend to release under CC BY 4.0: + +```toml +license = "CC-BY-4.0" +``` + +Commit your edits, then materialize using an allocated cluster: + +```bash +git add astra.yaml pyproject.toml index.md myst.yml +git commit -m "Prepare the analysis for sharing" +lc materialize CLUSTER_ID +``` + +Replace `CLUSTER_ID` with the id returned by `lc compute launch`; an existing +allocation is fine. See [compute setup](cluster.md) to launch one. Materialize +runs any outputs that need work and updates `ro-crate-metadata.json` in a trailing +commit. If the outputs are already current, they are left in place. + +Check the result: + +```bash +uvx astra-tools@0.2.18 validate +lc materialize --check +lc status +git status --short +``` + +Resolve validation and build failures, confirm `ro-crate-metadata.json` exists, +and read any crate warnings. Review `behind` outputs explicitly: they satisfy +the current analysis definition but were produced under an earlier environment, +and the default check can pass with them present. The [status +reference](../cli/status.md) explains these states. + +## Include the actual data + +Git carries your specification, code, manifests, and history. Large files tracked +by git-annex can be represented in Git by pointers, with their contents stored +elsewhere. A Git clone or `git archive` alone does not guarantee that a recipient +has the input data, result files, or container image bytes. + +For a collaborator continuing the analysis, share the repository **and** an +accessible annex storage location. Tell them where to retrieve the data; a +successful clone only proves that the Git history was transferred. + +For a file archive, first retrieve the content you intend to include, then use +[DataLad's archive exporter](https://docs.datalad.org/en/stable/generated/man/datalad-export-archive.html). +From the project root: + +```bash +git annex get . +uvx datalad export-archive --missing-content error ../analysis.tar.gz +``` + +The exporter runs through `uvx`; DataLad does not need a separate permanent +installation. Keeping `--missing-content error` makes missing file content stop +the export. The archive is written outside the project so it does not become a +new analysis input. Inspect its contents and extract a copy to check the expected +inputs, outputs, manifests, and `ro-crate-metadata.json` before handing it off. + +This is a snapshot of dataset files. Keep the Git repository available separately +when collaborators need commit history or the recorded DataLad run commands. + +## Hand off the work + +Share the checked archive through your chosen repository or archival service, +with the report and the analysis version it describes. Hosting `_build/html/` +shares a readable report; sharing the project and its data lets someone inspect +and continue the analysis. Record the destination and citation in the project +once the deposit exists. + +No Lightcone command above uploads your files or creates a DOI. The local +RO-Crate describes the research object you are preparing to share. diff --git a/docs/user/troubleshooting.md b/docs/user/troubleshooting.md index e7e59f1..c6cfa98 100644 --- a/docs/user/troubleshooting.md +++ b/docs/user/troubleshooting.md @@ -1,199 +1,185 @@ # Troubleshooting -Common situations and how to unstick them, roughly ordered by how often -they come up. `lc`'s refusals try to carry their own remedy — this page -adds the context around them. +Start with the command's error message and `lc --version`. The installation +and examples on this site target the compute-enabled development version; +follow the [installation guide](install.md) if your CLI has a different surface. -## "uncommitted changes in …" +## "lc: command not found" or `lc` prints a directory listing -``` -Error: uncommitted changes in /home/you/my-analysis — every -materialization is committed with the code that produced it, so a run -cannot start from a tree that does not say what that code is. +Check what your shell resolves: - commit these: git add -A . && git commit -m "…" - M src/fit.py +```bash +type lc +uv tool update-shell ``` -Not an error in your project — just the order of operations: commit, -then materialize. The refusal sorts the paths it found: work you own -gets the `commit these` line, while leftover files under `results/` -(from an interrupted run of an older `lc`, or a hand write) are listed -as wreckage to discard instead — `results/` is `lc`'s to write, and -committing hand-placed files there defeats the provenance the tool -exists for. +Open a new shell after updating its configuration. If a personal alias such as +`lc='ls --color'` hides the command, remove it with `unalias lc`. -## "… is not a Lightcone project" +## "No such command 'compute'" -You're outside a project. The current directory *is* the project — `lc` -never walks up to find one, by design — so: +You have a CLI release from before explicit compute allocation. Install the +source version in the [installation guide](install.md), then verify: ```bash -cd path/to/your/project +lc compute --help ``` -or, starting fresh, `lc init my-analysis && cd my-analysis`. If you're -in a fresh clone, run `lc init` once — it rebuilds the `.venv` and the -annex, the two pieces of local state git doesn't carry. +## Missing or unavailable cluster -## "lc: command not found" or `lc` prints a directory listing +Execution requires the ID returned by `lc compute launch`. Check its state before +running the project: -Two possibilities: +```bash +lc compute status "$CLUSTER" --wait +lc materialize "$CLUSTER" +``` -1. The tool isn't on `PATH` — with `uv tool install`, that's - `~/.local/bin`; `uv tool update-shell` fixes the profile. -2. Your shell has a personal alias `lc='ls --color'` shadowing the - real command. Run `type lc` to see; `unalias lc` to remove. +Here `CLUSTER` must contain your allocation's ID. Follow +[Compute and clusters](cluster.md#start-locally) if you have not launched one. +For a read-only check, omit the ID: `lc materialize --check`. -## A recipe fails with "Permission denied" or "No module named …" +A readiness timeout leaves the allocation in place. Inspect its status before +launching another. If it has ended, launch a new allocation. Keep the catalog +connection that created it, and use the same `LC_COMPUTE_CONFIG` for launch and +execution. If submission reports a token with an uncertain result, inspect +existing allocations before retrying. -Every sandboxed failure ends with this trailer: +## "uncommitted changes in …" + +Materialization records the code revision that produced each result. Review +and commit your analysis edits before running: +```bash +git status +git add astra.yaml src/ pyproject.toml uv.lock +git commit -m "Update analysis" ``` -this ran under the lc sandbox (landlock) — a permissions or missing-file -error can mean the command reached for something outside the declared -environment + +Adjust the paths to your own edits. Files under `results/` need separate care: +those are generated outputs, not research code to commit by hand. If an earlier +run was interrupted, stop its allocation and confirm its recipes have stopped +before cleaning partial results. See +[execution limits](cluster.md#execution-requirements-and-limits). + +## "… is not a Lightcone project" + +Project commands inspect the current directory, without searching parent +folders. Move to the directory containing your project: + +```bash +cd path/to/your/project ``` -Recipes run in the project's locked environment, with the tree -read-only apart from the directory their output lands in. The common cases: +For a fresh clone, run `lc init` to reconstruct the environment and initialize +git-annex. To start a new project, use `lc init my-analysis`. + +## A recipe fails with "Permission denied" or "No module named …" -- **`ModuleNotFoundError`** — the package isn't in the project's lock. - `uv add `, commit, re-run. (Installing it on the host with - `pip` changes nothing a recipe sees — that's the point.) -- **Reading a file outside the project** — declare it as an ASTRA - input; declared inputs are readable and their content becomes part - of the output's provenance. -- **Writing outside that directory** — a recipe's product - belongs in `{output}`; for true scratch files, use - `tempfile.mkdtemp()`, which lands in the writable temp area. +Recipes use the project's locked environment and filesystem sandbox. Check +these common causes: -To probe interactively, `lc run ` runs any command under -exactly the isolation a recipe gets — if it works there, it works as a -recipe. +| Symptom | Fix | +|---|---| +| Missing Python package | Run `uv add PACKAGE`, commit the dependency changes, and rerun. | +| Cannot read data outside the project | Declare the file as an ASTRA input; workers also need access at that path. | +| Cannot write a file | Write the product to `{output}` and use `tempfile.mkdtemp()` for scratch files. | + +Probe imports or a script with `lc run "$CLUSTER" -- COMMAND`. A probe uses +the same environment and dependency rules, with a broader write scope under +`results/`. It does not forward interactive input or record result provenance. +Remove probe files before materialization. ## Everything shows `behind` after a `uv add` -Not a problem, and nothing was invalidated. `behind` means: the output -is still exactly what the spec asks for, but the environment has moved -since it was made. Environment changes deliberately don't trigger -rebuilds — the manifest records which environment and commit produced -each output, so nothing is lost by leaving it. When you do want them -remade under the current environment: +`behind` means the result still matches its definition and inputs, while the +environment changed. Lightcone keeps it with its original provenance. To rebuild +behind results under the current environment: ```bash -lc materialize --refresh +lc materialize "$CLUSTER" --refresh ``` -See [Core Concepts](concepts.md) for the `stale` / `behind` -distinction. - ## Everything shows `stale` after a spec edit -`stale` means the spec now defines the output differently than it was -made — you edited its recipe, a decision, or a declared input's -content changed. That's the invalidation model working; the next -`lc materialize` remakes exactly those outputs. +A result becomes `stale` when its recipe, selected decisions, or declared input +content changes. Materialization remakes the affected outputs. A committed manual +edit to a generated output or manifest is also stale. -One edit that deliberately does *not* invalidate: changing your -analysis code (`src/…`). The recipe *string* is the identity, so if -you want code changes to cascade, declare the source file as an ASTRA -input of the outputs it shapes — that choice is yours to make per -output. +Changing a script does not automatically invalidate its outputs. Declare the +source file as an ASTRA input when its content should trigger a rebuild. +See [Core concepts](concepts.md#what-makes-an-output-current). ## "the content is not in this clone" -``` -data/points.csv: the content is not in this clone — git-annex holds a -reference to it, not the data. Fetch it with `git annex get data/points.csv`. -``` - -The clone has the *pointer* to an annexed file but not its bytes. -`lc materialize` fetches the declared inputs it needs by itself; the -read-only verbs (`lc status`, `--check`) never transfer data, so they -report the fact instead. Fetch by hand only when you want the bytes -for your own inspection. - -## "fatal: … clean filter 'annex' failed" +Git-annex has a reference to a file whose bytes are not present locally. +Materialization fetches the declared inputs it needs. Read-only commands do not +transfer data. To inspect a file yourself, fetch it explicitly: -``` -git-annex filter-process: line 1: git-annex: command not found -error: could not read greeting from subprocess 'git-annex filter-process' -error: initialization for subprocess 'git-annex filter-process' failed -fatal: data/catalog.fits: clean filter 'annex' failed +```bash +git annex get data/points.csv ``` -Your shell's `PATH` has no `git-annex`, so git could not run the filter -that turns a large file into an annex pointer. **Nothing was staged**, -which is the point: without `filter.annex.required=true` — which -`lc init` sets — git would have exited 0 and committed the raw bytes -into history instead. +This requires a reachable source that holds the content. A Git remote alone +does not guarantee that the annexed bytes are available. -Once a project holds committed annexed content, this is not limited to -`git add`. Any command that has to run the filter over that content -stops the same way, `git status`, `git diff` and `git checkout` -included — so the whole project reads as broken until git-annex is back -on your `PATH`. That is the intended shape of the failure: a repository -you cannot use is recoverable in one command, and one that quietly -absorbed a multi-gigabyte file is not. +## "fatal: … clean filter 'annex' failed" -`git-annex` ships with `lc`, so a tool install puts both on your `PATH`: +Git cannot find or run git-annex. This can affect `git add`, `git status`, and +other commands that use the annex filter. `lc init` marks the filter as required +so a failure cannot silently put large data files into ordinary Git history. ```bash -uv tool install lightcone-cli git-annex version +uv tool update-shell ``` -If `lc` runs but `git-annex` does not, uv's tool directory is not on -your `PATH` — run `uv tool update-shell` and open a new shell. Running -`lc` through `uvx` puts nothing on your `PATH` at all, so a plain -`git add` cannot work that way. +If git-annex is missing, follow the [installation guide](install.md) to install +Lightcone as a uv tool, then open a new shell. A one-off `uvx` invocation does +not install git-annex onto your shell's `PATH`. -This failure is deliberately loud. `lc init` sets -`filter.annex.required=true` in every project precisely because -without it git handles the same situation by printing the error, -**exiting 0, and staging your data's raw bytes into git history** — -committing a multi-gigabyte dataset into git proper, silently, where -every clone carries it forever. A refused `git add` costs you one -`lc init`; the silent version costs you the repository. +## Selecting compute from a login shell -## "… and this is a NERSC login node" - -`lc materialize` executes recipes, and on centers `lc` recognizes it -refuses to do that on a shared login node. The refusal prints the -center's own `salloc` and `sbatch` spellings — copy one, run the same -command inside the allocation. `lc status`, `lc materialize --check`, -`lc build` and `lc run` work anywhere. See -[Running on a Cluster](cluster.md). +Use your facility's Slurm offers in the compute catalog. The development CLI +does not reject local allocations by inspecting login-node names or site +markers; allocation choices are explicit. Configure the appropriate offers and +follow your facility's usage policy. See [Slurm setup](cluster.md#configure-slurm). ## git doesn't know who you are -Every output is committed, so a machine that has never committed needs -an identity before the first run — `lc materialize` checks up front, -before any recipe spends time: +Set your Git identity before the first result commit: ```bash git config --global user.name "Ada Lovelace" git config --global user.email "ada@example.org" ``` +Use your own name and email. + ## Containerized projects -- **"image absent"** — the declared image hasn't been built and - committed yet: `lc build` (announced by materialize too, which - builds it as a preflight when missing). -- **No runtime found** — install [Podman](https://podman.io/) or - [Docker](https://docs.docker.com/get-docker/); detection is - automatic and there is nothing to configure. -- **Architecture mismatch** — the committed archive records the - architecture it was built for, and a host that can't execute it is - refused before the recipe would have died mid-run. Build on a - matching host (on NERSC, a login node), commit, push, and pull on - the other side. +| Problem | Next step | +|---|---| +| Image absent | Run `lc build`; materialization can also build a missing image as a preflight. | +| No container runtime | Provide Podman, Docker, or podman-hpc on the machines that need it. | +| Architecture mismatch | Build the image on a host with the architecture of the execution workers. | +| Image unavailable on a worker | Make the prepared image available on every worker; the cluster does not distribute node-local image stores automatically. | + +See [`lc build`](../cli/build.md) for the image declaration and lifecycle. + +## Agent skills or ASTRA validation + +If your agent cannot find a skill, check the plugin installation in +[Using an agent](agents.md). The `lightcone` plugin already bundles the ASTRA +skill, so a second ASTRA plugin is unnecessary. + +Schema and evidence-validation errors come from the external ASTRA tooling. +Use [Working with ASTRA](astra.md) to find the authoritative schema reference +and validation commands. ## Filing a bug -Open an issue at -[github.com/LightconeResearch/lightcone-cli/issues](https://github.com/LightconeResearch/lightcone-cli/issues). -Include the output of `lc --version`, the command you ran, and the -full message — the refusals are designed to be pasted. +For execution errors, open an issue in +[lightcone-cli](https://github.com/LightconeResearch/lightcone-cli/issues) with +the version, command, and complete error message. For plugin behavior, use +[agent-skills](https://github.com/LightconeResearch/agent-skills/issues). diff --git a/overrides/404.html b/overrides/404.html new file mode 100644 index 0000000..33377a3 --- /dev/null +++ b/overrides/404.html @@ -0,0 +1,11 @@ +{% extends "main.html" %} + +{% block content %} +

Page not found

+

Use search to find a command or guide, or continue from one of these pages.

+ +{% endblock %} diff --git a/overrides/main.html b/overrides/main.html new file mode 100644 index 0000000..0d12618 --- /dev/null +++ b/overrides/main.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} + +{% block extrahead %} + + +{% endblock %} + +{% block footer %} + + {{ super() }} +{% endblock %} diff --git a/zensical.toml b/zensical.toml index 630d5e6..7528e41 100644 --- a/zensical.toml +++ b/zensical.toml @@ -1,8 +1,8 @@ [project] site_name = "Lightcone Research Stack" -site_description = "Documentation for the Lightcone Research Stack" +site_description = "Install Lightcone, work with a research agent, and build reproducible analyses with ASTRA." site_url = "https://docs.lightconeresearch.org/" -site_author = "Lightcone Research Team" +site_author = "Lightcone Research" repo_url = "https://github.com/LightconeResearch/docs" repo_name = "LightconeResearch/docs" copyright = "© 2026 Lightcone Research" @@ -11,27 +11,39 @@ extra_css = ["stylesheets/extra.css"] nav = [ {"Home" = "index.md"}, - {"User Guide" = [ - {"Welcome" = "user/index.md"}, + {"Start here" = [ + {"Meet the stack" = "user/index.md"}, {"Install" = "user/install.md"}, - {"Getting Started" = "user/getting-started.md"}, - {"Core Concepts" = "user/concepts.md"}, - {"Running on a Cluster" = "user/cluster.md"}, + {"Your first analysis" = "user/getting-started.md"}, + ]}, + {"Guides" = [ + {"Work with an agent" = "user/agents.md"}, + {"Core concepts" = "user/concepts.md"}, + {"Run on a cluster" = "user/cluster.md"}, + {"Write a report" = "user/reporting.md"}, + {"Share your work" = "user/sharing.md"}, {"Troubleshooting" = "user/troubleshooting.md"}, - {"Glossary" = "user/glossary.md"}, ]}, - {"Developer Corner" = [ - {"Welcome" = "maintainer.md"}, - {"Architecture" = "architecture.md"}, - {"CLI Reference" = [ + {"Reference" = [ + {"CLI commands" = [ {"Overview" = "cli/index.md"}, {"lc init" = "cli/init.md"}, + {"lc compute" = "cli/compute.md"}, {"lc materialize" = "cli/materialize.md"}, {"lc status" = "cli/status.md"}, {"lc run" = "cli/run.md"}, {"lc build" = "cli/build.md"}, ]}, - {"Engine Internals" = [ + {"ASTRA · external standard" = "user/astra.md"}, + {"Glossary" = "user/glossary.md"}, + ]}, + {"Contribute" = [ + {"Overview" = "maintainer.md"}, + {"Development setup" = "contributing/setup.md"}, + {"Testing" = "contributing/testing.md"}, + {"Extending the CLI" = "contributing/extending.md"}, + {"CLI architecture" = "architecture.md"}, + {"Engine internals" = [ {"Overview" = "api/index.md"}, {"project" = "api/project.md"}, {"dataset" = "api/dataset.md"}, @@ -40,28 +52,27 @@ nav = [ {"assets" = "api/assets.md"}, {"worker" = "api/worker.md"}, {"materialize" = "api/materialize.md"}, - {"venue" = "api/venue.md"}, + {"compute" = "api/compute.md"}, + {"venue (legacy)" = "api/venue.md"}, {"sandbox" = "api/sandbox.md"}, {"image & container" = "api/container.md"}, {"crate" = "api/crate.md"}, ]}, - {"Contributing" = [ - {"Development Setup" = "contributing/setup.md"}, - {"Testing" = "contributing/testing.md"}, - {"Extending" = "contributing/extending.md"}, - ]}, ]}, - {"ASTRA docs" = "https://astra-spec.org/latest/"}, + {"ASTRA docs ↗" = "https://astra-spec.org/latest/"}, ] [project.theme] variant = "modern" +custom_dir = "overrides" logo = "assets/logo.svg" favicon = "assets/favicon.svg" +font = false features = [ "navigation.tabs", "navigation.sections", "navigation.top", + "navigation.footer", "search.highlight", "content.code.copy", ] @@ -79,3 +90,16 @@ primary = "custom" accent = "custom" toggle.icon = "lucide/moon" toggle.name = "Switch to light mode" + +[project.extra] +generator = false + +[[project.extra.social]] +icon = "lucide/globe" +link = "https://lightconeresearch.org/" +name = "Lightcone Research website" + +[[project.extra.social]] +icon = "fontawesome/brands/github" +link = "https://github.com/LightconeResearch" +name = "Lightcone Research on GitHub"

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