Reproducibility sounds like a research concern until the first time someone asks why last quarter's model behaved differently. Then it is a business concern with a deadline.
The answer requires more than the code. It requires the data as it was.
What has to be pinned
- The dataset version, with a content hash
- The filters and their versions
- The model's own version and settings
- The evaluation set as it existed then
- The date and time the run started
Any one of these missing and the rebuild becomes an approximation.
Immutable, not just versioned
A version number that points at data which can still be edited is not a version. Once a collection is published, appends are new versions and edits are new collections.
Keep the rejected rows too
A run is shaped as much by what was excluded. If the rejection list is not stored, a rerun will quietly include rows that were never in the original.
Practice the rebuild
Once a quarter, rebuild an old run on purpose and compare. The difference tells you which part of your process is not actually pinned.
Zovda ships each collection through Datuva with a content hash and an immutable snapshot. The data research collection shows how a run is described.
Tell us what has to be explainable later. We reply within one business day.
