The two-level model
Hierarchy: Experiment → Run
An Experiment is a folder. A Run is a single execution inside that folder. Every run gets:
- a unique
run_id(UUID) - a start + end timestamp
- the user that launched it
- the source: filename, git commit, entry point
- params, metrics, tags, and artefacts you log
Naming hygiene
Choose experiment names by business goal, not by model:
GOOD: 'churn-q3-retraining'
GOOD: 'fraud-baseline-2026'
BAD : 'xgboost-tests-final-v3'
BAD : 'untitled-experiment-7'
Then use tags for the model family. That way you can search later by goal or by tech and the UI stays organised.