Skip to content

Require PolicyEngine 6.2.5 for regional simulations - #3868

Draft
anth-volk wants to merge 5 commits into
masterfrom
fix/3864-acs-local-regional-defaults
Draft

anth-volk wants to merge 5 commits into
masterfrom
fix/3864-acs-local-regional-defaults

Conversation

@anth-volk

@anth-volk anth-volk commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #3864

Summary

  • Target policyengine[models]==6.2.5 in the API runtime and generic container image, including the temporary ACS WIC compatibility fix. The lockfile refresh is pending publication.
  • Assert that the installed PolicyEngine bundle keeps populace_us_2024 as the national default.
  • Assert that populace_us_2024_acs_local is a certified dataset and that standard region_datasets entries select its artifact path for state and congressional-district simulations.
  • Assert that the ACS-local dataset is no longer supplied through dataset_overlays.
  • Update the installed-catalog compatibility test to expect three certified datasets and verify ACS-local selection for every US state and congressional district, while retaining the national dataset for national and place records.
  • Add the bundle update changelog fragment.

Dependency order

PolicyEngine/policyengine.py#552 published the original ACS-local selection in 6.2.2. This PR now targets 6.2.5, expected to include the temporary WIC compatibility fix in PolicyEngine/policyengine.py#566.

As of this update, 6.2.5 is not published on PyPI. The runtime and Docker pins now request it, but the checked-in uv.lock still resolves 6.2.2. Frozen installs still use that old version; a fresh generic Docker build requests the unpublished version and cannot complete. This intermediate state must not be merged or deployed.

  1. Merge and publish Temporarily handle missing ACS WIC participation inputs policyengine.py#566 as 6.2.5.
  2. Regenerate this API lockfile with uv lock --upgrade-package policyengine, verify uv lock --check, install from the frozen lockfile, and rerun the relevant checks. Align and relock Use ACS-local data for US regional simulations policyengine-sim-api#726 as well.
  3. Merge and deploy Clear out duplicate policies #726 before this API update. The existing simulation-bundle compatibility check remains intact and must confirm support for the selected 6.2.5 bundle.

If another release changes the version assigned to #566, align both PRs to the actual publication before relocking.

Provisioning

This change adds no environment variables, secrets, service accounts, data stores, or deployment targets.

Validation

Prior local validation against published 6.2.2, before this pending 6.2.5 pin update:

  • tests/unit/test_constants.py: 33 passed.
  • RUN_V2_CATALOG_COMPATIBILITY=1 uv run --frozen pytest tests/integration/test_v2_catalog_installed.py -q: 1 passed. This fixes the newly observed CI failure caused by obsolete dataset-count and regional-selection expectations.
  • uv lock --check: passed.
  • Repository Ruff format check and lint for the changed test module: passed.
  • Migration quality guards: passed.
  • Migration artifact regeneration: no tracked changes.
  • git diff --check: passed.

The full API suite, database-backed integration suite, Docker builds, and live deployment checks were not run locally for this update. Pushing the branch triggers fresh PR checks; the simulation deployment prerequisite remains in place.

Pending 6.2.5 pin validation

  • API runtime and generic Docker pins now target 6.2.5; the existing bundle changelog fragment was updated to match.
  • uv lock --check fails because policyengine[models]==6.2.5 is not yet available; PyPI's complete release listing and exact-version endpoint both confirm this.
  • uv.lock remains unchanged; no package URLs, hashes, or release metadata were fabricated.
  • Repository formatting, Ruff lint, migration quality guards, and migration artifact regeneration pass; generated migration artifacts are unchanged.
  • Dependency-backed tests and deployments were not rerun against the old frozen package and presented as validation of 6.2.5.

@anth-volk
anth-volk force-pushed the fix/3864-acs-local-regional-defaults branch from 9a7ab5e to 04e3d48 Compare October 7, 2026 14:03
@codecov

codecov Bot commented Oct 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 45.22%. Comparing base (f03e630) to head (9d05d8f).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3868   +/-   ##
=======================================
  Coverage   45.22%   45.22%           
=======================================
  Files         183      183           
  Lines       11073    11073           
  Branches     1905     1905           
=======================================
  Hits         5008     5008           
  Misses       5644     5644           
  Partials      421      421           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@anth-volk anth-volk changed the title Require PolicyEngine 6.2.2 for regional simulations Require PolicyEngine 6.2.5 for regional simulations Oct 9, 2026

This branch had an error being deployed

1 failed deployment
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.

State society-wide reports run on the sparse national dataset

1 participant