Experiments & Reproducibility
What every run must record, why random seeds alone do not reproduce anything, and versioning datasets, labels, features and models so lineage can be traced.
Every run records the code, the data, the features, the configuration, the metrics, the artifacts and the environment. A number without that record is a claim nobody can check.
Same code, same data, same seed, different number. Reproducibility is a property of the entire environment — kernels, data order, library versions, reduction order across workers — and a seed pins only one of them.
A seed fixes which random draws the code makes — the split, the initial weights, the shuffle, the dropout masks. Each is a different seed with a different effect, and the variance across them is a number a good comparison reports.
A table name is not a version. A dataset the model trained on must be an immutable snapshot with an identifier that resolves to the same rows forever — or the run record points at nothing.
A feature name is a contract whose definition changes; a model artifact is a file whose meaning depends on which definition it was trained against. The two versions must travel together, and a mismatch is a production failure with no error message.
Raw data → Dataset v12 → Features v7 → Training Run 482 → Model v19 → Production. The graph that answers "which data did the production model learn from" during an incident, recorded by machines rather than remembered by people.