Lux v1
Lux is the kernel implementation of the constellation primitives: points, links, trails. A Git-like substrate for experiments — with structured runs (lux.run) that keep lineage and replay intact.
The primitives
- Point: an addressable unit of knowledge — statement, definition, dataset slice, metric.
- Link: a typed relationship between objects — lux.depends_on, lux.supports, lux.supersedes.
- Trail: a record of reasoning or procedure — human or machine, often attached to runs.
Lux doesn’t try to define truth. It preserves provenance — and runs (lux.run) capture inputs to outputs so corrections can propagate along explicit dependencies.
Quickstart demo (computational neuroscience)
The fastest way to feel Lux is to watch a small constellation evolve from v1 → v2: new points appear, new runs and links support them, and the lineage stays visible.
# from the Lux repo ./playground/open-neuro-demo.sh # then evolve the constellation (v1 → v2) ./playground/seed-neuro-evolve.sh <PATH_TO_DEMO_REPO> # optional: verify protocol invariants cargo run -p lux -- conformance-test
In the UI, sync again. You should see named checkpoints neuro-v1 and neuro-v2, plus runs as first-class nodes and lux.supports links as dashed arcs.
What Lux v1 is optimizing for
- Interop: canonical bytes, stable IDs, deterministic replay, conformance vectors.
- Narrow waist: object store + event log + refs + minimal replication.
- Evolution: supersession rather than erasure; a visible lineage.
- Small kernel: domain semantics live above, not inside.
What we should add next
- Freeze the v1 conformance suite: vectors + runner + CI gate so the bytes stay stable.
- Ship a neuro-shaped workflow: wrap one pipeline as a lux.run, emit finding points, publish checkpoints (v1 → v2).
- Demonstrate retraction as a quiet edge case: a single kintsugi example, not the headline.