Demo claim
A small, self-contained claim for trying the runner end to end. It is fictional. The data is synthetic and there is no paper behind it. It exists so you can see the full loop on something that runs in seconds.
What is here:
manifest.json: the replication manifest (demo-0001)data/measurements.csv: 200 synthetic measurements, control and treatmentanalysis.py: the analysis, standard library only. Writesresults.json
The manifest's commit and image_digest are placeholders. Replace them with a real commit and a real image digest before using run with Docker.
Try it without Docker
From the repository root:
cd packages/runner && pip install -e ".[dev]" && cd ../..
dotlab-runner validate examples/demo-claim/manifest.json
dotlab-runner verify-inputs examples/demo-claim/manifest.json --data-dir examples/demo-claim/data
cd examples/demo-claim
DOTLAB_OUT_DIR=./out python analysis.py
cd ../..
dotlab-runner compare examples/demo-claim/manifest.json \
--results examples/demo-claim/out/results.json --out run.json
The last command prints reproduced and writes a run record to run.json.
Try it in the sandbox
Build an image that contains Python, pin it by digest, set the manifest's image_digest and commit, then follow sandbox/README.md. Use --dry-run first to see the exact docker command.
Make it fail on purpose
Change a target's published value in the manifest to 0.9 and run compare again. The outcome becomes not_reproduced, and the run record shows which comparison differed and by how much.