1# Environment (WP31)23* Laptop (development, Phase 4): Apple M5 Max, 18 CPU cores, 40 GPU cores, 48 GB unified memory, macOS 27.0,4 Python 3.12 (uv), PyTorch 2.15.0 (MPS + CPU), MLX 0.32 available but not used by the reference implementation.5* MacLustr nodes used (existing passwordless SSH on the LAN; read-only audit in `hardware/device_inventory.json`):6 M3U96a / M3U96b (Apple M3 Ultra, 32 cores, 60 GPU cores, 96 GB) for Stage A pretraining; M2U64 (M2 Ultra, 64 GB),7 M4M64a/c (M4 Max, 64 GB) for editor/controller runs. Each node has its own venv built by `scripts/cluster_setup.sh`8 (same lock file). No CUDA device was available; no cloud or paid service was used.9* Precision: fp32 everywhere (bf16 autocast gave no throughput gain on MPS: 15.3k vs 15.0k tok/s).10* Determinism: seeds fixed (`training.common.seed_all`); MPS kernels are not bit-deterministic across devices, so11 cross-device equivalence tests use tolerances (1e-4) while bypass identity tests are bitwise on CPU.12* Dependency lock: `requirements-lock.txt` (uv pip freeze, 2026-10-29).13