Skip to content

Certify policyengine.py against policyengine-core 3.30.0#465

Merged
anth-volk merged 1 commit into
mainfrom
deps/certify-core-3.30.0
Jul 9, 2026
Merged

Certify policyengine.py against policyengine-core 3.30.0#465
anth-volk merged 1 commit into
mainfrom
deps/certify-core-3.30.0

Conversation

@anth-volk

Copy link
Copy Markdown
Contributor

Fixes #464

Summary

Bumps the pinned policyengine-core from 3.28.0 → 3.30.0 across the models / us / uk / dev extras, and regenerates uv.lock.

Why

3.30.0 brings two upstream fixes relevant to policyengine.py:

  • policyengine-core#518 — formula-time randomness is now enforced by a static check at variable registration instead of a runtime monkeypatch of the process-global numpy.random. That guard raised intermittent, misattributed NonDeterministicFormulaErrors when multiple simulations were built or run concurrently in one process — the pattern policyengine.py exercises.
  • policyengine-core#510 — corrects Reform.from_dict bare-date period semantics (from-onward vs bounded).

Country packages — no bump needed

The pinned packages already allow the new core and are randomness-clean:

  • policyengine-us==1.764.6 → requires policyengine-core>=3.26.0
  • policyengine-uk==2.89.2 → requires policyengine-core>=3.26.0

Certification

With core 3.30.0 installed against these pins, both country systems build with no NonDeterministicFormulaError (the new static check runs on every variable at registration):

  • US system: 5,770 variables
  • UK system: 869 variables

make format and make lint are clean. Full model/data test runs are left to CI (they require HUGGING_FACE_TOKEN).

🤖 Generated with Claude Code

@anth-volk anth-volk force-pushed the deps/certify-core-3.30.0 branch from 1eaec61 to 97142b2 Compare July 9, 2026 17:32
Update the bundle manifest (the source of truth for package pins) to
policyengine-core 3.30.0 via scripts/bundle.py update-packages --core, then
regenerate the derived pyproject pins, uv.lock, and the vendored TRACE TRO
sidecars (which bind the bundle manifest by sha256). 3.30.0 enforces
formula-time determinism with a static check at variable registration
(policyengine-core#518) and fixes Reform.from_dict bare-date period semantics
(#510).

Verified both country systems build under 3.30.0 with no
NonDeterministicFormulaError (us 1.764.6: 5770 variables; uk 2.89.2: 869
variables); pinned packages already allow policyengine-core>=3.26.0, so no
country-package bump is needed. bundle.py check and the TRO sidecar-binding
test pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@anth-volk anth-volk force-pushed the deps/certify-core-3.30.0 branch from 97142b2 to ffadc15 Compare July 9, 2026 18:05
@anth-volk anth-volk marked this pull request as ready for review July 9, 2026 18:49
@anth-volk anth-volk merged commit c900a4f into main Jul 9, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Certify policyengine.py against policyengine-core 3.30.0

1 participant