Reproducibility Contract
Purpose
Defines what must be captured so a run can be reproduced later.
Required Inputs
- base config JSON
- search config JSON
- explicit seed schedule (
seed_start,seed_stride,count) - implementation-affecting switches (for example compatibility modes)
Required Captures per Run
- copied
config.jsonandsearch.jsonin run directory summary.jsonwith run id and execution countsresults.jsonlcontaining metrics and parameter payloads- log stream and metrics stream for the same run id
Required Captures per Indexed Record
run_id- provenance fields in
runstable config_hashwhen available- method/version tags for derived fields (for example morphometrics)
Determinism Checks
Current deterministic smoke harness validates repeated fixed-seed runs by comparing:
results.jsonlbyte identity- exported frame checksums
Non-Goals
This contract does not guarantee bitwise identity across different hardware, compiler versions, or MLX backend revisions unless explicitly pinned by the experiment protocol.