From 92da31ce6e0ce7e6b007603b293fa7bd38c8bb93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 28 Aug 2026 14:16:43 +0200 Subject: [PATCH] Revise the hmrc SPI band exclusions per the #807 support re-measurement Lift the three mid-band "sparse cell" exclusions whose premise failed on measurement (77-1,158 in-band carrier records, identical on spine-i and spine-j): state_pension 50-70k, self_employment amount 50-70k, and private_pension count 100-150k return to the calibrated surface. Their v9-era exclusion predates #803, when excluding a band silently widened its neighbour, and their fits were overshoots, not support gaps; the one-sided sibling distortion this left (self_employment count 50-70k at +38.6% on v11) resolves at the source. Tighten the eleven 1m+ zero-support reasons to name the income concept (total income, ITA 2007 s.23, which excludes capital gains) and cite the measured support, so the premise can no longer drift into a wealth or gains cap; reword the three retained thin 500k-1m cells with per-cell support instead of the retired "six-cell set" phrase. Register census pins updated: 44 entries, 39 in the 2026-08-26 tranche, the three lifted cells asserted non-excluded. Adjudication: microcosm#807 (spine-i/j receipts, uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). Co-Authored-By: Claude Fable 5 --- .../uk-exclusion-revision-807.changed.md | 1 + .../uk/calibration_measure_exclusions.json | 83 +++++++------------ .../tests/test_uk_measure_simulation.py | 31 +++++-- 3 files changed, 51 insertions(+), 64 deletions(-) create mode 100644 changelog.d/uk-exclusion-revision-807.changed.md diff --git a/changelog.d/uk-exclusion-revision-807.changed.md b/changelog.d/uk-exclusion-revision-807.changed.md new file mode 100644 index 00000000..d345b120 --- /dev/null +++ b/changelog.d/uk-exclusion-revision-807.changed.md @@ -0,0 +1 @@ +The UK calibration measure-exclusion register carries the #807 revision: the three mid-band "sparse cell" exclusions whose measured in-band support is in the hundreds (state_pension 50-70k, self_employment amount 50-70k, private_pension count 100-150k) are lifted back onto the calibrated surface, the eleven 1m+ zero-support reasons name total income (ITA 2007 s.23, excluding capital gains) with the spine-i/j measured support, and the three thin 500k-1m cells cite their per-cell support instead of the retired six-cell set. diff --git a/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json b/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json index 0a12cf65..7b73f1b6 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json +++ b/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json @@ -48,100 +48,100 @@ }, { "name": "hmrc/employment_income_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): zero in-band carrier records with total income above 1m, under both the SPI assessable-income concept and the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/employment_income_count_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): zero in-band carrier records with total income above 1m, under both the SPI assessable-income concept and the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/dividend_income_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): zero in-band carrier records with total income above 1m, under both the SPI assessable-income concept and the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/dividend_income_count_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): zero in-band carrier records with total income above 1m, under both the SPI assessable-income concept and the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/property_income_count_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): zero in-band carrier records with total income above 1m, under both the SPI assessable-income concept and the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/private_pension_income_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): zero in-band carrier records with total income above 1m, under both the SPI assessable-income concept and the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/private_pension_income_count_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): zero in-band carrier records with total income above 1m, under both the SPI assessable-income concept and the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/state_pension_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): zero in-band carrier records with total income above 1m, under both the SPI assessable-income concept and the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/state_pension_count_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): zero in-band carrier records with total income above 1m, under both the SPI assessable-income concept and the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/self_employment_income_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): 0 in-band carrier records with total income above 1m under the SPI assessable-income concept and 2 under the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/self_employment_income_count_income_band_1_000_000_to_inf", - "reason": "Zero-support channel: the SPI-derived spine carries 2 records above 1m total income (measured on candidate and incumbent alike, the #757 A2 support-channel measurement), so the cell cannot be reached by reweighting; nine of the eleven cells sit at -100% with final estimate 0.0 on the rebind packet.", + "reason": "Zero-support channel on total income (ITA 2007 s.23, which excludes capital gains): 0 in-band carrier records with total income above 1m under the SPI assessable-income concept and 2 under the component-sum proxy, measured identically on spine-i and spine-j (microcosm#807, receipts uk-candidate-eval out/excluded_cell_support_spine_{i,j}.json). The spine carries capital gains to 20.4m and thousands of records above 1m wealth; the premise is total-income support, never a wealth or gains cap, and a zero-support cell cannot be reached by reweighting.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, @@ -363,55 +363,28 @@ }, { "name": "hmrc/dividend_income_income_band_500_000_to_1_000_000", - "reason": "Sparse cell support: the frame carries too few records in this income-band cell for the solver to hit the published value without distorting neighbouring cells; a member of the stable six-cell sparse-band set present on both the live-proof and rebind packets.", + "reason": "Sparse cell support: 6 in-band carrier records under the SPI assessable-income concept and 10 under the component-sum proxy (6,914 weighted carriers), measured identically on spine-i and spine-j (microcosm#807) - too few for the solver to hit the published value without distorting neighbouring cells. One of the three thin 500k-1m cells retained when the microcosm#807 revision lifted the three mid-band cells whose measured support was in the hundreds; re-measure on the next spine build before renewal.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", - "approved_on": "2026-08-26", - "expires_on": "2026-11-26" - }, - { - "name": "hmrc/private_pension_income_count_income_band_100_000_to_150_000", - "reason": "Sparse cell support: the frame carries too few records in this income-band cell for the solver to hit the published value without distorting neighbouring cells; a member of the stable six-cell sparse-band set present on both the live-proof and rebind packets.", - "tracking": "microcosm#757", - "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/property_income_count_income_band_500_000_to_1_000_000", - "reason": "Sparse cell support: the frame carries too few records in this income-band cell for the solver to hit the published value without distorting neighbouring cells; a member of the stable six-cell sparse-band set present on both the live-proof and rebind packets.", + "reason": "Sparse cell support: 2 in-band carrier records under the SPI assessable-income concept and 8 under the component-sum proxy (3,430 weighted carriers), measured identically on spine-i and spine-j (microcosm#807) - too few for the solver to hit the published value without distorting neighbouring cells. One of the three thin 500k-1m cells retained when the microcosm#807 revision lifted the three mid-band cells whose measured support was in the hundreds; re-measure on the next spine build before renewal.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, { "name": "hmrc/self_employment_income_count_income_band_500_000_to_1_000_000", - "reason": "Sparse cell support: the frame carries too few records in this income-band cell for the solver to hit the published value without distorting neighbouring cells; a member of the stable six-cell sparse-band set present on both the live-proof and rebind packets.", - "tracking": "microcosm#757", - "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", - "approved_on": "2026-08-26", - "expires_on": "2026-11-26" - }, - { - "name": "hmrc/self_employment_income_income_band_50_000_to_70_000", - "reason": "Sparse cell support: the frame carries too few records in this income-band cell for the solver to hit the published value without distorting neighbouring cells; a member of the stable six-cell sparse-band set present on both the live-proof and rebind packets.", + "reason": "Sparse cell support: 4 in-band carrier records under the SPI assessable-income concept and 16 under the component-sum proxy (8,080 weighted carriers), measured identically on spine-i and spine-j (microcosm#807) - too few for the solver to hit the published value without distorting neighbouring cells. One of the three thin 500k-1m cells retained when the microcosm#807 revision lifted the three mid-band cells whose measured support was in the hundreds; re-measure on the next spine build before renewal.", "tracking": "microcosm#757", "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", - "approved_on": "2026-08-26", - "expires_on": "2026-11-26" - }, - { - "name": "hmrc/state_pension_income_band_50_000_to_70_000", - "reason": "Sparse cell support: the frame carries too few records in this income-band cell for the solver to hit the published value without distorting neighbouring cells; a member of the stable six-cell sparse-band set present on both the live-proof and rebind packets.", - "tracking": "microcosm#757", - "approved_by": "juaristi22", - "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411)", + "adjudication": "microcosm#757 (the uk_target_fit dispositions, issue comment 5427936411); reason revised 2026-08-28 per microcosm#807 (the spine-i/j excluded-cell support re-measurement)", "approved_on": "2026-08-26", "expires_on": "2026-11-26" }, diff --git a/packages/microcosm-build/tests/test_uk_measure_simulation.py b/packages/microcosm-build/tests/test_uk_measure_simulation.py index 6c5b901a..abcd9778 100644 --- a/packages/microcosm-build/tests/test_uk_measure_simulation.py +++ b/packages/microcosm-build/tests/test_uk_measure_simulation.py @@ -271,9 +271,12 @@ def test_exclusion_applier_warns_within_week_of_expiry(): #: The adjudicated register census: one entry per class of the #757 #: ``uk_target_fit`` dispositions (issue comment 5427936411) plus the -#: standing salary-sacrifice adjudication. The counts are the record of -#: what was signed; a drifting count is a register change that must be -#: re-adjudicated, never absorbed. +#: standing salary-sacrifice adjudication, as revised by the #807 +#: excluded-cell support re-measurement (spine-i and spine-j receipts): +#: the three mid-band "sparse cell" entries whose measured support was in +#: the hundreds are lifted. The counts are the record of what was signed; +#: a drifting count is a register change that must be re-adjudicated, +#: never absorbed. _PACKAGED_EXCLUSION_CENSUS = { "hmrc.salary_sacrifice.": 5, "_1_000_000_to_inf": 11, @@ -288,25 +291,30 @@ def test_exclusion_applier_warns_within_week_of_expiry(): def test_packaged_exclusions_load(): exclusions = load_uk_calibration_measure_exclusions() names = [entry["name"] for entry in exclusions] - assert len(names) == len(set(names)) == 47 + assert len(names) == len(set(names)) == 44 for marker, expected in _PACKAGED_EXCLUSION_CENSUS.items(): matched = [name for name in names if marker in name] assert len(matched) == expected, (marker, matched) - # The six sparse HMRC band cells are whatever remains: hmrc/ band - # cells that are not the eleven 1m+ channel cells. + # The sparse HMRC band cells are whatever remains: hmrc/ band cells + # that are not the eleven 1m+ channel cells. After the #807 revision + # only the three genuinely thin 500k-1m cells stay excluded. sparse = [ name for name in names if name.startswith("hmrc/") and "_1_000_000_to_inf" not in name ] - assert len(sparse) == 6, sparse + assert sorted(sparse) == [ + "hmrc/dividend_income_income_band_500_000_to_1_000_000", + "hmrc/property_income_count_income_band_500_000_to_1_000_000", + "hmrc/self_employment_income_count_income_band_500_000_to_1_000_000", + ], sparse # The 2026-08-26 tranche carries the uk_target_fit disposition # adjudication and a uniform three-month window; the ONS composition # cells track the relationship-to-head successor issue. tranche = [e for e in exclusions if e["approved_on"] == "2026-08-26"] - assert len(tranche) == 42 + assert len(tranche) == 39 for entry in tranche: assert "5427936411" in entry["adjudication"], entry["name"] assert entry["expires_on"] == "2026-11-26", entry["name"] @@ -318,7 +326,9 @@ def test_packaged_exclusions_load(): # caseload / two-child-limit cells ride the would_claim_uc lever run. # Exclusions cannot move surviving cells because band edges are pinned # to the compiled register (#792); the non-excluded cells are expected - # to pass at published band widths on the next seam run. + # to pass at published band widths on the next seam run. The three + # cells the #807 revision lifted (measured support in the hundreds) + # are back on the calibrated surface with them. excluded = set(names) for riding in ( "dwp.uc.households", @@ -326,6 +336,9 @@ def test_packaged_exclusions_load(): "dwp.uc.two_child_limit.children_disabled_child_element", "ons.household_composition.couple_no_children_households", "hmrc/state_pension_income_band_40_000_to_50_000", + "hmrc/state_pension_income_band_50_000_to_70_000", + "hmrc/self_employment_income_income_band_50_000_to_70_000", + "hmrc/private_pension_income_count_income_band_100_000_to_150_000", ): assert riding not in excluded, riding