Repository navigation
Update PolicyEngine bundle to 6.3.4 - #3918
Merged
Merged
Conversation
Catalog extraction failed on PolicyEngine 6.3.4 because the England region's filter names all nine English regions as a list. Store such flat lists as a JSON array in the existing filter text column; scalar filters keep their current form, and nested, empty, non-finite or over-255-character values are still refused. Update the installed-catalog expectations to the 6.3.4 bundle: the counts for US 2.2.1 and UK 2.126.12, the England filter, and every US region defaulting to the national dataset, since 6.3.4 points state and congressional-district regions at it (PolicyEngine/policyengine.py#604). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 14, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3918 +/- ##
===========================================
+ Coverage 45.22% 87.58% +42.36%
===========================================
Files 183 198 +15
Lines 11073 12223 +1150
Branches 1905 2161 +256
===========================================
+ Hits 5008 10706 +5698
+ Misses 5644 921 -4723
- Partials 421 596 +175 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The fixtures fixed retention_expires_at at NOW + 30 days (2026-10-14) but left created_at on the real clock, so from 2026-10-14 every insert failed the retention_expires_at > created_at check. Set created_at and updated_at to NOW, as test_stage12_comparison_service.py already does. Two tests that expect other constraint failures were passing on the retention check instead; they now hit the constraints they test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit 77b44b3)
anth-volk
added a commit
that referenced
this pull request
Oct 19, 2026
#3918 added _serialize_region_filter_value, which compares against the literal 255 (PLR2004). Name it MAX_REGION_FILTER_VALUE_LENGTH, the size of the catalog's filter_value column; the error message text is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anth-volk
added a commit
that referenced
this pull request
Oct 20, 2026
#3918 added _serialize_region_filter_value, which compares against the literal 255 (PLR2004). Name it MAX_REGION_FILTER_VALUE_LENGTH, the size of the catalog's filter_value column; the error message text is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anth-volk
added a commit
that referenced
this pull request
Oct 20, 2026
#3918 added _serialize_region_filter_value, which compares against the literal 255 (PLR2004). Name it MAX_REGION_FILTER_VALUE_LENGTH, the size of the catalog's filter_value column; the error message text is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anth-volk
added a commit
that referenced
this pull request
Oct 20, 2026
#3918 added _serialize_region_filter_value, which compares against the literal 255 (PLR2004). Name it MAX_REGION_FILTER_VALUE_LENGTH, the size of the catalog's filter_value column; the error message text is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anth-volk
added a commit
that referenced
this pull request
Oct 20, 2026
#3918 added _serialize_region_filter_value, which compares against the literal 255 (PLR2004). Name it MAX_REGION_FILTER_VALUE_LENGTH, the size of the catalog's filter_value column; the error message text is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anth-volk
added a commit
that referenced
this pull request
Oct 20, 2026
#3918 added _serialize_region_filter_value, which compares against the literal 255 (PLR2004). Name it MAX_REGION_FILTER_VALUE_LENGTH, the size of the catalog's filter_value column; the error message text is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anth-volk
added a commit
that referenced
this pull request
Oct 20, 2026
#3918 added _serialize_region_filter_value, which compares against the literal 255 (PLR2004). Name it MAX_REGION_FILTER_VALUE_LENGTH, the size of the catalog's filter_value column; the error message text is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anth-volk
added a commit
that referenced
this pull request
Nov 4, 2026
A tracking issue shared by every bundle-update PR is closed by the first one to merge, so the other open ones name a closed issue and fail the PR description check on their next push (#3918 merged while #3925 was open, and #3953 while #3954 was). Go back to one issue per version, and test a new script that closes a bundle-update PR's issue when the PR is closed without merging, so superseded updates leave no issue open: - it closes the open issue titled for the branch's version that the first line of the description names, with reason "not planned"; - it leaves merged PRs, other branches, descriptions without a Fixes first line, and issues with another title, closed or a pull request alone; - its workflow runs on closed pull requests, only for unmerged bundle-update branches from this repository, with issues: write. Also test that the bundle-update script resolves the issue after the lock and before the push, so a failed lookup pushes no branch, and that it says which lookup failed. 25 cases fail: the script and workflow don't exist, and the bundle-update script uses the shared title and looks up the issue after pushing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #3921
Fixes #3922
Refs #3864: state reports still use the national dataset under PolicyEngine/policyengine.py#604, so that issue stays open.
Summary
Update PolicyEngine .py bundle from 6.2.1 to 6.3.4.
Bundled versions
Certified data releases
Additional changes for 6.3.4
Added in 16e3c74, carried over from #3868, which this PR replaces:
UK membership filters in the catalog (Catalog extraction fails on the UK England region's list-valued filter #3922). Catalog extraction failed on 6.3.4 with
region 'country/england' has an unsupported filter value, because the England region's filter now lists all nine English regions. Flat lists are stored as a JSON array in the existing filter text column. Scalar filters keep their current form, and nested, empty, non-finite or over-255-character values are still refused. Unit tests cover each case, and afixedchangelog fragment is added.Installed-catalog expectations. The counts are updated for US 2.2.1 and UK 2.126.12: 7,294 variables, 29,300 parameter nodes, 104,158 parameters, 1,194,256 parameter values, 2 datasets and 826 regions. The test also checks the England filter. Following Temporarily filter US state and district regions from the national dataset policyengine.py#604, every US region defaults to the national dataset, and only places fall back to it.
Stage 12 model test fixtures (07108a4, cherry-picked from 77b44b3 on Add a rules registry that makes every enforced and unenforced rule visible #3884). The fixtures fixed
retention_expires_atat 14 October 2026 but leftcreated_aton the real clock, so from that date every insert failed theretention_expires_at > created_atcheck and the Test job failed on every branch. The fixtures now setcreated_atandupdated_atto the same fixed time. The change is identical on Add a rules registry that makes every enforced and unenforced rule visible #3884, so either PR can merge first.Locally on the locked 6.3.4 install: mypy passes, the extraction unit tests pass (36), and the installed-catalog test passes with
RUN_V2_CATALOG_COMPATIBILITY=1.Generated automatically by GitHub Actions; the "Additional changes" section was added by hand.