Skip to content

RunSnapshot

What it is: the immutable executable artifact compiled from an experiment definition.

When it matters: whenever you care about reproducibility, run_id, or what exactly was frozen before execution started.

What you provide: datasets, component refs, candidate policy, judge configuration, workflow overrides, seeds, storage config, runtime config, and provenance metadata.

What Themis provides: a stable run_id, frozen identity, and a durable record of what the run means versus where it happened.

Use this snapshot map when you need to separate logical run identity from execution context.

flowchart TD
    A["Experiment inputs"] --> B["RunSnapshot.identity"]
    A --> C["RunSnapshot.provenance"]
    B --> D["RunSnapshot"]
    C --> D
    B --> E["run_id = hash(identity)"]
    D --> F["Executable artifact"]

The snapshot is the frozen contract for execution, and only its identity side participates in the run_id.

What to inspect when it goes wrong: compare RunSnapshot.identity when run_id changes and RunSnapshot.provenance when the run is logically the same but the environment differs.