Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Certify the UK populace data release `microcosm-uk-2024-25-national-20261023T075039Z-a133f37a` (microcosm_uk_2024_25, policyengine-uk 2.147.2) into the PolicyEngine bundle manifest.
30 changes: 30 additions & 0 deletions docs/engineering/skills/data-certification.md
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,36 @@ differencing.
withholds a standard reform's figures, so the gate cannot recompute that
reform's verdict. Accepted by María Juaristi in #685.

### Same-line re-cut exception

The Budget coordinator's **23 October 2026 decision under d1682 and d1344**
permits a same-line re-cut exception for the Budget week: the data must stay on
the same producer line, and the model must be pinned to the cut's build-time
version. For Saturday's national cut
`microcosm-uk-2024-25-national-20261023T075039Z-a133f37a`, that is
`policyengine-uk==2.147.2` (Microcosm build `829c1bc26`, on main via
[microcosm#1338](https://github.com/PolicyEngine/microcosm/pull/1338)).
Certify national-only with `--drop-regional-release`, stacked on
policyengine.py#704 (`budget-local-data-manifest`, `da2ae8fb` or a reviewed later
head). Constituency and local-authority outputs are absent until Monday's cut;
María Juaristi (`juaristi22`) can override this routing decision.

The exception's evidence package is: all release-cut gates; the UC floor;
snapshots; the #574 reform contract and Budget-inputs gates on the exact cut,
with the coverage used by #685; the strict check; and a same-line 2×2
attribution against the previously certified `6cba5d71` national cut on pe-uk
2.132.6. For FY2026-27 through FY2030-31, compare both data cuts under both
model versions, separating model effects on fixed data from data effects on a
fixed model. Map moves above the aggregate-impact report's thresholds to
pe-uk PRs or Microcosm changes, label unmapped moves **unattributed**, and list
limitations. Record incompatible cells as **not computable** with their error
and use the computable cells. Record scorecard replay as **unavailable** until
the Microcosm replay fix lands; unavailable is not a pass.

This scoped decision does not inherit #685's cross-data-line comparison
exception or accept a new UC-floor gap, missing input or failed gate. Any such
acceptance needs an explicit decision and evidence in the certification PR.

## Release runbooks

Concrete, fill-in-the-id runbooks that replay a specific certification live
Expand Down
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ graph = [
models = [
"policyengine-core==3.33.3",
"policyengine-us==2.2.1",
"policyengine-uk==2.132.6",
"policyengine-uk==2.147.2",
"spm-calculator==1.0.0",
]
uk = [
"policyengine-core==3.33.3",
"policyengine-uk==2.132.6",
"policyengine-uk==2.147.2",
]
us = [
"policyengine-core==3.33.3",
Expand All @@ -72,7 +72,7 @@ dev = [
"rfc8785>=0.1.4",
"policyengine-core==3.33.3",
"policyengine-us==2.2.1",
"policyengine-uk==2.132.6",
"policyengine-uk==2.147.2",
"spm-calculator==1.0.0",
]

Expand Down
85 changes: 35 additions & 50 deletions src/policyengine/data/bundle/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,31 +16,32 @@
},
"data_releases": {
"uk": {
"build_id": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71",
"build_id": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"bundle_id": "uk-6.10.1",
"certification": {
"built_with_model_version": "2.132.6",
"built_with_model_version": "2.147.2",
"certified_by": "policyengine.py bundle certification",
"certified_for_model_version": "2.132.6",
"certified_for_core_version": "3.33.3",
"certified_for_model_version": "2.147.2",
"compatibility_basis": "built_with_model_package",
"core_binding": "bundle_pin",
"data_build_id": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71"
"core_binding": "certified",
"data_build_id": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a"
},
"certified_data_artifact": {
"build_id": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71",
"build_id": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"data_package": {
"name": "microcosm-data",
"version": "0.1.0"
},
"dataset": "microcosm_uk_2024_25",
"sha256": "810ba980005a8b907cb51464279fa5e0125464b7af9a4871b7f6744c30951ece",
"uri": "hf://policyengine/populace-uk-private/microcosm_uk_2024_25.h5@microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71"
"sha256": "64f83900ca3a1242fb017585234844ce89f743d32e41cd2b6558057777f914aa",
"uri": "hf://policyengine/populace-uk-private/microcosm_uk_2024_25.h5@microcosm-uk-2024-25-national-20261023T075039Z-a133f37a"
},
"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-20261019T083323Z-6cba5d71",
"release_manifest_revision": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"repo_id": "policyengine/populace-uk-private",
"repo_type": "dataset",
"version": "0.1.0"
Expand All @@ -50,86 +51,70 @@
"calibration_diagnostics": {
"path": "releases/microcosm-uk-2024-25-national/calibration_diagnostics.json",
"repo_id": "policyengine/populace-uk-private",
"revision": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71",
"sha256": "34978e2bfde3f2641769c9c3a8f60455c59ecae5a50524b359d74388d7edc888"
"revision": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"sha256": "0c975ad04a2d1c0207c3be480d68f645c3a1b24f786c3eef76d6e984dfea0637"
},
"microcosm_uk_2024_25": {
"path": "microcosm_uk_2024_25.h5",
"repo_id": "policyengine/populace-uk-private",
"revision": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71",
"sha256": "810ba980005a8b907cb51464279fa5e0125464b7af9a4871b7f6744c30951ece"
"revision": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"sha256": "64f83900ca3a1242fb017585234844ce89f743d32e41cd2b6558057777f914aa"
},
"microcosm_uk_2024_25_calibration": {
"path": "microcosm_uk_2024_25_calibration.npz",
"repo_id": "policyengine/populace-uk-private",
"revision": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71",
"sha256": "104a8253bf1aebc91147c9bbb40e2603d1025317ba8c6b991383d5e4d91852c2"
},
"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-20261019T000432Z-ee5c2dbe",
"sha256": "8e10e130d0260e0b52e2e29902f0502ebdff76a14a3e57d2c876bf4cd8db5872"
"revision": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"sha256": "074872730ad5678cdb4e483d0141ece912be65d6bc032d01bf756f2c3868f2a7"
},
"release_certification": {
"path": "releases/microcosm-uk-2024-25-national/release_certification.json",
"repo_id": "policyengine/populace-uk-private",
"revision": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71",
"sha256": "6a68cc93595fc5a7ad451d75a902523c25659de27014f50431dd5e19af5bd959"
"revision": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"sha256": "633661c40492645236c0d286576c6206d1fe87609ac7ce90234f625397b9260c"
},
"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-20261019T083323Z-6cba5d71",
"sha256": "c91c1364d9c3be98493039d4e1dd8c2256881a434c1f124dd2ed0701bfaf7751"
"revision": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"sha256": "19f9b8bde4cafcfd179607541c5c8fa4247c97858a4ace7a1838bbacd223bc17"
},
"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-20261019T083323Z-6cba5d71",
"sha256": "ba8a675f36e7c836bf5521e5933e21bb689442734b7340e05cabd3e0cc55323d"
"revision": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"sha256": "cb4dcde88bf016e0646cdc46a9ab9adf9973c77b16a0cb9e1a25987d57b212ab"
},
"spine_gates": {
"path": "releases/microcosm-uk-2024-25-national/spine_gates.json",
"repo_id": "policyengine/populace-uk-private",
"revision": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71",
"sha256": "6dbba976dd1304c07da531382cecb11c9cb69512de0ee65126b71f032a0f37d6"
"revision": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"sha256": "7959f2a19b6535e67f8d9cb2c37ee68f027892ca10d9d8422be18a8261798f34"
},
"terminal_gates": {
"path": "releases/microcosm-uk-2024-25-national/terminal_gates.json",
"repo_id": "policyengine/populace-uk-private",
"revision": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71",
"sha256": "e29439d5ce0ea098d32579284ac06f26f086feba2fb8d12d1e88ac9a54840808"
"revision": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"sha256": "dac50ba94464ca4e2b494fd8ffcd04e47da6dd6e49e9f53bdb7384de7983097f"
}
},
"default_dataset": "microcosm_uk_2024_25",
"default_dataset_uri": "hf://policyengine/populace-uk-private/microcosm_uk_2024_25.h5@microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71",
"default_dataset_uri": "hf://policyengine/populace-uk-private/microcosm_uk_2024_25.h5@microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"model_package": {
"name": "policyengine-uk",
"sha256": "cc54025f2a3bc54be4f8d024d1e6f11ed29fed75ca513b214f2d2963c5bf4354",
"version": "2.132.6",
"wheel_url": "https://files.pythonhosted.org/packages/11/f2/c003cd7a95cb499737a5b8af0d619ba4e759c8bc7e55a2bb5c7efa46abd1/policyengine_uk-2.132.6-py3-none-any.whl"
"sha256": "4b48ab1008b00610abc38192927ac9d4bb22037b6bbd9578926c2899e639f972",
"version": "2.147.2",
"wheel_url": "https://files.pythonhosted.org/packages/96/dd/54ddc9226756877e630a3f9fcda4dbf2ae142635e96a564cab3a062ced62/policyengine_uk-2.147.2-py3-none-any.whl"
},
"policyengine_version": "6.10.1",
"region_datasets": {
"constituency": {
"path_template": "microcosm_uk_2024_25_dense.h5"
},
"local_authority": {
"path_template": "microcosm_uk_2024_25_dense.h5"
},
"national": {
"path_template": "microcosm_uk_2024_25.h5"
}
},
"regional_release_kind": "local_area",
"regional_release_manifest_uri": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-dense-20261019T000432Z-ee5c2dbe/releases/microcosm-uk-2024-25-dense/release_manifest.json",
"regional_source_manifest_uri": "hf://dataset/policyengine/populace-uk-private@microcosm-uk-2024-25-dense-20261019T000432Z-ee5c2dbe/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-20261019T083323Z-6cba5d71/releases/microcosm-uk-2024-25-national/release_manifest.json",
"release_manifest_uri": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-national-20261023T075039Z-a133f37a/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-20261019T083323Z-6cba5d71/releases/microcosm-uk-2024-25-national/release_manifest.json",
"version": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71"
"source_manifest_uri": "hf://dataset/policyengine/populace-uk-private@microcosm-uk-2024-25-national-20261023T075039Z-a133f37a/releases/microcosm-uk-2024-25-national/release_manifest.json",
"version": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a"
},
"us": {
"build_id": "populace-us-2024-spm-20260915",
Expand Down Expand Up @@ -363,10 +348,10 @@
"policyengine-uk": {
"country": "uk",
"import_name": "policyengine_uk",
"install_requirement": "policyengine-uk==2.132.6",
"install_requirement": "policyengine-uk==2.147.2",
"name": "policyengine-uk",
"role": "country_model",
"version": "2.132.6"
"version": "2.147.2"
},
"policyengine-us": {
"country": "us",
Expand Down
33 changes: 17 additions & 16 deletions src/policyengine/data/bundle/uk.trace.tro.jsonld
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"schema:name": "PolicyEngine",
"schema:url": "https://policyengine.org"
},
"schema:dateCreated": "2026-10-19T10:17:15.545356+00:00",
"schema:dateCreated": "2026-10-23T09:57:14.344348+00:00",
"schema:description": "TRACE TRO for certified runtime bundle uk-6.10.1 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": {
Expand Down Expand Up @@ -45,23 +45,23 @@
"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-20261019T083323Z-6cba5d71/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-20261023T075039Z-a133f37a/releases/microcosm-uk-2024-25-national/release_manifest.json"
},
{
"@id": "arrangement/1/location/dataset",
"@type": "trov:ArtifactLocation",
"trov:hasArtifact": {
"@id": "composition/1/artifact/dataset"
},
"trov:hasLocation": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71/microcosm_uk_2024_25.h5"
"trov:hasLocation": "https://huggingface.co/datasets/policyengine/populace-uk-private/resolve/microcosm-uk-2024-25-national-20261023T075039Z-a133f37a/microcosm_uk_2024_25.h5"
},
{
"@id": "arrangement/1/location/model_wheel",
"@type": "trov:ArtifactLocation",
"trov:hasArtifact": {
"@id": "composition/1/artifact/model_wheel"
},
"trov:hasLocation": "https://files.pythonhosted.org/packages/11/f2/c003cd7a95cb499737a5b8af0d619ba4e759c8bc7e55a2bb5c7efa46abd1/policyengine_uk-2.132.6-py3-none-any.whl"
"trov:hasLocation": "https://files.pythonhosted.org/packages/96/dd/54ddc9226756877e630a3f9fcda4dbf2ae142635e96a564cab3a062ced62/policyengine_uk-2.147.2-py3-none-any.whl"
}
]
}
Expand All @@ -75,51 +75,52 @@
"@type": "trov:ResearchArtifact",
"schema:name": "policyengine.py bundle manifest for uk",
"trov:mimeType": "application/json",
"trov:sha256": "095203eb2b45580c7afae0a3c89201f98a4426e4a1e76719cfdc28615ed9e5ca"
"trov:sha256": "d28213451af6d538a7c742b8ad5182e00b25e784ab68638e8428adc400012f01"
},
{
"@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": "49f9fa820db2e6544ff5cdceeb2d868a504843a6a1c1c06b37188621e700066f"
"trov:sha256": "63089003fa140b729e9daf24fb430e926f7cb5bd142e3cf6bfa106115aae6aa2"
},
{
"@id": "composition/1/artifact/dataset",
"@type": "trov:ResearchArtifact",
"schema:name": "microcosm_uk_2024_25",
"trov:mimeType": "application/x-hdf5",
"trov:sha256": "810ba980005a8b907cb51464279fa5e0125464b7af9a4871b7f6744c30951ece"
"trov:sha256": "64f83900ca3a1242fb017585234844ce89f743d32e41cd2b6558057777f914aa"
},
{
"@id": "composition/1/artifact/model_wheel",
"@type": "trov:ResearchArtifact",
"schema:name": "policyengine-uk==2.132.6 wheel",
"schema:name": "policyengine-uk==2.147.2 wheel",
"trov:mimeType": "application/zip",
"trov:sha256": "cc54025f2a3bc54be4f8d024d1e6f11ed29fed75ca513b214f2d2963c5bf4354"
"trov:sha256": "4b48ab1008b00610abc38192927ac9d4bb22037b6bbd9578926c2899e639f972"
}
],
"trov:hasFingerprint": {
"@id": "composition/1/fingerprint",
"@type": "trov:CompositionFingerprint",
"trov:sha256": "0ade76b548f319f98c7ce9426be439bd7c9897fa78d18fe574aab607528282cb"
"trov:sha256": "f164ec51bf8a7a347b437ecf9c461591b6f35a4c5050135352cfc96d2c2f51b8"
}
},
"trov:hasPerformance": {
"@id": "trp/1",
"@type": "trov:TransparentResearchPerformance",
"pe:builtWithModelVersion": "2.132.6",
"pe:builtWithModelVersion": "2.147.2",
"pe:certifiedBy": "policyengine.py bundle certification",
"pe:certifiedForModelVersion": "2.132.6",
"pe:certifiedForCoreVersion": "3.33.3",
"pe:certifiedForModelVersion": "2.147.2",
"pe:compatibilityBasis": "built_with_model_package",
"pe:coreBinding": "bundle_pin",
"pe:dataBuildId": "microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71",
"pe:coreBinding": "certified",
"pe:dataBuildId": "microcosm-uk-2024-25-national-20261023T075039Z-a133f37a",
"pe:emittedIn": "repository-bundle",
"rdfs:comment": "Certification of build microcosm-uk-2024-25-national-20261019T083323Z-6cba5d71 for policyengine-uk 2.132.6.",
"rdfs:comment": "Certification of build microcosm-uk-2024-25-national-20261023T075039Z-a133f37a for policyengine-uk 2.147.2.",
"trov:accessedArrangement": {
"@id": "arrangement/1"
},
"trov:startedAtTime": "2026-10-19T10:17:15.545356+00:00",
"trov:startedAtTime": "2026-10-23T09:57:14.344348+00:00",
"trov:wasConductedBy": {
"@id": "trs"
}
Expand Down
4 changes: 2 additions & 2 deletions src/policyengine/data/bundle/us.trace.tro.jsonld
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
"@type": "trov:ResearchArtifact",
"schema:name": "policyengine.py bundle manifest for us",
"trov:mimeType": "application/json",
"trov:sha256": "095203eb2b45580c7afae0a3c89201f98a4426e4a1e76719cfdc28615ed9e5ca"
"trov:sha256": "d28213451af6d538a7c742b8ad5182e00b25e784ab68638e8428adc400012f01"
},
{
"@id": "composition/1/artifact/data_release_manifest",
Expand All @@ -101,7 +101,7 @@
"trov:hasFingerprint": {
"@id": "composition/1/fingerprint",
"@type": "trov:CompositionFingerprint",
"trov:sha256": "85adc682b3d9684102287c08b7f06bd101b0e00fb5dd57692bb79956669371b4"
"trov:sha256": "37c146a215f35786a31a7f88d09817941507baf867c92b33fc2ff99b2b14c685"
}
},
"trov:hasPerformance": {
Expand Down
Loading
Loading