Skip to main content
Datasets evolve — you add examples, edit annotations, refine tags. If simulation results are pinned to specific dataset states, results stay comparable over time even as the dataset grows.

How versioning works

Every “significant” change to a dataset creates a new version:
  • Add examples.
  • Delete examples.
  • Edit an annotation.
  • Split into a holdout.
Metadata edits (renaming, tagging) don’t create versions. Versions are numbered (v1, v2, …) and stamped with actor, timestamp, and change summary.

Pinning simulations to versions

Every simulation run records the dataset version it used. When you compare two runs:
  • If they used the same dataset version, results are directly comparable.
  • If they used different versions, Nora shows the diff (added/removed/changed examples) so you understand the drift.
You can force a simulation to a specific dataset version (default: latest).

The version history

Datasets → Versions tab. Shows:
  • Each version’s number, timestamp, author.
  • Change summary (X examples added, Y annotations edited).
  • Which simulations used this version.
  • Which Improvements are gated on this version.
Click any version to see the state at that point. Roll back to a prior version if a bad edit was applied.

When to bump vs. edit in place

Bumping happens automatically on significant changes. But for finer-grained control:
  • Force new version — before a period of many changes, snapshot the current state so you always have a reference point.
  • Edit in place (patch) — for typo fixes and minor annotation clarifications that shouldn’t invalidate prior simulations. Use sparingly.

Cross-referencing with Flow versions

The Improvement flow shows a matrix: Flow versions × Dataset versions. Each cell has the simulation result. Useful for questions like:
  • “Which Flow version scored best on the current dataset?”
  • “Has the same Flow version’s score changed as the dataset grew?”
Both dimensions matter — a Flow that scores well on a small dataset might struggle on a bigger, more diverse one.

Immutability

Simulation results are immutable and tied to specific dataset + Flow versions. This means:
  • Old results stay valid even if you retire the dataset version.
  • You can trust historical comparisons — the numbers weren’t recomputed with new data.

Deleting a version

Versions are permanent. You can archive a version (hides it from the default view) but you cannot delete — this would invalidate any simulation that used it. If storage is a concern, versions can be compacted — the full state is stored only for milestone versions; intermediate versions are stored as diffs. Runs still work; older intermediate versions just take slightly longer to load.

Export / import

Any version can be exported as JSONL (nora datasets export <slug>@v3 > snapshot.jsonl) and re-imported into another workspace. Useful for sharing datasets across environments (staging → prod, or between teams).