Repository Public Research preview
1# Reproducibility — WP-AI-000123```bash4cd ia/wp-ai-00015python3 -m pip install -e ".[dev]" # or: uv pip install -e ".[dev]"6python3 -m pytest tests -q # unit + causal-sanity tests (CPU, < 30 s)7python3 scripts/audit_environment.py # writes docs/ENVIRONMENT_AUDIT.json (add --cluster to probe nodes)8python3 scripts/run_pilot.py --quick --device cpu --seeds 0 1 --n-boot 200 # CPU smoke test, ≈ 25 s9python3 scripts/run_pilot.py --seeds 0 1 2 --steps 3000 # Tier-0 pilot (MPS ≈ 5 min)10python3 scripts/train_models.py # 17-model matrix (≈ 13 min MPS)11python3 scripts/run_transplant.py # exploratory transplant run (≈ 3 min)12python3 scripts/run_transplant.py --tag confirmatory --seed-base 90000 # confirmatory run (prereg v1.0)13python3 scripts/eval_persistent.py --run <graft run id> --seed-base 95000 # saved adapter in a fresh process14python3 scripts/confirmatory_analysis.py --run <confirmatory run id> # pre-declared contrasts + Holm15python3 scripts/run_tier1.py [--quick] [--split dev|confirmatory] [--pairs a:b ...] # open-weight models (MLX)16python3 scripts/build_figures.py --run <run id>; python3 scripts/build_tables.py --graft ... ; scripts/build_paper.sh17```1819- Every run writes `experiments/manifests/<run_id>.json` (git commit, config hash, data hashes, seeds,20 libraries, hardware, status history), appends to `experiments/registry/runs.jsonl`, and stores results in21 `experiments/summaries/<run_id>/` (`results.json`, `SUMMARY.md`). Per-item predictions are in22 `artifacts/runs/<run_id>/` (git-ignored), models in `artifacts/models/<run_id>/`.23- Run IDs are deterministic functions of the experiment id and config hash; re-running with the same config24 reuses trained models from `artifacts/models/<run_id>/` (delete to retrain).25- Determinism: PyTorch on MPS was verified bitwise-repeatable for this model (`noop.deterministic_repeat`);26 localization sweeps repeated twice differ by 0.0. Training determinism across devices is *not* claimed27 (CPU vs MPS kernels differ); seeds reproduce training on the same device/library versions.28- Data are synthetic and regenerated from seeds; the split hashes recorded in manifests must match.29- Secrets: none required. No tokens are read; paths are relative to the project root.30