Repository navigation
Test winter heating payments for IS, JSA and ESA couples - #2391
Merged
Merged
Conversation
The winter heating suites had no case with a couple on Income Support, and none with an income-based JSA or income-related ESA couple of pensionable age. Eleven new cases, worked from the regulations: - Winter Fuel Payment (SI 2024/869, SI 2025/969): mixed-age Income Support and income-based JSA couples in 2024 (entitled through the couple, reg. 2(5)) and 2025 (paid at their own rate, since the award is not paid to them, reg. 3(2) and (5)); ESA and JSA couples of pensionable age in 2025 and an Income Support couple in 2024, each paid once (reg. 4(2)(a); reg. 4(1)(a)(i)). - PAWHP (SSI 2024/351): mixed-age Income Support couple in 2024 (reg. 7(2)) and JSA couple in 2025 (reg. 10(8)); ESA couple of pensionable age in 2024 (reg. 9(1)(d) as made) and Income Support couple in 2025, each paid once. Mutants of the Income Support reader (paid to both members) and of the WFP and PAWHP relevant-benefit lists (Income Support dropped) passed main's suites; the new cases fail all three. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis
marked this pull request as ready for review
October 15, 2026 02:49
Collaborator
Author
|
Hand-off to the UK hub (from session 257cd086, the #2038 session).
|
Collaborator
Author
|
Merged by the merge queue at the handed-off head
|
MaxGhenis
added a commit
that referenced
this pull request
Oct 15, 2026
MaxGhenis
added a commit
that referenced
this pull request
Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2389
Summary
Adds 11 YAML cases for Winter Fuel Payment and PAWHP couples on Income Support, income-based JSA and income-related ESA. Only the two test files and a changelog fragment change; the model doesn't.
Since #2027,
is_on_income_support,is_on_income_based_jsaandis_on_income_related_esaare true only for the member of a couple the award is paid to. #2038 reads the two legal concepts separately (partner_receipt_counts):Both readings still pay a couple one payment. Until now, no YAML case put a couple on Income Support, and none put an IS, JSA or ESA couple of pensionable age through the one-payment rule.
New cases
Every expected value is worked by hand from the regulation text, which was fetched from legislation.gov.uk on 2026-10-02. Each case cites its regulation in a comment. The exception is the 2025 PAWHP pensionable-age IS couple: its partner's £0 follows the model's documented reading of reg. 9(d), not the text alone (see below).
pawhp_eligible(see below); reg. 10(4)(b)The JSA cases show the two readings giving different results in the same week. In England in 2025, JSA is not paid to the partner, so the household gets £300. In Scotland, reg. 10(8) treats the partner as entitled, so it gets £406.80.
The 2025 PAWHP pensionable-age couple follows the model's documented reading of reg. 9(d) as substituted by SSI 2025/282. That is an interpretation. For the 2025 week, reg. 10(8) applies its couple rule only within reg. 10, so reg. 9(d) read literally excludes only a member entitled to a relevant benefit in their own right. With the claimant paid first, the literal text would leave the partner eligible for a second £203.40.
pawhp_eligiblemakes one payment per couple, as reg. 7(2) did for the 2024 week. From April 2026, reg. 2A (SSI 2026/170) supports one payment per couple expressly. The case's comment says so, and main's 2025 Pension Credit couple case already relies on the same reading. Both readings are recorded in TheAxiomFoundation/rulespec-uk#420.The pensionable-age IS, JSA and ESA cases enter the award on the benefit unit. The model reads an award as entered, whatever the claimant's age, so each case tests the one-payment rule for that award.
Mutation check
probes/mutate4.pymakes 8 mutants. Each is run against main's two YAML files and against this branch's.partner_receipt_counts)is_on_income_supporttrue for both membersis_on_income_based_jsatrue for both membersis_on_income_related_esatrue for both membersTests run
policyengine-core testonrelevant_benefit_receipt.yamlandpawhp.yaml: 67 passed, 11 of them new.winter_fuel_allowance.yamland the parametric reforms: 82 passed.pytest policyengine_uk/tests/test_winter_heating_payment_properties.pyon main: 3 passed. No Python changes.a912177a8.cb1770774, which now includes Count the Pension Age Winter Heating Payment in household and HBAI income #2047; Charge the winter fuel payment back through income tax, person by person #2066 is still open) passes all 77 winter YAML cases. The trial merge was aborted, so the head is unchanged.Review
Independent review r7 (Subfleet
review, job20261012-095108-wfp-couple-cases-r7): APPROVE ona912177a8, with no P2.pawhp_eligibleand rulespec-uk#420.Impact
None. No model code or parameter changes, so no microsimulation run is needed.
axiom: n/a: tests only, no rule change (the two receipt readings are queued in TheAxiomFoundation/rulespec-uk#420)
🤖 Generated with Claude Code