Capture the inputs
Keep the data source, time window, configuration, and code revision together. These details explain what the experiment actually evaluated.
Distinguish a rerun from a new experiment
If you change an assumption, give the new run its own record. Comparing explicit versions is easier than reconstructing the history of an overwritten result.
Record what you learned
Save observations and open questions with the output. A reproducible result should help the next person continue the reasoning, not merely repeat the computation.
Reproducibility is also a way of communicating clearly.
