reproducible-ml — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited reproducible-ml (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Reproducibility means: same code + same data + same config → same result. It is a prerequisite for trusting comparisons, debugging regressions, and shipping. Three pillars: seed everything, pin everything, version the data.
import os, random, numpy as np, torch
def seed_everything(seed: int = 42):
os.environ["PYTHONHASHSEED"] = str(seed)
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False # disables nondeterministic autotunerFor DataLoaders, also set worker_init_fn and a generator so workers are deterministic.
requirements.txt with ==, or uv.lock / poetry.lock / conda env export.sha256) and log the hash with every run.data.csv in place.data_v="2026-06-01").project/
├── data/ # raw (immutable) + processed, both versioned
├── src/ # importable code, no notebooks doing real work
├── configs/ # YAML/Hydra configs, one per experiment
├── scripts/ # entrypoints: train.py, evaluate.py
├── requirements.txt # or uv.lock / poetry.lock (pinned)
└── README.md # exact commands to reproducetorch.use_deterministic_algorithms(True) and set CUBLAS_WORKSPACE_CONFIG=:4096:8.groupby/apply ordering can vary — sort before reducing.set/dict ordering across processes — set PYTHONHASHSEED.src/.A repo where pip install -r requirements.txt && python scripts/train.py --config configs/exp.yaml recreates the exact result that experiment-tracking logged.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.