Skip to content

Give Council Tax Reduction to the household head's family, not the oldest adult's - #2009

Open
MaxGhenis wants to merge 5 commits into
benefit-unit-rent-liabilityfrom
ctr-claimant-household-head
Open

MaxGhenis wants to merge 5 commits into
benefit-unit-rent-liabilityfrom
ctr-claimant-household-head

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked on #2006 (benefit-unit-rent-liability), which adds council_tax_reduction_claimant_benunit. Merge after #2006; it retargets to main then.

The bug

benunit_contains_household_head was benunit_max_age == household_max_age. When the oldest adults of two benefit units have the same age, both units are flagged, and every Council Tax Reduction scheme pays each of them a full award:

  • the national schemes in simulated_council_tax_reduction_benunit.py;
  • Merton, Kingston upon Thames, Newham and Westminster through _legacy.py;
  • Oxford.

The same flag also left both units out of each other's non-dependant deductions.

Reproduction: two single adults in separate benefit units of one household, council tax £1,800, zero income (2026, claims_all_entitled_benefits).

Scheme Ages Household CTR, base Household CTR, this PR
England pensioners (Maidstone) 85, 85 £3,600 £1,800
Scotland (Edinburgh) 85, 85 £3,600 £1,800
Wales (Cardiff) 85, 85 £3,600 £1,800
Newham 40, 40 £2,520 £867.92 (70% max support less one £7.54 a week non-dependant deduction)
Oxford 40, 40 £3,600 £1,529.60 (less one £5.20 a week non-dependant deduction)

The age rule is also wrong without a tie. A pensioner living in their adult child's home was treated as the claimant, and the household was put on the pensioner scheme.

The law

Read on legislation.gov.uk on 2026-10-01 (revised text):

  • Only a liable person is in an entitled class.

    • England pensioners: SI 2012/2885 Sch 1 para 2(a) and para 3(a): "who is for that day liable to pay council tax in respect of a dwelling of which he is a resident".
    • England working-age: local schemes must state classes (LGFA 1992 s.13A(2), Sch 1A para 2), and they reduce "amounts of council tax payable" by persons. The default scheme's class D (SI 2012/2886 Sch para 16(a)) uses the same liability words.
    • Wales: SI 2013/3029 regs 21 to 25, condition (a) in each of 22-25, the same words, for pensioners and others.
    • Scotland: SSI 2021/249 reg 13(1) and (3)(a): "A person who is liable to pay council tax under section 75 of the Act (a “relevant person”) is entitled…". SSI 2012/319 reg 14(1) and (3)(a) is the same for pensioners.
  • Who is liable. LGFA 1992 s.6 (England and Wales) and s.75 (Scotland) take the resident with the greatest interest, in order:

    • England and Wales: freehold, leasehold, statutory/secure/introductory tenancy, contractual licence, any resident, owner;
    • Scotland: owner, tenant, statutory tenant, sub-tenant, any resident, others.

    Two or more at the same level are jointly and severally liable (s.6(3), s.75(3)). A resident spouse, civil partner or cohabitant of the liable person is jointly liable too (s.9, s.77, s.77A). Age plays no part, apart from the 18-or-over definition of "resident" (s.6(5); s.99(1) for Scotland).

  • Who is not a non-dependant.

    • Everyone else who normally resides with the applicant is a non-dependant, except: the applicant's family; joint and several liables; and people liable to pay the applicant on a commercial basis.
    • Provisions: SI 2012/2885 reg 9, SI 2013/3029 reg 9, SSI 2021/249 reg 8.
    • Scotland adds that the entitlement of one family member excludes the others (reg 11).
  • The data. The FRS household reference person (is_household_head, from hrpid) is "the highest-income householder", a householder being "the person in whose name the accommodation is owned or rented" (DWP, FRS background information and methodology, 2024-25). In most households that is the person at the top of the s.6/s.75 order. It is not the same in every case: joint householders of the same rank, owner-liable dwellings such as houses in multiple occupation, and households where the HRP is not the one who owns or rents. Every household in the enhanced FRS 2024-25 has exactly one HRP.

The decision: the household head's family, not a tie-break

A deterministic tie-break would stop the double award. But it would keep a rule the law does not use: the claim would still go to the eldest resident instead of the householder. The data already marks the liable person, and Universal Credit and Housing Benefit already use that person for rent and non-dependants (is_non_dependant_of_household_head, is_liable_for_household_rent). So the model now takes the household head's family as the claimant, plus #2006's sharers as jointly liable.

Scope: in the household calculator, where is_household_head is not entered, the head defaults to the eldest member (is_household_head's own formula). There, ties are fixed, but a pensioner in their adult child's home still claims unless the user marks the child as head.

Changes

  • council_tax_reduction_household_head (new, Person): the household head, exactly one per household.

    • With several members flagged (malformed input), the eldest flagged member is the head.
    • With none flagged, the eldest member is. Ties go by order: get_rank sorts stably.
    • Once any person in a simulation has the input, everyone else's defaults to false, so the second fallback matters for mixed situations.
  • benunit_contains_household_head: the family holding that person.

  • council_tax_reduction_liable_person (new, Person): the people the model treats as liable for the council tax, each aged 18 or over (no one under 18 is a "resident"):

    • the household head;
    • the head's partner, where the head is a claimant or partner (s.9, s.77, s.77A);
    • the claimant and partner of a family liable for a share of the rent.

    Other adults in the head's family are not liable. That includes grown-up children, and a young couple living in a grandparent's family.

  • council_tax_reduction_claimant_benunit: a family claims if and only if it has a member treated as liable. That is the head's family, and Give sharers, boarders and lodgers their own rent, tenure and LHA category #2006's sharer families.

  • council_tax_reduction_joint_liability_share: counts exactly the people treated as liable. For well-formed all-adult input that is the same set as is_liable_for_household_rent. Without this, malformed head flags plus a sharer could pay more than the council tax.

  • council_tax_reduction_individual_non_dep_deduction_eligible: excludes every claimant family, not just the head's. A sharer with zero rent was both a claimant and a non-dependant (reg 9(2)(d)).

  • A changelog fragment, and a stale comment in Give sharers, boarders and lodgers their own rent, tenure and LHA category #2006's property test (7).

Invariants (property-tested)

policyengine_uk/tests/test_council_tax_reduction_claimant_properties.py runs Hypothesis over populations of up to 8 households with 1-4 families each. The populations mix:

  • all eight scheme types;
  • age ties;
  • shared rent;
  • sharer families whose only member is 15 to 17;
  • head families that include a couple of 16-17-year-old parents with a baby;
  • head flags that are one, unset, none or several.

The tests are derandomized, with 20 examples each. Items marked "pin" restate the formula, so they guard against regressions rather than checking it independently.

  1. One head. Exactly one family per household holds the head. It holds a flagged member if any is flagged, and otherwise a member of the greatest age.
  2. Claimants.
    • A household whose rent is not shared has at most one claimant family.
    • The head's family always claims when the head is 18 or over, including a grandparent head whose family's claimant and partner are 16-17-year-old parents.
    • A family with no member aged 18 or over never claims.
    • Every person treated as liable is 18 or over and in the head's family or a sharer family.
    • Pin: a family claims if and only if it has a member treated as liable.
  3. Simulated reductions. No family outside the claimants gets one, and a household's total never exceeds its council tax.
    • This is scoped to simulated CTR. Where a scheme is unmodelled, every family's reported CTR is paid whoever claims. In the enhanced FRS, non-claimant families get £66.3m that way, and some households already report CTR above their council tax.
  4. Non-dependants.
  5. Differential. Where the head flags are well formed, the CTR head's family is the family of the person-level is_household_head that Housing Benefit and Universal Credit use.
  6. Not age. With one head flagged, making every other member older than the head does not change who claims.
  7. No-op. Where the flagged head is strictly the eldest and the rent is not shared, the claimant is the eldest adult's family, as before.
  8. Shares. In every household, the claimant families' shares of the council tax sum to at most one.

On the base branch, properties 1/2 and 6 fail. Hypothesis minimized the failure to two single 18-year-olds, head flagged on one: both claim, and raising the other's age moves the claim. Property 7 passes on both, as intended.

Tests

  • YAML. claimant_household_head.yaml, 19 cases:

    • the tie in each scheme (England pensioners, Scotland, Wales, Merton, Kingston, Newham, Westminster, Oxford). The London and Oxford cases compute the other adult's non-dependant deduction from each scheme's own scale;
    • a pensioner in their adult child's home, in Scotland and in England;
    • two flagged heads;
    • an unflagged tie;
    • a zero-rent sharer, who is a claimant and not a non-dependant;
    • shared rent with no head flagged, and with two heads flagged (the shares sum to one);
    • sharer families aged 15 and 17, who do not claim;
    • a grandparent head whose family includes 17-year-old parents (claims £1,800), and adult parents in a grandparent's family (not jointly liable).

    18 of 19 fail on the base. The 15-year-old case passes on the base; it guards against this PR's first version, which paid that household twice. The two grandparent cases fail on the intermediate 7b21ab460.

  • Suites on 4b84ea069:

  • CI runs only on PRs whose base is main, so the "Code changes" workflow is dispatched on this branch by hand.

Enhanced FRS impact

Real Microsimulation runs, base b065a48d2 (#2006's head) against branch 4b84ea069, on the same dataset. That is six runs: two datasets, and two years on the first. Every output matches the earlier runs of e9b1185ee and 7b21ab460. The liable-person rules change nothing in the survey data. Aggregates only. Any cell behind fewer than 10 survey households is suppressed. Survey households are counted by a (region, sorted ages) fingerprint, which merges the enhanced FRS's capital gains clones and SPI copies with their source households.

Production enhanced FRS 2024-25 (sha256 e433e532…, the certified 1.56.16 file):

2025-26 2026-27
CTR, base £2.290bn £2.346bn
CTR, this PR £2.304bn £2.361bn
Change +£14.5m +£14.5m
Households gaining 19k (24 survey households), mean £773 a year 19k (24 survey households), mean £773 a year
Households losing none none
People entering or leaving poverty (BHC, AHC) none none

What the runs show about why:

  • Take-up in the microdata. In the microdata, claims_all_entitled_benefits is false for every family; it is true only when a simulation has no reported benefits. So a family claims CTR exactly when it has reported CTR. The runs confirm this: no family would claim without reported CTR, and every family with reported CTR would claim.
    • Where a scheme is not modelled (English working-age schemes outside the five boroughs), every family's reported CTR is paid, whoever the claimant is.
    • Reported CTR is mostly on the head's family, but 91k families outside it hold £68.9m of the £2,236m (86 fingerprints).
  • Ties.
    • 35k households (40 fingerprints) had two claimant families under the old rule; none do now. Their CTR does not change.
    • The tied families that stop claiming either report no CTR, so would not claim, or report CTR on an unmodelled scheme, where it is paid anyway. None reports CTR on a modelled scheme.
    • The double award therefore showed up in household calculations, where claims_all_entitled_benefits is true, not in the survey totals.
  • The +£14.5m. In 478k households (239 fingerprints) the eldest adult is in another family than the head's. The whole change comes from 19k of them, all in England, where a working-age head's family lives with a pension-age adult in another family.
    • The old rule made that adult's family the claimant and put the household on the national pensioner scheme, which is simulated. Base CTR was £0 in every changed household. Mostly that family had no reported CTR, so it would not claim. On Give sharers, boarders and lodgers their own rent, tenure and LHA category #2006's data, a further 10k of those families (11 fingerprints) did report CTR, but the pensioner scheme simulated £0 for them.
    • Now the household is on its (unmodelled) working-age scheme, and every family's reported CTR is paid. In 2026-27 that is £7.88m to the head's family and £6.62m to other families (2025-26: £7.85m and £6.60m). On Give sharers, boarders and lodgers their own rent, tenure and LHA category #2006's data it is £8.21m and £8.58m.
    • Every changed household moved from a modelled to an unmodelled scheme (compare_efrs_2026.out).

#2006's companion data (uk-data#512 build, sha256 ed1a2991…, which carries liable_for_share_of_household_rent), 2026-27:

  • CTR £2.165bn → £2.182bn, +£16.8m;
  • 27k households (26 survey households) gain;
  • none lose;
  • the shared-rent households' change is suppressed (fewer than 10 survey households).

Both sets of figures use the national CTR non-dependant deduction as it stands on this base, the Housing Benefit schedule. None of the measured change runs through non-dependant deductions: simulated CTR is unchanged in every family.

Interaction with #2007.

  • The tie households' claimant families pick up £119m of new non-dependant deductions (£128.0m on the base to £247.2m here, eFRS 2026), but their awards were already £0, so nothing changes in the data.
  • In household calculations it matters. This PR makes a pensioner relative a non-dependant of the head's family, and on this base the national CTR deduction uses the Housing Benefit bands with no Pension Credit exemption. Example (household run on this head, 2026): a working-age head in Edinburgh with no income lives with an 80-year-old parent whose £12,000 State Pension leaves them £1,084 of Pension Credit. The parent's Housing Benefit-band deduction of £2,436 cuts the head's award to £0. In law, no deduction is made for a non-dependant on State Pension Credit (SSI 2021/249 reg 90(8)(a); SI 2012/2885 Sch 1 para 8(8)(a) in England), so the award should be £1,800.
  • Apply Housing Benefit and national Council Tax Reduction non-dependant deductions as legislated #2007 applies the legislated CTR scales and exemptions and fixes this. Whichever of the two lands second re-runs its impact.

Scripts, logs and outputs (local, not published): ~/reviews/ctr-claimant-household-head-2026-10-01/impact/.

Review record

Independent reviews on Subfleet lanes, each by a different reviewer:

Round Reviewer Head Verdict
r1 Opus 5.5 e9b1185ee Changes requested, 17 findings
r2 Opus 5.5 7b21ab460 Stopped at a usage limit twice. Interim checks clean, plus N1 (PR text), now fixed
r2c GPT-6.1 Sol 7b21ab460 Changes requested: N2 (adult-claimant gate dropped a grandparent head). All r1 answers and N1 accepted
r3 GPT-6.1 Sol 4b84ea069 Changes requested: N3 (means test reads the generic claimant)
r4 GPT-6.1 Sol 4b84ea069 Approve. N3 confirmed pre-existing on base b065a48d2; deferral accepted; nothing else open

The reports are local, in ~/reviews/ctr-claimant-household-head-2026-10-01/review/.

Conflicts and stacking

Not in this PR

  • Scheme choice in shared-rent households. council_tax_reduction_household_has_pensioner and council_tax_reduction_household_has_non_dep_exemption are household-level and read the head's family. Assess each Council Tax Reduction claim under its own family's scheme and exemption #2015 makes both per family.

  • Malformed head flags outside CTR. CTR settles on one head, but the rent and Universal Credit/Housing Benefit non-dependant variables read the raw is_household_head. With two members flagged, the second flagged family has a share of the rent but is neither a CTR claimant nor a non-dependant. Survey data always has exactly one head. A shared, settled head for every programme is a separate follow-up.

  • Who is means-tested when the liable head is not the family's claimant. In a grouping Replace generic child and adult flags with each programme's legal definitions #1896 supports, a grandparent head lives in one benefit unit with a couple of 17-year-old parents and their baby. Replace generic child and adult flags with each programme's legal definitions #1896's parent-couple rule makes the parents the family's is_claimant_or_partner.

    • CTR's applicable income, applicable amount and non-dependant exemption read that generic claimant and partner. So the grandparent's own income is left out: with a £100,000 pension she still gets £1,800.
    • That already happens on the base b065a48d2, where the family claims under the old age rule (checked on both heads). This PR keeps the base's behaviour for the grouping.
    • The intermediate 7b21ab460 refused the claim instead, which was wrong for a grandparent with no income.
    • Carrying one CTR applicant identity through the whole means test is a separate follow-up. Review r3 found this (N3).
  • Joint owners and owner-liable dwellings. Joint owner-occupiers in separate benefit units are jointly liable under s.6(2)(a) and (3), but nothing in the data marks them; only Give sharers, boarders and lodgers their own rent, tenure and LHA category #2006's renting sharers are marked. Dwellings where the owner rather than a resident is liable are not modelled.

axiom: TheAxiomFoundation/rulespec-uk#409 queued (LGFA 1992 ss.6, 9, 75, 77 and the CTR class liability conditions; joint-liability division is TheAxiomFoundation/rulespec-uk#406)

🤖 Generated with Claude Code

…dest adult's

The claimant family was the one whose oldest member was the household's
oldest adult. Families tied for oldest were both flagged, and every CTR
scheme (England pensioners, Scotland, Wales, the four London schemes and
Oxford) then paid each of them a full award: two single 85-year-olds in one
household with no income got twice the council tax. The same flag left both
out of each other's non-dependant deductions.

Only a person liable to pay the council tax is in a class entitled to a
reduction (SI 2012/2885 Sch 1 paras 2(a), 3(a); SI 2013/3029 regs 22(a) to
25(a); SSI 2021/249 reg 13(3)(a); SSI 2012/319 reg 14(3)(a)). Liability goes
to the resident with the greatest interest in the dwelling (LGFA 1992 s.6,
s.75), not the eldest. The FRS household reference person is a householder,
in whose name the accommodation is owned or rented, which the data carries
as is_household_head. So the claimant family is now the head's, plus any
family liable for a share of the rent (jointly liable, s.6(3), s.75(3)).

- benunit_contains_household_head: the family holding the household head.
  Exactly one per household: with several flagged, the eldest flagged; with
  none, the eldest member.
- council_tax_reduction_claimant_benunit: head's family or a sharer family.
- council_tax_reduction_joint_liability_share: counts the claimants and
  partners of the claimant families as jointly liable.
- council_tax_reduction_individual_non_dep_deduction_eligible: no member of
  a claimant family is a non-dependant (reg 9(2)(d)).

Tests: 12 YAML cases (each scheme, ties, a parent in their child's home,
malformed head flags) and Hypothesis properties (one head per household, at
most one claimant family unless the rent is shared, no reduction outside
claimant families or above the council tax, non-dependants, a differential
with the person-level head, age invariance, and the previous rule where the
head is the eldest).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tr-claimant-household-head

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 2 commits October 1, 2026 16:03
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>
…e and non-dependant changes

Review r1 (20261001-133703-ctr-claimant-review-r1) found that a sharer family
with no claimant or partner (a lone 15-year-old) claimed with a share of one,
paying the household twice its council tax, where the base excluded it.
council_tax_reduction_claimant_benunit now also requires a claimant or partner
aged 18 or over. No one under 18 is a "resident" who can be liable (LGFA 1992
s.6(5), s.99(1)). The joint-liability count likewise takes only claimants and
partners aged 18 or over.

Documentation no longer says the head is the liable resident, only that the
model takes the head as that resident. It names what is not identified: joint
owners in separate families, and owner-liable dwellings. It notes that rent
and non-dependant rules read the raw is_household_head flag. Citations add
LGFA 1992 ss.9, 13A, 77, 77A, 99 and Sch 1A para 2; SI 2012/2885 Sch 1 para 3;
SI 2012/2886 Sch para 16 (default working-age class D); and Wales regs 21, 23
and 25.

YAML:
- the Merton, Kingston and Westminster ties now compute the friend's
  non-dependant deduction from each scheme's scale;
- the no-flag case is now a tie that fails on the base;
- new cases cover a zero-rent sharer (a claimant, not a non-dependant),
  shared rent with no head flagged and with two heads flagged (shares sum to
  one), and sharer families aged 15 and 17.

16 of 17 cases fail on the base; the 15-year-old case guards e9b1185's
regression.

Properties: the generator adds minor-only sharer families. New invariant 8
says claimant shares sum to at most one. Invariant 3 is scoped to simulated
CTR. Formula restatements are labelled as pins.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis added a commit that referenced this pull request Oct 2, 2026
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>
MaxGhenis added a commit that referenced this pull request Oct 2, 2026
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>
…, not the generic claimant/partner

Review r2c (20261002-044503-ctr-claimant-review-r2c, GPT-6.1 Sol) found N2.
The 18+ claimant-or-partner gate dropped a supported grouping: an 80-year-old
household head living in one benefit unit with two 17-year-old parents and
their baby. #1896's parent-couple rule makes the parents the claimant and
partner, so the family had no adult claimant or partner and lost a £1,800
award to £0.

The model now names the liable people directly, in a new person-level
variable, council_tax_reduction_liable_person. Each must be aged 18 or over
(LGFA 1992 s.6(5), s.99(1)). They are:
- the household head;
- the head's partner, where the head is a claimant or partner (s.9, s.77,
  s.77A);
- the claimant and partner of a family liable for a share of the rent.

A family claims if and only if it has such a member, and the joint-liability
share counts exactly these people. The settled one-per-household head moves
into council_tax_reduction_household_head (Person), and
benunit_contains_household_head now reads it. For all-adult households with
the head as claimant, the liable set is unchanged.

Tests:
- YAML: a grandparent head with 17-year-old parents in her family (claims
  £1,800), and adult parents in a grandparent's family (not jointly liable).
  Both fail on 7b21ab4.
- Properties: the generator adds 16-17-year-old parent couples with a baby
  in the head's family. New independent checks: the head's family always
  claims when the head is 18+; every liable person is 18+ and in the head's
  family or a sharer family. These fail on 7b21ab4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis added a commit that referenced this pull request Oct 2, 2026
Review r3:
- R3-6: in_other_non_liable_family's docstring stated the proxy as if it
  were reg 9(2)(a), (d)-(e). It is a proxy: a family jointly liable for the
  council tax but paying no rent is wrongly included, which #2009's
  claimant-family test fixes.
- R3-3: an in-unit non-dependant's own benefit awards are not modelled, so
  the HB reg 74(8) and CTR Sch 1 para 8(8) exemptions for a non-dependant on
  an income-related benefit or on UC with no earned income never apply to
  them. The documentation of is_benefit_unit_non_dependant_for_legacy_benefits
  now says so.

No change in behaviour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

Heads-up from #2006 (its base): the independent review of #2006 asked for changes, now pushed as 01d140e. Three touch files this PR edits.

  • council_tax_reduction_individual_non_dep_deduction_eligible.py: now age >= 18 & ~council_tax_reduction_claimant_benunit & ~liable_for_share_of_household_rent & ~pays_rent_to_householder. The ~benunit_is_rent_liable term is gone: with the oldest-adult claimant it moved a rent-liable head with an older non-liable parent from £0 to £2,000.
  • council_tax_reduction_claimant_benunit.py: on the shared-rent path a family claims only through a liable member who is not in_HE (full-time students are excluded from entitlement, Default Scheme Sch para 75(1)). This PR replaces the formula, so the student condition needs carrying into council_tax_reduction_liable_person.
  • council_tax_reduction_joint_liability_share.py: the divisor leaves out other liable people who are in_HE (SI 2012/2885 Sch 1 para 7(5)); the applicant always counts.

New cases in joint_liability.yaml (father and son with no sharer; an older non-liable resident in a shared household; a student sharer). Under this PR's claimant rule the father/son case should expect the son's family to claim.

🤖 Generated with Claude Code

MaxGhenis added a commit that referenced this pull request Oct 2, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis added a commit that referenced this pull request Oct 2, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis added a commit that referenced this pull request Oct 2, 2026
#2009 now names the liable people directly. A household head can be liable
without being the claimant or partner of their family (a grandparent heading
a family formed around a young couple), so "the applicant or his partner"
(SI 2012/2885 reg 3, Sch 1 para 8(6)) is not always the family's claimant and
partner. New person-level council_tax_reduction_applicant_or_partner: the
liable member, and the other member of the couple where the liable member is
the claimant or partner, whatever the partner's age; in a family that cannot
claim, its claimant and partner. The pensioner flag and the applicant
exemption read it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis added a commit that referenced this pull request Oct 2, 2026
#2078 (also stacked on #2009) adds
is_council_tax_reduction_applicant_or_partner and
council_tax_reduction_head_applies_alone for the CTR means test. They define
the same people as this PR's council_tax_reduction_applicant_or_partner: the
claimant and partner where the liable person is one of them, the liable head
alone otherwise, and the claimant and partner in a family that cannot claim.
Take #2078's two files byte for byte, so whichever PR lands second merges
without conflict, and point the pensioner flag and the applicant exemption
at it.

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