VBPCApy 0.4.7 validation¶
This patch propagates native worker exceptions to Python and rejects invalid noise variances and malformed sparse pointers before numerical work. It adds a required numerical-reference CI job and restores omitted complement and Python cost-test coverage. It changes failure handling; it does not change valid-input update equations, numerical defaults or the encoding/CV policies from 0.4.6.
From the release checkout:
uv sync --extra dev --extra plot --extra docs
uv run python scripts/check_release_metadata.py --tag v0.4.7
just numerical-reference
uv run pytest -q tests/test_native_failures.py
just ci
uv run --extra docs mkdocs build --strict
just build-check
just build-test
The numerical-validation guide records the
independent equations, fixture scope, numerical tolerances and legacy scalar
regression provenance. The failure tests run native worker failures in isolated
Python processes with a timeout and verify catchable exceptions and unchanged
input data/factors. Source archives must include thread_workers.h; clean
installed-wheel tests must import the installed package, without a source-tree
import path.
Before publication, all checks must pass on the exact release PR commit. Package, citation, changelog and tag metadata must agree on 0.4.7. The publishing workflow builds and tests the advertised wheel matrix and checks artifact completeness before the trusted PyPI publishing job runs.
These bounded checks do not establish scientific calibration or convergence policy safety. Studies with registered software pins retain those pins and policies. Record any adoption separately and rerun the study's own compatibility and calibration gates; this release does not regenerate scientific artifacts.