Skip to content

Certify the Microcosm UK pair from microcosm#1535 on policyengine-uk 2.174.1 (national eeb6093e, local area 38605444) - #744

Draft
juaristi22 wants to merge 3 commits into
mainfrom
uk-certify-microcosm-pair-1535
Draft

juaristi22 wants to merge 3 commits into
mainfrom
uk-certify-microcosm-pair-1535

Conversation

@juaristi22

Copy link
Copy Markdown
Contributor

This certifies the Microcosm UK pair from PolicyEngine/microcosm#1535 on policyengine-uk 2.174.1, the version that built both cuts, so each certifies on its own build. It supersedes #731, the PolicyEngine/microcosm#1491 pair on 2.165.1.

The national

microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e (microcosm_uk_2024_25):

The local area

microcosm-uk-2024-25-dense-20261107T173210Z-38605444 (microcosm_uk_2024_25_dense). Constituency and local-authority regions route to it (regional_release_kind: local_area).

  • Build: the national's commit and spine, on policyengine-uk 2.174.1, so it also certifies on its own build, with no accepted model mismatch and no input-surface audit.
    • It uses the parameters of the last local cut, 83802786: K=15, 150,000 households, seed 42 and the same warm start.
    • Two commits on PolicyEngine/microcosm's uk-event-pair-20261107 sit on top of dc00d158f:
      • edd051ecc defers one local council tax cell, Carmarthenshire's band I, where the first build stopped;
      • 03c31df56 signs the gate-only target-fit failures, national and local, of the build at edd051ecc.
  • Gates:
    • The reuse build at 03c31df56 passed all 7 terminal gates and every release-blocking gate.
    • The diagnostic high-value-homes support check fails, as it did on earlier local cuts.
  • Fit: 98.4% of its 28,712 target rows end within 10%.
  • Publication: uploaded to the inspect lane on 7 Nov at 19:36 UTC, tag only (--no-latest), with its staging files.
  • H5 sha256: 1b71c5c93f47f497b25ec106d3e13017af6e0c41d808cc7db74f4e0a0dff4bf4.

Impact

  • The UK model pin moves from 2.151.0 to 2.174.1.
    • Since 2.170.0 (Autumn Budget 2026 measures in current law policyengine-uk#2719), current law includes these Autumn Budget 2026 measures:
      • the Household Energy Payment and the Pension Tax Allowance;
      • the Carer's Allowance taper;
      • the higher savings and property income rates;
      • the £3,000 trading allowance;
      • the fuel duty and electricity VAT extensions.
    • UK baselines on this bundle include them.
  • The data moves from the 2.151.0 pair (a6299504 and c9df4b86) to eeb6093e and 38605444. UK results change with both.
  • The household snapshots move with the model.
    • The four UK households gain the £100 Household Energy Payment.
    • The couple with two children also gains £870 of funded childcare.
    • The two households on Universal Credit gain £150 of Warm Home Discount in HBAI income.
    • The US snapshots don't change.
  • The Test jobs get 150 minutes, as on Certify the Microcosm UK pair from microcosm#1491 on policyengine-uk 2.165.1 (national 0639b9c7, local area 83802786) #731. On 2.165.1 they took 86 to 105 minutes on Python 3.11 to 3.13, and main's limit of 105 (Let the Test jobs run for 105 minutes #737) would cancel them.

Commits

  • 8cd66bfb: the pair, certified by one certify-data run. It also carries:
    • the lock, in which only policyengine-uk moves;
    • the release lock and the TROs;
    • the certified test constants and the changelog fragment.
  • b3370346: the household calculator snapshots, regenerated on 2.174.1 (PE_UPDATE_SNAPSHOTS=1).
  • 12a6a8cb: the Test jobs' 150-minute limit, in the pull-request and push workflows.

How it was made

uv sync --frozen --extra uk --extra dev --python 3.13
uv pip install policyengine-uk==2.174.1
python scripts/bundle.py certify-data --country uk --data-producer populace \
  --manifest-uri "hf://dataset/policyengine/populace-uk-private@microcosm-uk-2024-25-national-20261107T020434Z-eeb6093e/releases/microcosm-uk-2024-25-national/release_manifest.json" \
  --regional-manifest-uri "hf://dataset/policyengine/populace-uk-private@microcosm-uk-2024-25-dense-20261107T173210Z-38605444/releases/microcosm-uk-2024-25-dense/release_manifest.json" \
  --model-version 2.174.1
uvx --from uv==0.13.4 uv lock --no-config --no-sources --default-index https://pypi.org/simple --python 3.13
uv sync --frozen --extra uk --extra dev --python 3.13
python scripts/release_lock.py
python scripts/bundle.py generate --include-tros
PE_UPDATE_SNAPSHOTS=1 python -m pytest tests/test_household_calculator_snapshot.py -q
python scripts/bundle.py check
python scripts/bundle.py check --include-tros --strict-tros
python scripts/check_uk_uc_floor.py --dataset microcosm_uk_2024_25 --year 2025 --output uc_floor.json

uk_qualification.rewrite_certified_constants rewrote the certified constants in tests/test_models.py, tests/test_release_manifests.py and tests/test_uk_regions.py. The local-area id was added to its replacements.

Evidence run on this head

  • The UC floor passed on eeb6093e (check_uk_uc_floor.py, Great Britain, 2025, within 10%, policyengine-uk 2.174.1). The receipt holds weighted national totals only:

  • Bundle checks: both bundle.py check runs pass, the second with --include-tros --strict-tros. Its one warning is the US core note that main already carries.

  • Lock and lint:

    • release_lock.py passes;
    • ruff format --check and ruff check pass with CI's ruff (0.17.4).
  • Local tests:

    • the three certified-constant files: 124 passed;
    • the household snapshots on 2.174.1: 11 passed;
    • 24 bundle, certification, TRO, receipt and region files: 2,342 passed, 3 skipped.

    The full suite runs in CI.

Disclosure

Aggregates only: the shares of target rows within 10%, weighted national totals over many records, synthetic households, and published DWP and OBR figures.

🤖 Generated with Claude Code

juaristi22 and others added 3 commits November 8, 2026 13:09
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 <noreply@anthropic.com>
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 <noreply@anthropic.com>
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 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant