From 8cd66bfb2d27b4e0168fab4d3419e54a83400e9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sun, 8 Nov 2026 13:09:21 +0000 Subject: [PATCH 1/3] Certify the PolicyEngine/microcosm#1535 pair on policyengine-uk 2.174.1 The national moves from a6299504 to microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e, built from PolicyEngine/microcosm main at dc00d158f (the merge of PolicyEngine/microcosm#1535) on policyengine-uk 2.174.1, and the local area from c9df4b86 to microcosm-uk-2024-25-dense-20261107T173210Z-38605444, built on the national's spine and reused at 03c31df56, its gate-only sign-off. Both certify on their own build (built_with_model_package); the core stays 3.33.3 with core_binding bundle_pin. The UK pin moves from 2.151.0 to 2.174.1 in pyproject.toml, the bundle and uv.lock, where nothing else moves. certify-data, the release lock, the TROs and both bundle checks are rerun. The certified constants in the tests follow uk_qualification.rewrite_certified_constants plus the local-area id, and one changelog fragment describes the pair. Co-Authored-By: Claude Opus 5.5 --- ...ional-20261107T020434Z-eeb6093e.changed.md | 1 + pyproject.toml | 6 +- src/policyengine/data/bundle/manifest.json | 75 ++++++++++--------- .../data/bundle/uk.trace.tro.jsonld | 30 ++++---- .../data/bundle/us.trace.tro.jsonld | 4 +- tests/test_models.py | 4 +- tests/test_release_manifests.py | 10 +-- tests/test_uk_regions.py | 4 +- uv.lock | 12 +-- 9 files changed, 74 insertions(+), 72 deletions(-) create mode 100644 changelog.d/certify-uk-microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e.changed.md diff --git a/changelog.d/certify-uk-microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e.changed.md b/changelog.d/certify-uk-microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e.changed.md new file mode 100644 index 000000000..ffde46aaf --- /dev/null +++ b/changelog.d/certify-uk-microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e.changed.md @@ -0,0 +1 @@ +Certify the UK populace data release `microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e` (microcosm_uk_2024_25, policyengine-uk 2.174.1) into the PolicyEngine bundle manifest. diff --git a/pyproject.toml b/pyproject.toml index dc6ad9702..75fadf9d4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,12 +42,12 @@ graph = [ models = [ "policyengine-core==3.33.3", "policyengine-us==2.2.1", - "policyengine-uk==2.151.0", + "policyengine-uk==2.174.1", "spm-calculator==1.0.0", ] uk = [ "policyengine-core==3.33.3", - "policyengine-uk==2.151.0", + "policyengine-uk==2.174.1", ] us = [ "policyengine-core==3.33.3", @@ -72,7 +72,7 @@ dev = [ "rfc8785>=0.1.4", "policyengine-core==3.33.3", "policyengine-us==2.2.1", - "policyengine-uk==2.151.0", + "policyengine-uk==2.174.1", "spm-calculator==1.0.0", ] diff --git a/src/policyengine/data/bundle/manifest.json b/src/policyengine/data/bundle/manifest.json index de147162b..ea2dbdba1 100644 --- a/src/policyengine/data/bundle/manifest.json +++ b/src/policyengine/data/bundle/manifest.json @@ -16,31 +16,31 @@ }, "data_releases": { "uk": { - "build_id": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", + "build_id": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", "bundle_id": "uk-6.16.0", "certification": { - "built_with_model_version": "2.151.0", + "built_with_model_version": "2.174.1", "certified_by": "policyengine.py bundle certification", - "certified_for_model_version": "2.151.0", + "certified_for_model_version": "2.174.1", "compatibility_basis": "built_with_model_package", "core_binding": "bundle_pin", - "data_build_id": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504" + "data_build_id": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e" }, "certified_data_artifact": { - "build_id": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", + "build_id": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", "data_package": { "name": "microcosm-data", "version": "0.1.0" }, "dataset": "microcosm_uk_2024_25", - "sha256": "b96a8cd625b645a409c063b1de5158532708a2f0d3c3897a794a8fb0bbd5064e", - "uri": "hf://policyengine/populace-uk-private/microcosm_uk_2024_25.h5@microcosm-uk-2024-25-national-20261025T091414Z-a6299504" + "sha256": "0a9b77db1c0dee2693cb2d47bad68da34cb662916eee4829942bcd45de581f25", + "uri": "hf://policyengine/populace-uk-private/microcosm_uk_2024_25.h5@microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e" }, "country_id": "uk", "data_package": { "name": "microcosm-data", "release_manifest_path": "releases/microcosm-uk-2024-25-national/release_manifest.json", - "release_manifest_revision": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", + "release_manifest_revision": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", "repo_id": "policyengine/populace-uk-private", "repo_type": "dataset", "version": "0.1.0" @@ -50,66 +50,66 @@ "calibration_diagnostics": { "path": "releases/microcosm-uk-2024-25-national/calibration_diagnostics.json", "repo_id": "policyengine/populace-uk-private", - "revision": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", - "sha256": "e61a60a1a8d57204be15600b2f98dbc864123589d48ede8414ebe43139d7c09b" + "revision": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", + "sha256": "7b9685d835db96ad1f687a9407333bdb35c6bc8d1053cbdff12276c7bc5b6a65" }, "microcosm_uk_2024_25": { "path": "microcosm_uk_2024_25.h5", "repo_id": "policyengine/populace-uk-private", - "revision": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", - "sha256": "b96a8cd625b645a409c063b1de5158532708a2f0d3c3897a794a8fb0bbd5064e" + "revision": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", + "sha256": "0a9b77db1c0dee2693cb2d47bad68da34cb662916eee4829942bcd45de581f25" }, "microcosm_uk_2024_25_calibration": { "path": "microcosm_uk_2024_25_calibration.npz", "repo_id": "policyengine/populace-uk-private", - "revision": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", - "sha256": "96756884d719fa969c2fbdf548f4e56b8311c0c3765c66b1bf9bc8fe862f718f" + "revision": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", + "sha256": "e94ce3f42a5e35d112320b9413545e32c584cb1b302b050e461bf2dfe679f4fb" }, "microcosm_uk_2024_25_dense": { "path": "microcosm_uk_2024_25_dense.h5", "repo_id": "policyengine/populace-uk-private", "repo_type": "dataset", - "revision": "microcosm-uk-2024-25-dense-20261026T105309Z-c9df4b86", - "sha256": "cb3712f25b76109ad27b7b0cdf5dee78c55d3b7f55ce7bf207ef1a191da2ae9a" + "revision": "microcosm-uk-2024-25-dense-20261107T173210Z-38605444", + "sha256": "1b71c5c93f47f497b25ec106d3e13017af6e0c41d808cc7db74f4e0a0dff4bf4" }, "release_certification": { "path": "releases/microcosm-uk-2024-25-national/release_certification.json", "repo_id": "policyengine/populace-uk-private", - "revision": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", - "sha256": "fc657f7ec9a759d15d4ad683ab92d5324f37844667d9d54b6d0648108419cf59" + "revision": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", + "sha256": "9bab3aef310183665adb1c7d1ae4a61ef41d21868059535b0c5801fcc6f87dee" }, "release_cut_gates": { "path": "releases/microcosm-uk-2024-25-national/release_cut_gates.json", "repo_id": "policyengine/populace-uk-private", - "revision": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", - "sha256": "54312402dc3152ab46208f89c86e5d8bf0dce13dfc723171f5a2c08a826217cd" + "revision": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", + "sha256": "ba6f2efd7c391453eebd48fc02be936dd9d78dbf165f57bc2d52de70846ae000" }, "score_vs_enhanced_frs": { "path": "releases/microcosm-uk-2024-25-national/score_vs_enhanced_frs.json", "repo_id": "policyengine/populace-uk-private", - "revision": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", - "sha256": "9e80102acf02a09a70ba3f45d7e6da2d33178476840388d640105f36ee353bd2" + "revision": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", + "sha256": "2b0564603174cc3aeb45b1dc02fd4dcb14dacbf414a5980ae719cd9cafb2d73c" }, "spine_gates": { "path": "releases/microcosm-uk-2024-25-national/spine_gates.json", "repo_id": "policyengine/populace-uk-private", - "revision": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", - "sha256": "6856e437f4fa12a07ffe346a8f070b56d9a05c8dbece3eb277c293e75a0e582b" + "revision": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", + "sha256": "3708c3314f7ca975b76d9edf96a8dc0777624945cbc7c04e6680aa6d0253a6c7" }, "terminal_gates": { "path": "releases/microcosm-uk-2024-25-national/terminal_gates.json", "repo_id": "policyengine/populace-uk-private", - "revision": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", - "sha256": "cffa3db6734604c4fb7176bb81def41d313a8df26a2a2f675a970a6e9899a644" + "revision": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", + "sha256": "a647f8c0ee510044acd962377d71a16f917e4bf7ae66ca63946aac332a0806a0" } }, "default_dataset": "microcosm_uk_2024_25", - "default_dataset_uri": "hf://policyengine/populace-uk-private/microcosm_uk_2024_25.h5@microcosm-uk-2024-25-national-20261025T091414Z-a6299504", + "default_dataset_uri": "hf://policyengine/populace-uk-private/microcosm_uk_2024_25.h5@microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", "model_package": { "name": "policyengine-uk", - "sha256": "5722f55aca3eb88e1a228e95e1a57e3bd70a4d530a5a000991565ebd8955ce35", - "version": "2.151.0", - "wheel_url": "https://files.pythonhosted.org/packages/42/15/610c6825ed934d4338a42707b8c021e5627738e68224b6672df94770295c/policyengine_uk-2.151.0-py3-none-any.whl" + "sha256": "1d4d17c74bd5b853a148e9c44b080490dd0393725fe18b2b82ec55eecdb9bb58", + "version": "2.174.1", + "wheel_url": "https://files.pythonhosted.org/packages/35/ed/5ea303be2fd38da4e5f9b9a3fd012a5f9454fd5ef66a1df26c3267fb57a8/policyengine_uk-2.174.1-py3-none-any.whl" }, "policyengine_version": "6.16.0", "region_datasets": { @@ -124,12 +124,13 @@ } }, "regional_release_kind": "local_area", - "regional_release_manifest_uri": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-dense-20261026T105309Z-c9df4b86/releases/microcosm-uk-2024-25-dense/release_manifest.json", - "regional_source_manifest_uri": "hf://dataset/policyengine/populace-uk-private@microcosm-uk-2024-25-dense-20261026T105309Z-c9df4b86/releases/microcosm-uk-2024-25-dense/release_manifest.json", - "release_manifest_uri": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-national-20261025T091414Z-a6299504/releases/microcosm-uk-2024-25-national/release_manifest.json", + "regional_release_manifest_uri": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-dense-20261107T173210Z-38605444/releases/microcosm-uk-2024-25-dense/release_manifest.json", + "regional_source_manifest_sha256": "99d9afb3799cab9df845fef8fb187f6b19241ab6c61711ed298ca365dd4f71c7", + "regional_source_manifest_uri": "hf://dataset/policyengine/populace-uk-private@microcosm-uk-2024-25-dense-20261107T173210Z-38605444/releases/microcosm-uk-2024-25-dense/release_manifest.json", + "release_manifest_uri": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e/releases/microcosm-uk-2024-25-national/release_manifest.json", "schema_version": 1, - "source_manifest_uri": "hf://dataset/policyengine/populace-uk-private@microcosm-uk-2024-25-national-20261025T091414Z-a6299504/releases/microcosm-uk-2024-25-national/release_manifest.json", - "version": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504" + "source_manifest_uri": "hf://dataset/policyengine/populace-uk-private@microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e/releases/microcosm-uk-2024-25-national/release_manifest.json", + "version": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e" }, "us": { "build_id": "populace-us-2024-spm-20260915", @@ -363,10 +364,10 @@ "policyengine-uk": { "country": "uk", "import_name": "policyengine_uk", - "install_requirement": "policyengine-uk==2.151.0", + "install_requirement": "policyengine-uk==2.174.1", "name": "policyengine-uk", "role": "country_model", - "version": "2.151.0" + "version": "2.174.1" }, "policyengine-us": { "country": "us", diff --git a/src/policyengine/data/bundle/uk.trace.tro.jsonld b/src/policyengine/data/bundle/uk.trace.tro.jsonld index 8e7f281a8..7d0c99925 100644 --- a/src/policyengine/data/bundle/uk.trace.tro.jsonld +++ b/src/policyengine/data/bundle/uk.trace.tro.jsonld @@ -17,7 +17,7 @@ "schema:name": "PolicyEngine", "schema:url": "https://policyengine.org" }, - "schema:dateCreated": "2026-10-25T10:57:31.393341+00:00", + "schema:dateCreated": "2026-11-07T03:22:40.126887+00:00", "schema:description": "TRACE TRO for certified runtime bundle uk-6.16.0 covering the bundle manifest, the certified dataset artifact, the country model wheel, and the country data release manifest when it is available.", "schema:name": "policyengine uk certified bundle TRO", "trov:createdWith": { @@ -45,7 +45,7 @@ "trov:hasArtifact": { "@id": "composition/1/artifact/data_release_manifest" }, - "trov:hasLocation": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-national-20261025T091414Z-a6299504/releases/microcosm-uk-2024-25-national/release_manifest.json" + "trov:hasLocation": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e/releases/microcosm-uk-2024-25-national/release_manifest.json" }, { "@id": "arrangement/1/location/dataset", @@ -53,7 +53,7 @@ "trov:hasArtifact": { "@id": "composition/1/artifact/dataset" }, - "trov:hasLocation": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-national-20261025T091414Z-a6299504/microcosm_uk_2024_25.h5" + "trov:hasLocation": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e/microcosm_uk_2024_25.h5" }, { "@id": "arrangement/1/location/model_wheel", @@ -61,7 +61,7 @@ "trov:hasArtifact": { "@id": "composition/1/artifact/model_wheel" }, - "trov:hasLocation": "https://files.pythonhosted.org/packages/42/15/610c6825ed934d4338a42707b8c021e5627738e68224b6672df94770295c/policyengine_uk-2.151.0-py3-none-any.whl" + "trov:hasLocation": "https://files.pythonhosted.org/packages/35/ed/5ea303be2fd38da4e5f9b9a3fd012a5f9454fd5ef66a1df26c3267fb57a8/policyengine_uk-2.174.1-py3-none-any.whl" } ] } @@ -75,51 +75,51 @@ "@type": "trov:ResearchArtifact", "schema:name": "policyengine.py bundle manifest for uk", "trov:mimeType": "application/json", - "trov:sha256": "db2db2594c5b91c386325732656fc0ed73322135f30176f53ee560f40c9f5afb" + "trov:sha256": "5278771145717f866181150d5dd8905a0b5bd073ec79035351419ada348178f6" }, { "@id": "composition/1/artifact/data_release_manifest", "@type": "trov:ResearchArtifact", "schema:name": "microcosm-data release manifest 0.1.0", "trov:mimeType": "application/json", - "trov:sha256": "1ebdbcc37535858c995e2d7434074f4ab89521e7b64f9b539a0684906f800e49" + "trov:sha256": "58b47e8d1b1c2e53a93a59380a7b3ba2a50774226e814eaa9a1e536f43eb4946" }, { "@id": "composition/1/artifact/dataset", "@type": "trov:ResearchArtifact", "schema:name": "microcosm_uk_2024_25", "trov:mimeType": "application/x-hdf5", - "trov:sha256": "b96a8cd625b645a409c063b1de5158532708a2f0d3c3897a794a8fb0bbd5064e" + "trov:sha256": "0a9b77db1c0dee2693cb2d47bad68da34cb662916eee4829942bcd45de581f25" }, { "@id": "composition/1/artifact/model_wheel", "@type": "trov:ResearchArtifact", - "schema:name": "policyengine-uk==2.151.0 wheel", + "schema:name": "policyengine-uk==2.174.1 wheel", "trov:mimeType": "application/zip", - "trov:sha256": "5722f55aca3eb88e1a228e95e1a57e3bd70a4d530a5a000991565ebd8955ce35" + "trov:sha256": "1d4d17c74bd5b853a148e9c44b080490dd0393725fe18b2b82ec55eecdb9bb58" } ], "trov:hasFingerprint": { "@id": "composition/1/fingerprint", "@type": "trov:CompositionFingerprint", - "trov:sha256": "da0189c1fe41bc3d2aaa3d2b8c6146019330832fcb82536ca90e06c737fcfcc1" + "trov:sha256": "a6b6d856b6697f40bf7dcc7c7c02af4ec42ec38edf62fbfa999b7d174c52f5ee" } }, "trov:hasPerformance": { "@id": "trp/1", "@type": "trov:TransparentResearchPerformance", - "pe:builtWithModelVersion": "2.151.0", + "pe:builtWithModelVersion": "2.174.1", "pe:certifiedBy": "policyengine.py bundle certification", - "pe:certifiedForModelVersion": "2.151.0", + "pe:certifiedForModelVersion": "2.174.1", "pe:compatibilityBasis": "built_with_model_package", "pe:coreBinding": "bundle_pin", - "pe:dataBuildId": "microcosm-uk-2024-25-national-20261025T091414Z-a6299504", + "pe:dataBuildId": "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e", "pe:emittedIn": "repository-bundle", - "rdfs:comment": "Certification of build microcosm-uk-2024-25-national-20261025T091414Z-a6299504 for policyengine-uk 2.151.0.", + "rdfs:comment": "Certification of build microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e for policyengine-uk 2.174.1.", "trov:accessedArrangement": { "@id": "arrangement/1" }, - "trov:startedAtTime": "2026-10-25T10:57:31.393341+00:00", + "trov:startedAtTime": "2026-11-07T03:22:40.126887+00:00", "trov:wasConductedBy": { "@id": "trs" } diff --git a/src/policyengine/data/bundle/us.trace.tro.jsonld b/src/policyengine/data/bundle/us.trace.tro.jsonld index c2d2fa857..931e2c519 100644 --- a/src/policyengine/data/bundle/us.trace.tro.jsonld +++ b/src/policyengine/data/bundle/us.trace.tro.jsonld @@ -74,7 +74,7 @@ "@type": "trov:ResearchArtifact", "schema:name": "policyengine.py bundle manifest for us", "trov:mimeType": "application/json", - "trov:sha256": "db2db2594c5b91c386325732656fc0ed73322135f30176f53ee560f40c9f5afb" + "trov:sha256": "5278771145717f866181150d5dd8905a0b5bd073ec79035351419ada348178f6" }, { "@id": "composition/1/artifact/data_release_manifest", @@ -101,7 +101,7 @@ "trov:hasFingerprint": { "@id": "composition/1/fingerprint", "@type": "trov:CompositionFingerprint", - "trov:sha256": "eba41503ec902f9a6e2c6cd8d3b42eb221450928d8f18bbd55492436a1189ba7" + "trov:sha256": "f2b63b17af7c0c1535fc55a0847ef6b03c2093e29bc552678ee6104601cc0a94" } }, "trov:hasPerformance": { diff --git a/tests/test_models.py b/tests/test_models.py index c057a5196..ce8f296f9 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -43,13 +43,13 @@ def test_has_release_manifest_metadata(self): assert uk_latest.release_manifest is not None assert uk_latest.release_manifest.country_id == "uk" assert uk_latest.model_package.name == "policyengine-uk" - assert uk_latest.model_package.version == "2.151.0" + assert uk_latest.model_package.version == "2.174.1" assert uk_latest.data_package.name == "microcosm-data" assert uk_latest.data_package.version == "0.1.0" assert ( uk_latest.default_dataset_uri == "hf://policyengine/populace-uk-private/microcosm_uk_2024_25.h5" - "@microcosm-uk-2024-25-national-20261025T091414Z-a6299504" + "@microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e" ) def test_has_hundreds_of_parameters(self): diff --git a/tests/test_release_manifests.py b/tests/test_release_manifests.py index abc8b1a2b..44c60c8ff 100644 --- a/tests/test_release_manifests.py +++ b/tests/test_release_manifests.py @@ -73,13 +73,13 @@ "hf://policyengine/populace-us/populace_us_2024_acs_local.h5" f"@{US_LOCAL_AREA_RELEASE_ID}" ) -UK_MODEL_VERSION = "2.151.0" -UK_BUILT_WITH_MODEL_VERSION = "2.151.0" +UK_MODEL_VERSION = "2.174.1" +UK_BUILT_WITH_MODEL_VERSION = "2.174.1" UK_DATA_RELEASE_VERSION = "0.1.0" -UK_DATA_RELEASE_ID = "microcosm-uk-2024-25-national-20261025T091414Z-a6299504" -UK_DATA_RELEASE_REVISION = "microcosm-uk-2024-25-national-20261025T091414Z-a6299504" +UK_DATA_RELEASE_ID = "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e" +UK_DATA_RELEASE_REVISION = "microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e" UK_DATA_RELEASE_PATH = "releases/microcosm-uk-2024-25-national/release_manifest.json" -UK_LOCAL_AREA_RELEASE_ID = "microcosm-uk-2024-25-dense-20261026T105309Z-c9df4b86" +UK_LOCAL_AREA_RELEASE_ID = "microcosm-uk-2024-25-dense-20261107T173210Z-38605444" # The prior certified default (policyengine-uk-data 1.58.1), kept resolvable # via dataset_overlays. UK_EFRS_DATASET_URI = ( diff --git a/tests/test_uk_regions.py b/tests/test_uk_regions.py index f1e7e716e..82258aa84 100644 --- a/tests/test_uk_regions.py +++ b/tests/test_uk_regions.py @@ -24,11 +24,11 @@ # release its constituency and local-authority regions are routed to. UK_CERTIFIED_NATIONAL_URI = ( "hf://policyengine/populace-uk-private/microcosm_uk_2024_25.h5" - "@microcosm-uk-2024-25-national-20261025T091414Z-a6299504" + "@microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e" ) UK_CERTIFIED_LOCAL_AREA_URI = ( "hf://policyengine/populace-uk-private/microcosm_uk_2024_25_dense.h5" - "@microcosm-uk-2024-25-dense-20261026T105309Z-c9df4b86" + "@microcosm-uk-2024-25-dense-20261107T173210Z-38605444" ) UK_AREA_REGION_COUNT = 650 + 361 diff --git a/uv.lock b/uv.lock index 19e52c65e..1fddb7682 100644 --- a/uv.lock +++ b/uv.lock @@ -1894,9 +1894,9 @@ requires-dist = [ { name = "policyengine-core", marker = "extra == 'models'", specifier = "==3.33.3" }, { name = "policyengine-core", marker = "extra == 'uk'", specifier = "==3.33.3" }, { name = "policyengine-core", marker = "extra == 'us'", specifier = "==3.33.3" }, - { name = "policyengine-uk", marker = "extra == 'dev'", specifier = "==2.151.0" }, - { name = "policyengine-uk", marker = "extra == 'models'", specifier = "==2.151.0" }, - { name = "policyengine-uk", marker = "extra == 'uk'", specifier = "==2.151.0" }, + { name = "policyengine-uk", marker = "extra == 'dev'", specifier = "==2.174.1" }, + { name = "policyengine-uk", marker = "extra == 'models'", specifier = "==2.174.1" }, + { name = "policyengine-uk", marker = "extra == 'uk'", specifier = "==2.174.1" }, { name = "policyengine-us", marker = "extra == 'dev'", specifier = "==2.2.1" }, { name = "policyengine-us", marker = "extra == 'models'", specifier = "==2.2.1" }, { name = "policyengine-us", marker = "extra == 'us'", specifier = "==2.2.1" }, @@ -1946,7 +1946,7 @@ wheels = [ [[package]] name = "policyengine-uk" -version = "2.151.0" +version = "2.174.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "microdf-python" }, @@ -1954,9 +1954,9 @@ dependencies = [ { name = "pydantic" }, { name = "tables" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8f/b4/4a4ccbca68518d3e433d2d00c7e35fe136239a8ae2baf59324637a941f97/policyengine_uk-2.151.0.tar.gz", hash = "sha256:93bc378cad973244e7e3854d7a3a35e1011d381895d029b6996f14b32c240fd1", size = 3316516, upload-time = "2026-10-23T22:35:26.619Z" } +sdist = { url = "https://files.pythonhosted.org/packages/be/3a/fbf290895263fd4f8394f76fe1694e90e2c7b8b51a5a18f45f9bda16a4e2/policyengine_uk-2.174.1.tar.gz", hash = "sha256:c8302686c4d7c6fa92fb87febe1ad8130b7a0dd7987d5b14104384bd171f2245", size = 4434552, upload-time = "2026-11-04T07:36:05.319Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/15/610c6825ed934d4338a42707b8c021e5627738e68224b6672df94770295c/policyengine_uk-2.151.0-py3-none-any.whl", hash = "sha256:5722f55aca3eb88e1a228e95e1a57e3bd70a4d530a5a000991565ebd8955ce35", size = 4896964, upload-time = "2026-10-23T22:35:24.116Z" }, + { url = "https://files.pythonhosted.org/packages/35/ed/5ea303be2fd38da4e5f9b9a3fd012a5f9454fd5ef66a1df26c3267fb57a8/policyengine_uk-2.174.1-py3-none-any.whl", hash = "sha256:1d4d17c74bd5b853a148e9c44b080490dd0393725fe18b2b82ec55eecdb9bb58", size = 6313656, upload-time = "2026-11-04T07:36:02.964Z" }, ] [[package]] From b3370346fd2b505fe6b668a9868f56ad81c48d06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sun, 8 Nov 2026 13:09:21 +0000 Subject: [PATCH 2/3] Regenerate the household calculator snapshots on policyengine-uk 2.174.1 PE_UPDATE_SNAPSHOTS=1. The four UK households gain the GBP 100 Household Energy Payment (policyengine-uk 2.170.0). The couple with two children also gains GBP 870 of funded childcare, and the two households on Universal Credit GBP 150 of Warm Home Discount in HBAI income. The UK model surface counts more parameters and variables; the US snapshots don't change. Co-Authored-By: Claude Opus 5.5 --- .../uk_couple_two_kids.json | 10 +++++----- .../uk_model_surface.json | 4 ++-- .../uk_single_adult_employment_income.json | 10 +++++----- .../uk_single_adult_no_income.json | 10 +++++----- .../uk_single_parent_one_child.json | 10 +++++----- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/tests/fixtures/household_calculator_snapshots/uk_couple_two_kids.json b/tests/fixtures/household_calculator_snapshots/uk_couple_two_kids.json index 2d5394702..61742dfa3 100644 --- a/tests/fixtures/household_calculator_snapshots/uk_couple_two_kids.json +++ b/tests/fixtures/household_calculator_snapshots/uk_couple_two_kids.json @@ -10,16 +10,16 @@ "benunit.universal_credit": 0.0, "benunit.working_tax_credit": 0.0, "household.council_tax": 0.0, - "household.equiv_hbai_household_net_income": 52510.29, + "household.equiv_hbai_household_net_income": 52581.71, "household.fuel_duty": 0.0, - "household.hbai_household_net_income": 73514.4, - "household.household_benefits": 9872.8, + "household.hbai_household_net_income": 73614.4, + "household.household_benefits": 10843.0, "household.household_count_people": 4.0, - "household.household_gross_income": 99872.8, + "household.household_gross_income": 100843.0, "household.household_id": 0.0, "household.household_income_decile": 10.0, "household.household_market_income": 90000.0, - "household.household_net_income": 80869.8, + "household.household_net_income": 81840.0, "household.household_tax": 19003.0, "household.household_wealth_decile": 10.0, "household.household_weight": 1.0, diff --git a/tests/fixtures/household_calculator_snapshots/uk_model_surface.json b/tests/fixtures/household_calculator_snapshots/uk_model_surface.json index c926e1f2d..34ef7956d 100644 --- a/tests/fixtures/household_calculator_snapshots/uk_model_surface.json +++ b/tests/fixtures/household_calculator_snapshots/uk_model_surface.json @@ -5,7 +5,7 @@ "has_income_tax": true, "has_region_registry": true, "model_package_name": "policyengine-uk", - "num_parameters_bucketed_100s": 42, - "num_variables_bucketed_100s": 12, + "num_parameters_bucketed_100s": 48, + "num_variables_bucketed_100s": 14, "region_registry_country": "uk" } diff --git a/tests/fixtures/household_calculator_snapshots/uk_single_adult_employment_income.json b/tests/fixtures/household_calculator_snapshots/uk_single_adult_employment_income.json index a96a4e099..1f15e4818 100644 --- a/tests/fixtures/household_calculator_snapshots/uk_single_adult_employment_income.json +++ b/tests/fixtures/household_calculator_snapshots/uk_single_adult_employment_income.json @@ -10,16 +10,16 @@ "benunit.universal_credit": 0.0, "benunit.working_tax_credit": 0.0, "household.council_tax": 0.0, - "household.equiv_hbai_household_net_income": 37491.94, + "household.equiv_hbai_household_net_income": 37641.19, "household.fuel_duty": 0.0, - "household.hbai_household_net_income": 25119.6, - "household.household_benefits": 0.0, + "household.hbai_household_net_income": 25219.6, + "household.household_benefits": 100.0, "household.household_count_people": 1.0, - "household.household_gross_income": 30000.0, + "household.household_gross_income": 30100.0, "household.household_id": 0.0, "household.household_income_decile": 10.0, "household.household_market_income": 30000.0, - "household.household_net_income": 24939.6, + "household.household_net_income": 25039.6, "household.household_tax": 5060.4, "household.household_wealth_decile": 10.0, "household.household_weight": 1.0, diff --git a/tests/fixtures/household_calculator_snapshots/uk_single_adult_no_income.json b/tests/fixtures/household_calculator_snapshots/uk_single_adult_no_income.json index 2dba151cd..d7dd50f04 100644 --- a/tests/fixtures/household_calculator_snapshots/uk_single_adult_no_income.json +++ b/tests/fixtures/household_calculator_snapshots/uk_single_adult_no_income.json @@ -10,16 +10,16 @@ "benunit.universal_credit": 5098.8, "benunit.working_tax_credit": 0.0, "household.council_tax": 0.0, - "household.equiv_hbai_household_net_income": 7610.15, + "household.equiv_hbai_household_net_income": 7983.28, "household.fuel_duty": 0.0, - "household.hbai_household_net_income": 5098.8, - "household.household_benefits": 5098.8, + "household.hbai_household_net_income": 5348.8, + "household.household_benefits": 5198.8, "household.household_count_people": 1.0, - "household.household_gross_income": 5098.8, + "household.household_gross_income": 5198.8, "household.household_id": 0.0, "household.household_income_decile": 10.0, "household.household_market_income": 0.0, - "household.household_net_income": 4918.8, + "household.household_net_income": 5018.8, "household.household_tax": 180.0, "household.household_wealth_decile": 10.0, "household.household_weight": 1.0, diff --git a/tests/fixtures/household_calculator_snapshots/uk_single_parent_one_child.json b/tests/fixtures/household_calculator_snapshots/uk_single_parent_one_child.json index 3c4e5025a..bcbaff894 100644 --- a/tests/fixtures/household_calculator_snapshots/uk_single_parent_one_child.json +++ b/tests/fixtures/household_calculator_snapshots/uk_single_parent_one_child.json @@ -10,16 +10,16 @@ "benunit.universal_credit": 1596.3, "benunit.working_tax_credit": 0.0, "household.council_tax": 0.0, - "household.equiv_hbai_household_net_income": 28186.78, + "household.equiv_hbai_household_net_income": 28474.13, "household.fuel_duty": 0.0, - "household.hbai_household_net_income": 24522.5, - "household.household_benefits": 3002.9, + "household.hbai_household_net_income": 24772.5, + "household.household_benefits": 3102.9, "household.household_count_people": 2.0, - "household.household_gross_income": 28002.9, + "household.household_gross_income": 28102.9, "household.household_id": 0.0, "household.household_income_decile": 10.0, "household.household_market_income": 25000.0, - "household.household_net_income": 24342.5, + "household.household_net_income": 24442.5, "household.household_tax": 3660.4, "household.household_wealth_decile": 10.0, "household.household_weight": 1.0, From 12a6a8cb0930fc9a6db7f8568075d455c4495425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sun, 8 Nov 2026 13:09:21 +0000 Subject: [PATCH 3/3] Give the Test jobs 150 minutes on policyengine-uk 2.174.1 On #731 (policyengine-uk 2.165.1, 4 Nov) the Test jobs took 105 minutes on 3.11, 100 on 3.13 and 86 on 3.12 under a 150-minute limit. Main's 105 (#737) would cancel them, and 2.174.1 adds parameters and variables again. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/pr_code_changes.yaml | 9 ++++++--- .github/workflows/push.yaml | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr_code_changes.yaml b/.github/workflows/pr_code_changes.yaml index e19e3869f..98b4d1e7b 100644 --- a/.github/workflows/pr_code_changes.yaml +++ b/.github/workflows/pr_code_changes.yaml @@ -177,9 +177,12 @@ jobs: # 3.12 and 3.13 cancelled at the old 60-minute limit. By early Nov, 65 to 90 # minutes on 3.11-3.13, where coverage.py 7.13.5 uses its C trace function # (sys.monitoring only on 3.14, which takes 47-60), and one of them was often - # cancelled at 90: 3.12 on #730, 3.11 on #735 (#736). Fail a hung job instead - # of holding a shared org runner for the 6-hour default. - timeout-minutes: 105 + # cancelled at 90: 3.12 on #730, 3.11 on #735 (#736). With the UK pin on + # policyengine-uk 2.165.1 (#731, 4 Nov), 3.11 took 105 minutes, 3.13 100 + # and 3.12 86, so 105 cancels them; 2.174.1 adds parameters and variables + # again. Fail a hung job instead of holding a shared org runner for the + # 6-hour default. + timeout-minutes: 150 strategy: fail-fast: false matrix: diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index 4ed2b2945..33e0e82bf 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -52,8 +52,9 @@ jobs: # 3.13 36-60, 3.14 23-42; at 60 minutes every push run on 16 Oct was # cancelled before Versioning, so nothing was released (#640). By early # Nov, pull-request runs on 3.11-3.13 took 65 to 90 minutes and were often - # cancelled at 90 (#736). Matches the pull-request Test job (#631). - timeout-minutes: 105 + # cancelled at 90 (#736); with the UK pin on policyengine-uk 2.165.1, up to + # 105 (#731). Matches the pull-request Test job (#631). + timeout-minutes: 150 strategy: fail-fast: false matrix: