Repository navigation
Conversation
…ze criteria Universal Credit: a qualifying young person the renter is responsible for has a bedroom (UC Regs 2013 Sch 4 para 10(1)(b)), and any other member aged 16 or over is a non-dependant with one (para 9(2), 10(1)(c)), except a qualifying young person no one is responsible for (para 9(2)(g)). Housing Benefit: every member aged 16 or over other than the claimant or partner is a person who is not a child (HB Regs 2006 and HB (SPC) Regs 2006 reg 13D(3)(b); reg 2(1)). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
YAML cases for a qualifying young person aged 17 and 19, an 18-year-old non-dependant, a looked-after qualifying young person (no UC bedroom), a couple with a young person and two younger children (category E), a partner aged 19 (no extra bedroom) and a pensioner couple's grandchild under HB (SPC). Two LHA_claimant_composition cases asserted the old one-bedroom count for an apprentice non-dependant and an 18-year-old qualifying young person; both are now two bedrooms (Sch 4 para 10(1)(c) and (b)). Hypothesis properties: bedrooms never fall when a person aged 16-19 joins any family; the exact change when they do; and agreement with an independent count of the size criteria, children's rooms found by brute force. Fixes #2008 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…o lha-bedroom-young-people
…t's benefit unit A member of a benefit unit aged 16 or over who is not the claimant, partner or a qualifying young person (UC) or child or young person (HB, CTR) is a non-dependant of the renter (UC Regs 2013 Sch 4 para 9; HB Regs 2006 and HB (SPC) Regs 2006 reg 3; SI 2012/2885 reg 9 and the Welsh and Scottish equivalents). The deductions now charge them: - UC: to the renter's own claim; non-dependants in other families stay with the household head's claim (para 9(2)(f)). Adds the para 15 renter exemption and limits the para 16 Pension Credit exemption to the claimant or partner who receives it. - HB: apportioned between joint occupiers by rent share (reg 74(5)); a boarder or lodger bears their own. - National CTR: pooled across the claiming families by joint-liability share; only claiming families bear deductions. Fixes #2014. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… cost contributions UC Regs 2013 Sch 4 para 15(1)(a) turns on the renter's own circumstances; found by a mutation that applied the exemption to every family member. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mutation testing (15 one-line mutations of the new logic) left the in-unit age floor surviving the YAML tests, and dropping in-unit non-dependants from HB or CTR eligibility surviving the properties. The YAML case now checks a child's classification, and the oracle checks HB and CTR eligibility independently. All 15 mutations are now killed by both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reg 9(2)(a) excludes the applicant's family (claimant, partner and the children they are responsible for) from non-dependants, not every member of the FRS benefit unit. PR #2017 charges non-dependants who share a benefit unit with the claimant, so the property now asserts that no claimant or partner of a claimant family is a non-dependant. It holds on this branch and on its composition with #2017. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A non-dependant in a family's own benefit unit is that family's alone, not shared between joint occupiers: DWP guidance treats a joint tenant's sister as "Sarah's non-dependant" only (LHA Guidance Manual 2.093, example 2) and says "if a person is a non-dependant of only one of the joint occupiers, take the whole of the deduction from that joint occupier's entitlement" (HBGM A5 5.622). Reg 74(5) and CTR Sch 1 para 8(5) apportionment now apply only to non-dependants from other families. A lodger's family is one commercial arrangement for CTR too, so its adult son is no one's non-dependant there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Follows #2017's decision: a non-dependant in a joint occupier's own benefit unit is that occupier's only (LHA Guidance Manual para 2.093 example 2; HBGM A5 para 5.622). Other families' non-dependants still reside with each joint occupier. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Applies #2007 at 6257277 (59c7082 plus the r1 review commit) onto #2017 (in-unit non-dependants, #2006 rent shares): - One definition of claimant or partner: #1896's is_claimant_or_partner variable. #2007's proxy helper (benefit-unit head or any member who is not a Child Benefit child or QYP) is removed and its call sites read the variable. - HB and national CTR aggregation: another family's non-dependants per deduction_per_family (the couple's higher amount, both for a Welsh working-age UC couple, and each other member's own), counted once per family and apportioned by rent share (HB) or joint-liability share (CTR); a family's own in-unit non-dependants in full (LHA Guidance Manual 2.093; HBGM A5 5.622); the claimant exemptions. charged_to_other_families ("household minus own family") is no longer used and is removed. - #2007's property oracle reads is_claimant_or_partner; the in-unit property oracle counts a couple once and applies the claimant exemptions. - Drops council_tax_reduction_pension_credit.yaml and the in_receipt_of_guarantee_credit output (#1909, main only). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Follows #2017's decision: a non-dependant in a joint occupier's own benefit unit is that occupier's only (LHA Guidance Manual para 2.093 example 2; HBGM A5 para 5.622). Other families' non-dependants still reside with each joint occupier. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ions say Review r2 (F3, F4, F5) found three departures from the text. F3. 155766b charged a joint occupier's own adult son wholly to that occupier, citing LHA Guidance Manual 2.093 example 2 and HBGM A5 5.622. HB reg 3(1) and (4) and CTR reg 9(1) make him a non-dependant of every joint occupier he shares accommodation with: none of reg 3(2)(a)-(f) excludes him in relation to the other occupier. Reg 74(5) and CTR Sch 1 para 8(5) then apportion him. The LHA example concerns the size criteria and a sister, whom the model already treats as another family's non-dependant and apportions; 5.622 is conditional. The old rule also made the result depend on whether the survey codes the son in his parent's benefit unit or his own. HB and national CTR now pool every non-dependant, in any family, and apportion by rent share (HB) or joint-liability share (CTR). F4. A lodger's adult son was no one's non-dependant for CTR. Reg 9(2)(e) excludes only the person liable to pay the applicant, as HB reg 3(2)(e)(i) does; the household extension in (iii) is for the landlord's side. He is now eligible and is the householder's non-dependant for CTR and HB, and still the lodger's own for HB, in full, since they are not joint occupiers. F5. Widening the shared CTR eligibility made a jointly liable sharer's local claim bear the head's own son (Newham: £489.84 in 2025). The local aggregation now counts only other families' non-dependants, as before, so this change is neutral for the five local schemes until each council's aggregation is brought into line. YAML: joint tenants share one tenant's son by rent share (and get the same result with him coded in his own unit); jointly liable applicants share one's son equally; a lodger's son is the householder's non-dependant (HB and CTR) and the lodger's (HB); Newham sharer does not bear the head's son. Property oracle and conservation invariants restated for pooling. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The local schemes' aggregation masks the shared individual deductions to members of other families not liable for rent, so it stays as on base while the national eligibility also covers in-unit non-dependants. That mask must be exactly the eligibility's other-family term. #2009 changes the term to the claimant family, so that a sharer with no rent is a claimant and not a non-dependant (reg 9(2)(d)). in_other_non_liable_family now holds the term once, and both the eligibility and local_non_dep_deductions call it, so composing with #2009 is one edit. No change in behaviour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… deduction code Follows #2017 at 2d54628 (review r2 F3/F4): a non-dependant normally resides with each joint occupier whichever family they belong to (HB reg 3(1), (4); reg 74(5)), including a joint tenant's own adult son and a lodger's adult son (reg 3(2)(e)(i) excludes only the person liable to pay the claimant). A boarder or lodger keeps only their own family's. Both flags now count the same people the deduction formulas charge, so a deduction always implies a non-dependant, including for a family with no claimant or partner (review r1 finding 3). "Joint renter" in the UC docstring becomes "sharer of the rent" (in UC Sch 4 it means a joint claimant; review r1 finding 6). New YAML cases: a lodger's adult son (HB non-dependant of the householder and the lodger; UC counts him in the lodger's claim only, para 9(2)(f)), and a looked-after 16-year-old school leaver with a young single HB claimant (C, not A; #2016 review r2 N9). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… deduction code Follows #2017 at 2d54628 (review r2 F3/F4): a non-dependant normally resides with each joint occupier whichever family they belong to (HB reg 3(1), (4); reg 74(5)), including a joint tenant's own adult son and a lodger's adult son (reg 3(2)(e)(i) excludes only the person liable to pay the claimant). A boarder or lodger keeps only their own family's. Both flags now count the same people the deduction formulas charge, so a deduction always implies a non-dependant, including for a family with no claimant or partner (review r1 finding 3). "Joint renter" in the UC docstring becomes "sharer of the rent" (in UC Sch 4 it means a joint claimant; review r1 finding 6). New YAML cases: a lodger's adult son (HB non-dependant of the householder and the lodger; UC counts him in the lodger's claim only, para 9(2)(f)), and a looked-after 16-year-old school leaver with a young single HB claimant (C, not A; #2016 review r2 N9). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mutation check v3 found that dropping the applicant's own-family subtraction survived every test: with formula-computed eligibility the applicant's family never has an eligible member. An individual deduction set directly as an input does, and reg 9(2)(a) still keeps the applicant's own family out of its non-dependants, as base did. The YAML case pins it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Ready for hub review All 21 heads matched the brief's SHAs (
Paths in the merge column are under Conflicting files
Stacking (from
|
juaristi22
left a comment
There was a problem hiding this comment.
Reviewed 3efa8bd6082f9d7bf32d6351f21f1d729327b2e3, using the 21-path stack delta against #2007 rather than attributing parent changes to this PR. Review PARTIAL; no confirmed findings so far.
62 repository tests passed: 59 changed YAML cases and all three new properties. A native comparison of the same adult son inside versus outside the parent’s model benefit unit also passed through final awards and household income: HB £7,053.80, CTR £1,230.60 and income £21,086.25 on the HB route; UC £14,340.20 and income £27,142.05 on the UC route. An initial diagnostic used the wrong CTR entity; it was corrected and excluded from findings.
The independent source review is complete, including the Scottish deduction/apportionment rules and the linked Axiom queue addenda. The remaining material check is execution of the modified direct CTR-claimant and household-head/agreement regression properties. There are no CI results at this exact head, so hosted coverage cannot fill that gap. I will carry forward the completed checks and resume only the outstanding regressions.
Approval remains withheld: this PR is a draft, #2007 must merge, it must be retargeted to main, and applicable checks must pass at the reviewed head. The parent’s whole implementation and future merge result were not recertified.
juaristi22
left a comment
There was a problem hiding this comment.
Follow-up at unchanged head 3efa8bd6082f9d7bf32d6351f21f1d729327b2e3: the remaining validation gap is resolved; code/source review COMPLETE, with no confirmed findings.
Both outstanding integration files ran in full: all six tests passed, including 90 generated examples checking CTR claimant identity, household-head agreement and their final reductions. Together with the retained checks, that is 68 repository tests passed across the two rounds, plus the corrected native final-benefit/income comparison. The unchanged source evidence was revalidated and reused.
I’m continuing to withhold approval because this is a draft, #2007 must merge and this PR must be retargeted to main, and there are still no CI results at this exact head. Once those readiness conditions change, the completed review can be reused with checks of the actual new delta and current CI.
…B CTR case Main's case predates the in-unit non-dependant deduction: the mother and father are the grandmother's non-dependants, one deduction of 5.20 a week. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6KBpj2nEGrPeiuxZmW
…ing alone Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6KBpj2nEGrPeiuxZmW
juaristi22
left a comment
There was a problem hiding this comment.
Re-reviewed exact head b3e0d76b887851d0d04a56c84ba092cc16086e54. Review COMPLETE, with two confirmed blockers. All 281 targeted tests passed, and the counterexamples were checked through final UC with independent primary-source corroboration.
C1 — Limit the renter exemption to actual UC claimants. The new exemption includes is_claimant_or_partner, so a partner excluded under reg 3(3) can cancel a non-dependant's contribution. Schedule 4 paragraphs 1–2 and 15 limit the exemption to the renter or actual joint claimants. In the 2026 Maidstone case—claimant 45, excluded partner 43, ordinary son 22, £10,400 rent—making only the excluded partner blind cancels £1,158.60/year and raises UC from £12,940.20 to £14,098.80 at this head's existing one-bedroom cap. Please restrict the mask and add the final-award regression. This is the same exemption issue reported as C3 on #2010.
C2 — Integrate the adult non-dependant bedroom before charging its contribution. In the same non-blind household, the new charge applies but the older room reader still omits the son's bedroom. Schedule 4 paragraphs 9–10 require that room. Two bedrooms cover the £10,400 rent; after the valid contribution, UC should be £14,340.20, rather than £12,940.20: a £1,400/year shortfall. The room omission predates this PR, but the new charge deepens the composition error. Integrating the matching #2010 room repair and testing the combined head can resolve it.
These are separate effects: correcting only the exemption leaves the ordinary household's missing room; adding only the room leaves the excluded-partner exemption wrong. Approval is withheld pending both fixes and checks on the resulting head.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6HoH87XjnfRqcGiYmc
…ndance allowance Sch 4 para 1(2) makes the claimants the renters, so a partner whom reg 3(3) leaves out of the claim brings no para 15 exemption. Para 15(2)(c) carries reg 2's definition of attendance allowance, so armed forces independence payment exempts the renter. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6HoH87XjnfRqcGiYmc
…dence payment Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6HoH87XjnfRqcGiYmc
… allowance Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6HoH87XjnfRqcGiYmc
main's income_from_capital.yaml cases put a Pension Credit couple in the benefit unit of a household head who applies for CTR alone. Under this branch the couple are her non-dependants; the model exempts the member DWP pays and not the other, so the council deducts 5.20 x 52 = 270.40 and CTR comes to 1,726. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6HoH87XjnfRqcGiYmc
juaristi22
left a comment
There was a problem hiding this comment.
Follow-up at d2faa3bc9c0a4f722603e7f0f4677af848f60c19 — COMPLETE; changes requested.
C1 resolved: the renter exemption now uses actual UC claimants and the attendance-allowance predicate that includes AFIP.
C2 remains open: the standalone parent charges the adult son’s £1,158.60 contribution while allowing one bedroom. In the 2026 Maidstone case, this gives UC of £12,940.20 instead of £14,340.20: £1,400/year short. The adopted two-bedroom repair in #2010 gives the expected result, but this captured parent still needs that integration before it can stand alone. See the one-room oracle at line 36 and UC Schedule 4, paragraphs 9–10.
A1: update the actual RuleSpec issue #413 with the regulation 2 AFIP definition and matching externally sourced AFIP-positive/excluded-partner-negative companion cases. The proposed document in a PR comment has not updated that record.
Validation: 17 current-head checks passed (14 YAML, two properties and one final-result diagnostic). No hosted CI is available for this stacked head; the PR remains draft.
|
@juaristi22 Thanks for the follow-up. #2017 won't merge on its own, so C2's one-bedroom award never reaches For A1, we've added the reg 2 definition of attendance allowance and the companion cases to rulespec-uk#413: TheAxiomFoundation/rulespec-uk#413 (comment). In case 4 the claimant receives armed forces independence payment and DWP deducts no contribution. In case 5 only the excluded partner receives it, and DWP deducts the £1,158.60. |
juaristi22
left a comment
There was a problem hiding this comment.
Scope/reply follow-up at d2faa3bc9c0a4f722603e7f0f4677af848f60c19 — COMPLETE; all findings resolved within the stated delivery condition.
C2 resolved by guarded combined delivery: the author’s explicit condition keeps #2017 draft and prevents it landing alone. Merge 7a99a5953 puts this exact head into the reviewed #2010 combined head, where the contribution and two-bedroom repair land together and produce UC of £14,340.20 in the tested case.
The standalone one-bedroom tree still produces £12,940.20, £1,400/year short. This resolution does not certify that tree for standalone approval. A persistent delivery guard requires reassessment and the bedroom repair before any standalone/Ready route can be accepted.
A1 resolved: the actual #413 addendum now contains the missing definition and companion cases. C1 remains resolved. The 17 passing checks are retained at the unchanged code head; no tests or model calculations were repeated. This follow-up is a comment, with the draft/delivery hold preserved.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
juaristi22
left a comment
There was a problem hiding this comment.
Incremental review COMPLETE at 109fe2dd4471e0bd01e8acf69e22dac24b6ad51a, with no new findings or material evidence gaps. C1 and A1 remain resolved. C2 remains conditionally resolved only through the combined #2010 delivery.
Current validation: 76 YAML cases and two native final-result cases passed; prior checks remain separate historical evidence. Current #2010 at 56de9a6 contains this head. The standalone tree still gives the retained adult-son case one bedroom and UC £12,940.20, whereas the combined bedroom repair gives two bedrooms and UC £14,340.20. The £1,400 difference therefore remains relevant to standalone delivery.
I retain the author's explicit restriction: keep this PR Draft and deliver it through the reviewed combined #2010 path. This is a comment, not standalone approval. #2010's separate stale ESA test fixture also needs correction before that delivery is ready.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
juaristi22
left a comment
There was a problem hiding this comment.
Incremental review COMPLETE at ae2be5fbec63a9f51ef0b59d4b742fba4f37a1b5, with no new findings or material evidence gaps. C1 and A1 remain resolved; C2 remains conditionally resolved through combined #2010 delivery.
The only change is the same explicit legacy-closure no-claim preference in the held-ESA fixtures. The two edited fixture contracts were checked through the identical-file proof and the 32 passing cases executed on current #2010, with exact environment/import preflight for this snapshot. No tests were newly executed on #2017; its prior 76 YAML and two native passes remain historical evidence.
Current #2010 at 1bda541 contains this head. The retained comparison still has one bedroom on standalone #2017 versus two in combined #2010, with the £1,400 UC difference. The production difference responsible for that restriction is unchanged. All 33 retained source pairs and the actual queue records were revalidated.
The author's merge-only restriction remains: keep this Draft and deliver through the reviewed combined #2010 path. This comment does not approve standalone delivery.
Fixes #2014
Reproducer:
policyengine_uk/tests/policy/baseline/finance/benefit/family/benefit_unit_non_dependants.yaml::UC, an adult son in the renter's benefit unit bears a housing cost contribution;policyengine_uk/tests/test_benefit_unit_non_dependant_properties.py::test_deductions_match_the_oracle;policyengine_uk/tests/policy/baseline/finance/benefit/family/universal_credit/housing_costs_element/non_dep_deduction/uc_non_dep_deductions_renter_exempt.yaml::UC Sch 4 para 15, a partner whom reg 3(3) excludes from the claim brings no exemption by being blind;policyengine_uk/tests/test_uc_renter_exemption_properties.py::test_an_excluded_partner_never_changes_the_deductionsStacked on #2007 (base
hb-ctr-non-dep-exemptions). This PR lands through #2010, which contains it (see Merge order).Merge order
This PR lands through #2010 and stays a draft. This PR charges an in-unit non-dependant's housing cost contribution, and #2010 gives them their bedroom (UC Sch 4 para 10(1)(c)). #2010 contains this PR by merge (
7a99a5953merges this head,d2faa3bc9c0a4f722603e7f0f4677af848f60c19), so the two reachmaintogether when #2010 lands. On its own this PR charges the contribution without the room. For example, a claimant aged 45 who rents at £10,400 a year in Maidstone in 2026 has a partner whom reg 3(3) excludes from the claim and a son aged 22 in their benefit unit. This PR alone gives them 1 bedroom (category B, £9,000.00 a year), a £1,158.60 contribution and Universal Credit of £12,940.20. With #2010's room the same household has 2 bedrooms and £14,340.20. #2010 keeps its room; this PR doesn't copy it.This PR needs #2007's HB and CTR claimant exemptions: HB reg 74(6), SPC reg 55(6) and CTR Sch 1 para 8(6). Without them, a blind claimant, or one receiving AA, the DLA care component, the PIP daily living component or AFIP, would newly lose HB and CTR for an adult son. Stacking on #2007's branch enforces the order: this PR cannot reach main before #2007 does. The order runs #2007, then #2010 with this PR inside it.
Problem
A benefit unit can include someone aged 16 or over who is neither the claimant or partner nor a child or young person the claimant is responsible for. Examples are an adult son, or a 19-year-old who has left education. In law that person is a non-dependant of the renter. The model treated them inconsistently:
lha_renter_has_non_dependantalready counted them.uc_non_dep_deductionsandhousing_benefit_non_dep_deductionscounted only people in other families (is_non_dependant_of_household_head). The individual eligibility variables also excluded anyone in a family liable for rent.council_tax_reduction_non_dep_deductionssubtracted the claimant's own benefit unit.So a lone parent on UC with a 25-year-old son paid no housing cost contribution. The same son in his own benefit unit in the same household cost the parent £96.55 a month.
The model also lacked the UC renter exemption (Sch 4 para 15). Where the renter, or either joint renter, is blind or receives attendance allowance (reg 2's definition, armed forces independence payment included), the middle or highest DLA care component or the PIP daily living component, the Secretary of State deducts no contribution for any non-dependant. The renters are the claimants (para 1(2)), so a partner whom reg 3(3) leaves out of the claim brings no exemption.
The law
We fetched these texts from legislation.gov.uk on 2026-10-01.
UC, Sch 4 para 9:
HB, HB Regs 2006 / HB (SPC) Regs 2006 reg 3:
CTR:
CTR applicant (#2078): where a liable household head is not her benefit unit's claimant or partner, she applies alone (
council_tax_reduction_head_applies_alone), andis_council_tax_reduction_applicant_or_partneris her alone. The benefit unit's couple then fall outside her family, so reg 9(2)(a) doesn't exclude them.Change
•
is_benefit_unit_non_dependant_for_universal_credit: 16+, not a UC qualifying young person (para 9(1)-(2)(a), (g));•
is_benefit_unit_non_dependant_for_legacy_benefitsfor HB: not a Child Benefit child or QYP (reg 3(2)(a), (c));• new
is_benefit_unit_non_dependant_for_council_tax_reductionfor CTR: not the CTR applicant or partner (#2078's identity) and not a Child Benefit child or QYP (reg 9(2)(a), (c))uc_non_dependants_counted(para 9(2)(f))uc_non_dep_deductions_renter_exempt, for the single claimant or either joint claimant (is_uc_single_or_joint_claimant), counting reg 2's attendance allowance (uc_receives_attendance_allowance). The para 16(2)(b) Pension Credit limb applies only to the claimant or partner, who receive it, so a pensioner's adult son is not exempt by her award.deduction_per_family(one deduction per couple, the higher; each other adult separately) and apportioned between the joint occupiers by rent share (reg 74(5)). That includes a joint occupier's own adult son and a boarder's or lodger's. A boarder or lodger is not a joint occupier with the householder, so it also bears its own in-unit non-dependant in full. #2007's claimant exemption still zeroes the claim, and HB eligibility keeps #2007's individual exemptions.The renter exemption: claimants and attendance allowance
uc_non_dep_deductions_renter_exemptreadsis_uc_single_or_joint_claimant, the single claimant or each joint claimant, less a partner whomuc_is_ineligible_partnerflags under reg 3(3). A partner who stays a member of the couple for capital and income, but makes no claim, is neither a renter nor a joint renter (para 1(2)), so their blindness or disability benefit brings no exemption. In the household above, the claimant mask comes to[true, false, false].The formula reads
uc_receives_attendance_allowancefor para 15(2)(c), asuc_non_dep_deduction_exemptalready does for the non-dependant's para 16(2)(d). That variable counts reg 2's heads (a), Attendance Allowance, and (f), armed forces independence payment (gov.dwp.universal_credit.attendance_allowance_benefits). The model holds no separate amount for heads (b), (d) and (e), so it counts no renter who receives only one of them.The other readers of
is_claimant_or_partnerthat this PR adds keep it:is_benefit_unit_non_dependant_for_universal_creditexcludes the claimant and partner under para 9(2)(a), which names "a person within sub-paragraph (1)(a) or (b)", the renter or joint renters. Read literally, a partner whom reg 3(3) excludes falls outside (1)(a), so swapping in the claimant mask would make that partner the claimant's non-dependant, with a bedroom and a contribution, unless another para 9(2) limb leaves them out. Those limbs sit outside the text this PR quotes, so the formula keeps both members of the couple out of the non-dependants.uc_non_dep_deduction_exemptgives the para 16(2)(b) Pension Credit limb to the claimant or partner of the non-dependant's own family, the people a Pension Credit award covers; it concerns that award, not the Universal Credit claim.council_tax_reduction_non_dep_deductionstests the Welsh couple rule (WSI 2013/3029 Sch 6 para 5(3)), andis_benefit_unit_non_dependant_for_legacy_benefitsapplies HB reg 3(2)(a), "any member of the claimant's family". Neither scheme's quoted text has a rule like reg 3(3), so both keep the couple.The Housing Benefit and CTR claimant exemptions (
housing_benefit_non_dep_deductions_claimant_exempt,council_tax_reduction_applicant_has_non_dep_exemption) readattendance_allowanceunder their own regulations, not UC reg 2, and already count armed forces independence payment separately, so they stay as #2007 has them.Joint occupiers and lodgers
A joint occupier's adult son normally resides with every joint occupier he shares accommodation with (HB reg 3(1), (4); CTR reg 9(1)). None of reg 3(2)(a)-(f) excludes him in relation to the other occupier, so he is a non-dependant of each, apportioned by reg 74(5) or para 8(5). That is how the model already treats a non-dependant in another family. So for joint occupiers (HB and CTR), and for CTR generally, the result does not depend on whether the survey codes the son in his parent's benefit unit or in his own: two YAML cases check the two codings give the same deductions. "Not modelled" lists the exceptions.
Reg 3(2)(e)(i) and CTR reg 9(2)(e) exclude only the person liable to pay the claimant. The household extension in (e)(iii) is for the landlord's side. So a lodger's adult son who pays nothing himself is the householder's non-dependant. For HB he is also the lodger's own.
An earlier head (155766b) charged a joint occupier's own son wholly to that occupier, citing LHA Guidance Manual 2.093 example 2 and HBGM A5 5.622. Neither supports that:
2d54628 follows the text.
CTR: a head applying alone
Where a liable household head is not her benefit unit's claimant or partner, she applies alone (#2078). Her benefit unit's couple then fall outside her family and become her non-dependants (reg 9(1), (2)(a)). As a couple they pay one deduction, the higher (Sch 1 para 8(3)), or one for each member in the Welsh working-age scheme where the couple has a UC award (WSI 2013/3029 Sch 6 para 5(3)).
For UC and HB the couple stay the benefit unit's claimant and partner. As the householder who rents the accommodation, the head counts as no one's non-dependant (UC Sch 4 para 9(2)(d); HB reg 3(2)(d)-(e)). Both in-unit helpers exclude
is_resolved_household_head. YAML cases pin both sides.Local schemes
Merton, Kingston, Newham, Westminster and Oxford keep their own aggregation (
_legacy.local_non_dep_deductions). The shared eligibility now also covers in-unit non-dependants, so the local aggregation masks the individual deductions toin_other_non_liable_family. The eligibility uses the same function: #2007's claimant-family test (outside every claiming, sharing or lodging family). So the local schemes charge the same deductions as on #2007's branch. #2077 (stacked on this PR) replaces the mask with each scheme's pooled aggregation.Other compositions
council_tax_reduction_applicant_has_non_dep_exemptionand Means-test the Council Tax Reduction applicant and partner, not the benefit unit's claimant #2078's applicant identity.housing_benefit_other_occupiers. The YAML case for that: a joint tenant's son aged 17 not in education gives the other tenant 2 bedrooms.council_tax_reduction_prescribed_benefits.yaml.Invariants (stated and tested)
test_benefit_unit_non_dependant_properties.pyholds the Hypothesis properties. They run derandomized, with 10 examples each, on populations of up to 5 households. The populations include sharers, lodgers, non-dependant families, adult children, qualifying young persons (including looked-after ones), pensioner heads with working-age sharers, and exemption flags.test_uc_renter_exemption_properties.pychecks two more, with 10 derandomized examples each over 8 households. Each household has a claimant aged 18 to 64 who rents and claims, a partner whomuc_is_ineligible_partnerflags, an adult son in their benefit unit and an adult in a family of their own that makes no claim. The generator draws ages, earnings, rent and the claimant's own para 15(2) benefits.uc_non_dep_deductionsoruc_non_dep_deductions_renter_exempt. Three explicit examples give the partner in the household above every benefit, blindness alone and armed forces independence payment alone.uc_non_dep_deductions_renter_exempttrue and the claim'suc_non_dep_deductionsnil.Tests
benefit_unit_non_dependants.yaml: 41 cases at the regulations' 2026-27 amounts (UC £96.55 a month; HB £20.40, £64.35 and £105.20 a week).uc_non_dep_deductions_renter_exempt.yaml: six cases, each throughuniversal_creditandhousehold_net_income, in the household above (claimant aged 45, partner aged 43, son aged 22, £10,400 rent, Maidstone, 2026). This PR alone gives the son no bedroom, so each case has 1 bedroom, category B, with the model's £9,000.00 a year; Give benefit-unit members aged 16 or over a bedroom under LHA rules #2010 moves each to 2 bedrooms and adds £1,400.Household net income adds the £100 Household Energy Payment and takes off the £180 TV Licence, which the model halves to £90 where a household member is blind.
household_benefitslistsafcsbut notarmed_forces_independence_payment, so household net income leaves out the £5,000 payment, as onmain.Updated eligibility YAMLs. A lone person in a single-person household is not anyone's non-dependant, so these tests state who the person is a non-dependant of. A 19-year-old on UC with no earnings is exempt under reg 74(8)(b), so the in-unit eligibility case uses a 30-year-old.
main's CTR caseWhere a household head applies alone, her own IIDB counts with her State Pension, and the father's does not(council_tax_reduction_prescribed_benefits.yaml) came in through Fix HB and national CTR non-dependant deductions #2007 and expected no deduction for the couple in her benefit unit. Under this PR they are her non-dependants, with one deduction of £5.20 a week (£270.40 a year, SI 2012/2885 Sch 1 para 8), sob3e0d76b8makes the case expectcouncil_tax_reduction_non_dep_deductions£270.40 andcouncil_tax_benefit£1,195.968 (1,466.368 − 270.40). The case fails at9c6a994fb, which merges Fix HB and national CTR non-dependant deductions #2007's headfde435bd3, and passes atb3e0d76b8.main'sincome_from_capital.yamlhas two cases,A household head applying alone keeps her tariff income when the couple she lives with gets Pension Creditand the savings-credit-only one, that put a Pension Credit couple in the benefit unit of a household head who applies for CTR alone. Under this PR the couple are her non-dependants (SI 2012/2885 reg 9(1)). Fix HB and national CTR non-dependant deductions #2007's exemption readsis_on_pension_credit, which marks the member DWP pays and not the other. So the council deducts England's lowest pensioner amount for the couple, £5.20 × 52 = £270.40, and CTR comes to £1,726 wheremainexpected £1,996.40. Withoutd2faa3bc9both cases fail; it updates their expectations and both pass. Whether the non-payee member of a couple on Pension Credit counts as on it for the para 8 exemption follows Fix HB and national CTR non-dependant deductions #2007's reading of "on a benefit", not text this PR quotes.Mutations at
d2faa3bc9, each run againstuc_non_dep_deductions_renter_exempt.yamlandtest_uc_renter_exemption_properties.py:is_claimant_or_partnerback as the renter: killed. Two cases fail (UC Sch 4 para 15, a partner whom reg 3(3) excludes from the claim brings no exemption by being blindand the excluded partner's armed forces independence payment case), and so does invariant 5 on all three explicit examples;attendance_allowance > 0back for para 15(2)(c): killed. The caseUC Sch 4 para 15(2)(c), a single claimant on armed forces independence payment is exemptfails, and so does invariant 6.At
d2faa3bc9c0a4f722603e7f0f4677af848f60c19, locally with no survey data, each run under-n 4:policyengine-core testonfinance/benefit/family1,864 passed,gov/dwp968 passed andgov/local_authorities/council_tax_reduction391 passed, none failing;test_benefit_unit_non_dependant_properties.py3,test_council_tax_reduction_claimant_properties.py3,test_household_head_agreement_properties.py3,test_non_dependant_deduction_properties.py10,test_uc_afip_housing_contribution_properties.py3 andtest_uc_renter_exemption_properties.py2 passed; the other files that readuc_non_dep_deductions,uc_receives_attendance_allowanceoruc_is_ineligible_partner:test_benefit_cap_lha_scheme_split_properties.py7,test_rent_of_sharers_boarders_and_lodgers_properties.py6,test_uc_legacy_closure_properties.py4,test_uc_non_dep_pension_credit.py3,test_uc_receiving_education_properties.py5,test_uc_single_claim_properties.py8 andtest_uc_work_related_groups_properties.py14 passed;policyengine_uk/tests/code_health3,172 passed. The Python property files ran on a build of this head whose tree differs only in the two YAML files6900b88b7andd2faa3bc9change;uvx ruff@0.17.2 format --check .,ruff check .andruff check --select F811,F821 policyengine_ukreport nothing;git diff --checkover this branch's new commits reports nothing;git merge-tree --write-tree --name-only HEAD origin/mainagainstmainat5c7744144reports no conflict;.github/check_fix_pr.pypasses on this title and body.Impact (real microsimulation)
These figures come from the released enhanced FRS 2024-25 in uk-data 1.58.1 (HF snapshot 2526edbb, sha256
056e80fd…). The base is #2007 at 0b6c3db, this PR's base; the branch is 89beee8 (same model code as ae4e42b). Each figure comes from a real run of the full model. We count a survey household by its rent and members' ages, and suppress any cell from fewer than 10 survey households.Effects, £m a year:
No household loses. Poverty before and after housing costs changes for people in fewer than 10 survey households (suppressed).
Where it comes from (2026). Rerunning the branch with only
uc_non_dep_deductions_renter_exempt(para 15) switched off changes no award. So the in-unit charge, the UC routing and the Pension Credit gate move nothing on the survey, and the whole UC effect is the para 15 renter exemption:The in-unit group itself is 23k people (20 survey households): 18k aged 16-17 (12 survey households), 18-20 suppressed, none 21 or over. UC exempts everyone under 21 (para 16(2)(a)), and HB and CTR deductions change for fewer than 10 survey households.
Intermediate variables.
council_tax_reduction_non_dep_deductionsfalls by £232.8m across 234k benefit units because non-claiming families now read zero (only claiming families bear deductions). The individual UC and HB deduction variables fall by tens of £bn because they now read zero for people who are nobody's non-dependant. No award changes through these.These figures replace our earlier estimate of UC +£39.1m in 2026, from the old stack and uk-data 1.57.4. Both the model's base and the data have changed since then: for example, main added the single-claim rule
uc_non_dependants_counted, and uk-data moved to 1.58.1. We haven't split the difference between the two estimates by cause.Not modelled / follow-ups
receives_benefits_in_own_rightdoesn't say which benefit). So the exemptions for a non-dependant on IS, income-based JSA or income-related ESA, or on UC with no earned income (HB reg 74(8), CTR Sch 1 para 8(8), SSI 2021/249 reg 90), never apply to them. The same son coded as his own benefit unit gets his own UC award and can be exempt. This sits inside a suppressed survey cell.claims_universal_credit), as in main'suc_non_dependants_counted. So a family flagged as claiming counts its own in-unit non-dependants even where its award is nil, though in law a family with no claim treats no one as its non-dependant (para 9(2)(f)). A family flagged as not claiming, which the survey's take-up draws produce, passes them to the counted claim, and a YAML case pins that. Real entitlement cannot be the test without a branch calculation, because UC entitlement depends on these deductions.axiom: UC Sch 4 para 13 encoded-correct; TheAxiomFoundation/rulespec-uk#413 queued (UC Sch 4 paras 15-16); TheAxiomFoundation/rulespec-uk#406 queued (UC Sch 4 para 9, HB reg 3, CTR reg 9: who is a non-dependant, joint occupiers, lodgers, the household head); TheAxiomFoundation/rulespec-uk#407 queued (HB reg 74, SPC reg 55, CTR Sch 1 para 8)
🤖 Generated with Claude Code