diff --git a/changelog.d/uk-extra-291.changed.md b/changelog.d/uk-extra-291.changed.md new file mode 100644 index 000000000..0c29448d4 --- /dev/null +++ b/changelog.d/uk-extra-291.changed.md @@ -0,0 +1 @@ +The uk extra floors move to policyengine-uk>=2.91 across the build, data, and frame shards, so the next UK release records a built-with model that carries the retention-elasticity semantics and CGT response hardening the policyengine.py certification gate pairs against. diff --git a/packages/microcosm-build/pyproject.toml b/packages/microcosm-build/pyproject.toml index a240c8cc1..540215b28 100644 --- a/packages/microcosm-build/pyproject.toml +++ b/packages/microcosm-build/pyproject.toml @@ -36,7 +36,7 @@ us = [ # The UK extra adds the rules engine for local metric generation from a # Microcosm UK H5. Target tables remain explicit inputs, and the base package # still does not import policyengine-uk at import time. -uk = ["policyengine-uk>=2.88", "h5py>=3", "tables>=3"] +uk = ["policyengine-uk>=2.91", "h5py>=3", "tables>=3"] [project.scripts] microcosm-export-us-l0-refit-h5 = "microcosm.build.us_runtime.l0_refit_export:main" diff --git a/packages/microcosm-build/src/microcosm/build/uk/cgt_source_stages.json b/packages/microcosm-build/src/microcosm/build/uk/cgt_source_stages.json index 914b021d6..e0dedaf4f 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/cgt_source_stages.json +++ b/packages/microcosm-build/src/microcosm/build/uk/cgt_source_stages.json @@ -43,7 +43,7 @@ { "role": "policy_parameters", "kind": "versioned_parameter_tree", - "dependency": "policyengine-uk>=2.88 via microcosm-build[uk]", + "dependency": "policyengine-uk>=2.91 via microcosm-build[uk]", "parameters": [ "gov.hmrc.income_tax.allowances.personal_allowance.amount", "gov.hmrc.income_tax.allowances.personal_allowance.maximum_ANI", diff --git a/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json b/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json index 6a12fa68f..6584658df 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json +++ b/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json @@ -471,7 +471,7 @@ ], "required_mass_change_reason": "Amounts-only capital gains redraw: household weights pass through unchanged and total household mass is conserved.", "source_manifest": "cgt_source_stages.json", - "source_manifest_sha256": "16b68f1d222116278421b210d3d9de0d06edcdf25d68f5a29dbf0f52ca63384a", + "source_manifest_sha256": "ee3a83e738a3b584740603971851f24b28c28c525c4f6abcc7411d9bc6579480", "source_vintages": { "hmrc_surface": "2023-24", "mapped_build_period": "2023" diff --git a/packages/microcosm-data/pyproject.toml b/packages/microcosm-data/pyproject.toml index 6ef7d481b..804b594b5 100644 --- a/packages/microcosm-data/pyproject.toml +++ b/packages/microcosm-data/pyproject.toml @@ -28,7 +28,7 @@ us = ["policyengine-us>=1.745.0,<2"] # The UK artifact lives in a PRIVATE repo (UK Data Service licence): loads # require an authenticated HF token with access. The loader surfaces the # 401 with that explanation rather than retrying. -uk = ["policyengine-uk>=2.88"] +uk = ["policyengine-uk>=2.91"] [project.urls] Homepage = "https://microcosm.institute" diff --git a/packages/microcosm-frame/pyproject.toml b/packages/microcosm-frame/pyproject.toml index 94d930278..9cf6c3861 100644 --- a/packages/microcosm-frame/pyproject.toml +++ b/packages/microcosm-frame/pyproject.toml @@ -12,7 +12,7 @@ dependencies = [ [project.optional-dependencies] us = ["microunit>=0.1.0"] policyengine = ["policyengine-us>=1.745.0,<2", "microunit>=0.1.0"] -uk = ["policyengine-uk>=2.88"] +uk = ["policyengine-uk>=2.91"] # The Axiom adapter's PyPI-resolvable dependencies. The engine itself # (axiom-rules-engine + its dense native extension) is not on PyPI yet and # installs from a checkout; see microcosm/frame/adapters/axiom.py. diff --git a/uv.lock b/uv.lock index 01fdf10db..05fda6451 100644 --- a/uv.lock +++ b/uv.lock @@ -673,7 +673,7 @@ requires-dist = [ { name = "microunit", marker = "extra == 'us'", specifier = ">=0.1.0" }, { name = "numpy", specifier = ">=1.26" }, { name = "pandas", specifier = ">=2" }, - { name = "policyengine-uk", marker = "extra == 'uk'", specifier = ">=2.88" }, + { name = "policyengine-uk", marker = "extra == 'uk'", specifier = ">=2.91" }, { name = "policyengine-us", marker = "extra == 'us'", specifier = ">=1.745.0,<2" }, { name = "pyarrow", specifier = ">=15" }, { name = "pyyaml", specifier = ">=6" }, @@ -743,7 +743,7 @@ requires-dist = [ { name = "h5py", specifier = ">=3" }, { name = "huggingface-hub", specifier = ">=0.20" }, { name = "packaging", specifier = ">=24" }, - { name = "policyengine-uk", marker = "extra == 'uk'", specifier = ">=2.88" }, + { name = "policyengine-uk", marker = "extra == 'uk'", specifier = ">=2.91" }, { name = "policyengine-us", marker = "extra == 'us'", specifier = ">=1.745.0,<2" }, ] provides-extras = ["us", "uk"] @@ -817,7 +817,7 @@ requires-dist = [ { name = "microunit", marker = "extra == 'us'", specifier = ">=0.1.0" }, { name = "numpy", specifier = ">=2" }, { name = "pandas", specifier = ">=2.3" }, - { name = "policyengine-uk", marker = "extra == 'uk'", specifier = ">=2.88" }, + { name = "policyengine-uk", marker = "extra == 'uk'", specifier = ">=2.91" }, { name = "policyengine-us", marker = "extra == 'policyengine'", specifier = ">=1.745.0,<2" }, { name = "tables", marker = "extra == 'axiom'", specifier = ">=3" }, ] @@ -1324,7 +1324,7 @@ wheels = [ [[package]] name = "policyengine-core" -version = "3.26.11" +version = "3.31.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "dpath" }, @@ -1344,14 +1344,14 @@ dependencies = [ { name = "standard-imghdr" }, { name = "wheel" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/7f/90a055ede0e75cea2ac02b99ce3825dd441f1ee8f2777fd252ccd204aa47/policyengine_core-3.26.11.tar.gz", hash = "sha256:2331d3879e484f6503ea9c11f1f185a873d31a4a5269dbc4250dcc9fb2edb40a", size = 480237, upload-time = "2026-05-21T18:00:03.649Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/5e/227324f4c7b7fdce0e0eb0d6246afc6bb7d1fb2a61546f514fe698c20c29/policyengine_core-3.31.0.tar.gz", hash = "sha256:4e7811d9f1668cb198ee68a460d7383add3443db1f0e32d591dc92ed4e5b4319", size = 503277, upload-time = "2026-08-14T15:03:43.216Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5e/0a/a99bdb1deccdbe48050ce2d4dff8bdc4e41992e923156007710087edf103/policyengine_core-3.26.11-py3-none-any.whl", hash = "sha256:17fb1b107f1e74792a8bfebe8ad0f2620a1cbdbabf8f358f25ac5f92738b8986", size = 235649, upload-time = "2026-05-21T18:00:01.716Z" }, + { url = "https://files.pythonhosted.org/packages/fb/75/d30a9de4352d02e1c81135c7d7c1b64f6506af7cab3883d9a4d51c4599cb/policyengine_core-3.31.0-py3-none-any.whl", hash = "sha256:6537c2ecebd2a49a7a345dbe3d3d4f37fc3c3babc6bba1990a2eb99a9f55d67d", size = 245717, upload-time = "2026-08-14T15:03:41.571Z" }, ] [[package]] name = "policyengine-uk" -version = "2.89.0" +version = "2.91.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "microdf-python" }, @@ -1359,9 +1359,9 @@ dependencies = [ { name = "pydantic" }, { name = "tables" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e4/49/75c80cd9b1145d8cfd5efbdb534aca2c9d5c5722fef3fc8f4887831505ea/policyengine_uk-2.89.0.tar.gz", hash = "sha256:aea49956a350ec35c1e0def7cd28db324b055711ec5ab7f331395dca8d103341", size = 1216776, upload-time = "2026-06-11T13:06:04.826Z" } +sdist = { url = "https://files.pythonhosted.org/packages/87/a5/1904ad8a0b702cf9498a182887f89a027d62a42ee2a6cb9e50bf390090ab/policyengine_uk-2.91.0.tar.gz", hash = "sha256:98489dc2ab446720dfd32648d80856f8d416b6510f79b978c6babf6bbe67348e", size = 1238746, upload-time = "2026-08-17T19:50:22.171Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bb/5f/fd32a3f7314b02b3b6a8362d6b2869af5b51569301945c00ee1172e01914/policyengine_uk-2.89.0-py3-none-any.whl", hash = "sha256:72acae45a35a59cf7429bba69363601e624bfd643d50cd74b8d20d325497e9fd", size = 1999087, upload-time = "2026-06-11T13:06:02.819Z" }, + { url = "https://files.pythonhosted.org/packages/29/a9/5fbc26ca0400f2095b296452c5f28b078d1a9df61554a8c1c79969be0355/policyengine_uk-2.91.0-py3-none-any.whl", hash = "sha256:9cac0ad74ab500a8245ff83f5fccd95952204090ce404c21f38f2749477cde9f", size = 2036347, upload-time = "2026-08-17T19:50:19.879Z" }, ] [[package]]