← What's New

Pre-release audit + version-drift guards (v0.4.0 plan)

2026-05-30 · docs/conf.py, AGENT_GUIDE.md, tests/test_version_sync.py, new RELEASE_READINESS.md · branch chore/release-readiness-audit

Why

The goal is a production-quality v0.4.0 release. Four feature/hygiene PRs are queued (Tiers 0.1, 0.2, 1.1, + the notebook-fidelity fix). Before tagging we needed to know what's drifted, what's gated, and what the release checklist actually looks like. This audit makes that explicit.

Findings

IssueBeforeAfter
docs/conf.py Sphinx release0.3.1 (one version behind pyproject.toml)0.3.2 (matches)
AGENT_GUIDE.md Package version0.3.10.3.2 (matches)
test_version_sync.py coveragepyproject + CITATION only+ docs/conf.py + AGENT_GUIDE.md
GitHub Releases gapv0.3.0 latest; v0.3.2 tagged but unpublishedDocumented in checklist — publish at v0.4.0 cut
5 local make test failuresscipy _lazywhere ↔ statsmodels/nemos env mismatchDocumented as not release-blocking (CI clean)

v0.4.0 scope summary

The version bump is minor, not patch: the public API gains the EM trainer family (fit_point_process_em, fit_hybrid_em, fit_linear_gaussian_em + the predictive-LL diagnostic) and the core population_time_rescale / PopulationTimeRescaleResult.

Full per-PR breakdown and the step-by-step release checklist live in RELEASE_READINESS.md.

What the strengthened test guards

$ pytest tests/test_version_sync.py -v
test_pyproject_and_citation_versions_agree   PASSED
test_pyproject_version_is_pep440             PASSED
test_docs_conf_release_matches_pyproject     PASSED   # new
test_agent_guide_version_matches_pyproject   PASSED   # new
test_release_notes_mentions_current_version  PASSED

Both new assertions fail loudly on the same kind of drift caught here — a future bump to v0.4.0 (or any future version) cannot silently miss docs/conf.py or AGENT_GUIDE.md.

Files changed