Release checklist (charter §12) — status 2026-11-02
| Criterion | Status | Evidence |
|---|---|---|
| No secrets in git | ✅ | scripts/check_no_secrets.sh (CI step); keys only via env/file; manifests store a SHA-256 fingerprint |
| No redistribution of raw FirstRate data | ✅ | datasets/cache/ and /data/ ignored; only synthetic fixtures tracked; paper/README report aggregates only |
| Tier A methods pass reference tests | ✅ | tests/reference/* vs statsmodels 0.15 / arch 8.0 / scipy 1.18 / exchange_calendars 4.13 / highfrequency 1.0.3 / rugarch 1.5.6 (registry tolerances) |
| Metal unsupported cases fall back safely | ✅ | backend::resolve + [backend] test; CPU-only preset builds; E7 bundle on a node without developer tools |
| Performance claims reproduced | ✅ (on the laptop and 11 nodes) | raw records + manifests tracked; scripts/audit_manuscript_numbers.py 32/32 claims verbatim from key_numbers.json |
| All paper tables/figures from tracked artifacts | ✅ | experiments/scripts/make_paper_assets.py + experiments/manifests/paper_assets.json |
| Clean environment builds and runs | ✅ after fix | Phase 8 clean clone exposed an over-broad .gitignore (data/ hid the data layer): fixed; cpu-only and Metal presets build, 55 tests pass, manuscript compiles |
| Python wheel | 🧪 | extension builds and passes pytest (10 tests) from the build tree; pip wheel . via scikit-build-core not yet exercised in a clean environment |
| Linux CPU-only build | ⏳ untested | preset exists (cpu-only), CI workflow written (.github/workflows/ci.yml) but the repository is hosted on spbgit (no GitHub Actions run) |
| Versioned release | ✅ | library 0.1.0, manuscript 1.0, CITATION.cff, tag v0.1.0-wp40 |
| Energy claims | n/a | none made (no instrument) |
Not done / honest gaps: Linux build never executed; Python wheel not built from sdist; E1–E6 require a FinData key (private data); the laptop was shared during the benchmarks (recorded in manifests).