Skip to content

Fix Care to Learn, extended childcare, maintenance loan and Tax-Free Childcare legal gaps - #2079

Merged
MaxGhenis merged 11 commits into
mainfrom
dfe-childcare-student-support-gaps
Oct 4, 2026
Merged

MaxGhenis merged 11 commits into
mainfrom
dfe-childcare-student-support-gaps

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #1920

Uses is_claimant_or_partner and the programme child definitions from #1896.

What was wrong, and what changes

1. Care to Learn paid one maximum per claimant, and paid young parents not in education

The model paid every eligible young parent the weekly maximum × 52 (£9,360, or £10,140 in London), whatever the number of children or the childcare costs. The ESFA 2026-27 conditions of grant pay "towards the cost of childcare and travel up to a maximum of: £180 per child per week [...] outside London; £195 per child per week [...] in London" (section 4.1; also section 2.2). They require you to "evidence [...] the actual amount of support each student needs, based on actual childcare and travel costs". The grant also funds childcare "while the young parent is engaged in a study programme" (section 1.2). The model excluded only higher education, so it paid young parents who were not in education at all.

  • New care_to_learn_qualifying_child: a Child Benefit child or qualifying young person in the benefit unit other than a parent (the section 2.2 "main carer [...] in receipt of Child Benefit" condition).
  • care_to_learn sums each qualifying child's childcare_expenses capped at the per-child maximum × 52. It pays once, to the eldest eligible young parent, because only one parent claims for a child. Travel costs are not modelled.
  • care_to_learn_eligible requires enrolment in non-higher education (current_education not NOT_IN_EDUCATION or TERTIARY).

2. Extended childcare had no young-child condition, and its reg 14(4)/15(4) route never applied

  • Young child. The model never checked for a young child. The new extended_childcare_entitlement_qualifying_child applies Childcare Act 2016 s.1(2)(a)-(b) (under compulsory school age, in England) and SI 2022/1134 reg 13(2). Reg 13(2)(a) sets the minimum age: "three" as made, "two" from 1 April to 31 August 2024, and "nine months" from 1 September 2024 (SI 2023/1330 reg 2(5); new parameter young_child_minimum_age). Reg 13(2)(b) excludes a child looked after by a local authority. Eligibility requires such a child, and the amount counts only such children's hours.

    PolicyEngine reads a year's parameters on 30 April, so the nine-month rule applies from 2025, and 2024 uses "two". The Enhanced FRS records whole-year ages, so age >= 0.75 excludes every age-0 child in microsimulation. Household calculations with fractional ages capture 9-11-month-olds.

  • Reg 14(4)/15(4). A parent or partner with limited capability for work, or entitled to a specified benefit (reg 11A), meets the conditions when the other member of the couple meets reg 14(3)/15(3). They need neither the work nor the income condition. The model required every parent to pass the income test, so this route never applied. extended_childcare_entitlement_work_condition is now the per-person reg 14(2)/15(2) test: reg 14(3)/15(3) (in work, minimum income, adjusted net income not above £100,000), or reg 14(4)/15(4). The status is extended_childcare_entitlement_limited_capability_or_specified_benefit.

  • Before 1 December 2022. SI 2016/1257 applies through dated parameters:

    • exemption/income_limit_applies: reg 4(5) and (7) keep the £100,000 limit on the person using the caring or incapacity route, because reg 9 deems only qualifying paid work;
    • exemption/partner_exclusion_criteria: reg 9(3) does not count a working partner paid or entitled to a listed benefit.

    Both switch off when SI 2022/1134 takes over.

  • The list. disability_criteria now follows SI 2016/1257 reg 9(1)(b) before 1 December 2022, and reg 14(4)-(5) and 11A from then. That adds:

    • income-related ESA (11A(1)(e) covers all ESA);
    • Scottish carer's assistance (carer_support_payment);
    • credits for incapacity or limited capability for work;
    • limited capability for work, through uc_limited_capability_for_WRA.
  • Carer's allowance entitlement. The lists read entitlement, not payment, since Reduce Carer's Allowance and Carer Support Payment by overlapping benefits #1994 can reduce Carer's Allowance and Carer Support Payment to nil through overlapping benefits. The extended list (regs 14(4)/15(4), "entitled to a specified benefit") and the Tax-Free Childcare list (reg 13(1)(b), "paid or entitled to") use carers_allowance_pre_overlap or receives_carers_allowance before 1 December 2022, and Reduce Carer's Allowance and Carer Support Payment by overlapping benefits #1994's is_entitled_to_carer_benefit (Carer's Allowance or Carer Support Payment) from then.

  • The UC carer element. It now counts only for the carer, and only on a UC award that includes it (new receives_uc_carer_element). Reg 11A(1)(c) is "the carer element under [...] regulation 29"; reg 14(5)(a) as made required "an award of universal credit [...] that includes the carer element". This changes no dataset total. Before, the benefit-unit uc_carer_element counted, and it is calculated for any unit with a carer.

  • Boundaries. Reg 18 is "equal to or greater than", and regs 14(3)(c)(i)/15(3)(b)(i) are "exceed £100,000". The model had > and <.

3. Maintenance loan: no age-25 independence test

maintenance_loan_household_income added a detected sponsor's income for dependent students of any age. A student "aged 25 or over on the first day of the relevant year" is independent (Education (Student Support) Regulations 2011 Sch 4 para 2(1)(a)). The new parameter is gov.dfe.maintenance_loans.independent_student_age (25, from academic year 2012-13, reg 1(3)). The same variable feeds the Childcare Grant, Parents' Learning Allowance, Adult Dependants' Grant and Travel Grant.

4. Tax-Free Childcare: the caring and incapacity route used the Pension Credit list, and never applied

tax_free_childcare_work_condition treated a non-working partner as meeting the work condition if they received:

  • the Pension Credit child disability benefits (PIP, DLA, and their enhanced or highest components);
  • or incapacity benefit.

SI 2015/448 reg 13(1)(b) lists:

  • incapacity benefit and long-term incapacity benefit;
  • severe disablement allowance;
  • carer's allowance;
  • contributory ESA;
  • credits for incapacity or limited capability for work;
  • Scottish carer's assistance, from 1 December 2022.

Reg 13(1)(c) adds carer's leave from 6 April 2024. Reg 13(3) excludes a working partner who is "paid" a (1)(b) benefit or allowance, or entitled to a (1)(b) credit. Mere entitlement to an allowance reduced to nil by an overlapping benefit, or carer's leave, does not have that effect. Reg 13(2)(b) regards the person as having the minimum income, but the model did not apply that. So the non-earning partner always failed tax_free_childcare_meets_income_requirements, and no such couple was ever eligible.

  • New parameters, dated by amendment:
    • caring_or_incapacity_benefits: the (1)(b) list, "paid or entitled to" (SI 2022/1148 reg 2(6)(b));
    • caring_or_incapacity_benefits_in_payment: amounts paid, plus the credit, for the reg 13(3) partner exclusion;
    • carers_leave_qualifies: (1)(c), from 6 April 2024 (SI 2024/266 reg 8(2)).
  • New variables:
    • tax_free_childcare_caring_or_incapacity_benefit;
    • tax_free_childcare_regarded_as_in_paid_work, for reg 13(1)(a), (2) and (3);
    • tax_free_childcare_on_carers_leave, an input.
  • tax_free_childcare_work_condition requires every applicant and partner to be 16 or over and in, or regarded as in, qualifying paid work.
  • tax_free_childcare_meets_income_requirements accepts reg 13(2)(b)'s deemed minimum income. The £100,000 limit still applies.
  • New input receives_limited_capability_for_work_credits (Credits Regulations 1975 reg 8B), shared with extended childcare. It is not in the survey data, so it is false unless supplied.

Microsimulation impact (Enhanced FRS 2024-25, real runs of main vs this branch)

Real runs, one process each, on enhanced_frs_2024_25.h5 (sha256 e433e532…). The base is main at 6ae9c5ee (the commit this branch last merged); the branch is 787d83ad. The 210df5a1 run gave identical results. Figures are weighted.

2026 main (6ae9c5ee) this PR change
Care to Learn £10.9m (1.2k young parents) £0 −£10.9m
Extended childcare entitlement £5,165.0m (927.5k benefit units) £5,371.8m (961.0k) +£206.8m
Universal childcare entitlement £1,351.2m (380.4k children) £1,289.1m (362.9k) −£62.1m
Targeted childcare entitlement £451.0m £451.0m 0
Tax-Free Childcare £1,055.3m (1,133.2k children) £1,056.6m (1,136.8k) +£1.3m
Maintenance loans £9,325.9m £9,332.9m +£7.0m
Household net income +£135.1m

2025: Care to Learn −£10.8m, extended +£184.4m, universal −£59.8m, Tax-Free Childcare +£1.4m, maintenance loans +£6.7m, household net income +£115.1m.

What drives it (2026):

  • Care to Learn. All 1.2k recipients in the base were young parents recorded as not in education. The Enhanced FRS has no young parent in non-higher education, so the dataset total is now £0. Household calculations pay the per-child amounts in the tests.
  • Extended childcare eligibility. Eligible benefit units fall from 3,212k to 962k.
    • 2,284k lose a flag that had no young child behind it. Their entitlement was already £0, and no universal or targeted amount changes for them.
    • 33.6k gain through reg 14(4)/15(4). All of the extended (+£206.8m) and universal (−£62.1m) change is in these units, because a newly extended-eligible 3-4-year-old moves off the universal entitlement.
    • 19.2k of them qualify through a named specified benefit (Carer's Allowance, ESA, incapacity benefit, severe disablement allowance, Carer Support Payment or the UC carer element): +£137.0m extended, −£13.8m universal.
    • 14.4k (43%) qualify only through uc_limited_capability_for_WRA, whose dataset value is is_disabled_for_benefits, i.e. reported DLA/PIP: +£69.8m extended, −£48.3m universal. Treat that part as proxy-dependent.
  • Tax-Free Childcare. 67.1k more benefit units are eligible, all through reg 13, and none lose eligibility. Only those with childcare spending get a top-up (+3.6k children, +£1.3m).
  • Maintenance loans. 2.6k students aged 25 or over were being assessed on a detected sponsor's income. Their assessed household income falls by £54.4k on average, and their loans rise by £7.0m in total. No student under 25 changes.
  • Winners and losers. 32.3k households gain (mean +£4,573). 3.7k lose (mean −£3,350):
    • 1.2k are the Care to Learn recipients (−£9,360 each).
    • 2.5k are families that swap the universal entitlement (£3,552) for a smaller extended amount (£2,671-£3,376). extended_childcare_entitlement caps hours by the dataset's benefit-unit maximum_extended_childcare_hours_usage, which is under 15 hours a week for about 17% of these families (weighted median 17.3). The universal entitlement has no such cap. This asymmetry predates this PR: it applies to every extended-eligible family on main. Follow-up: Extended childcare eligibility can lower a family's modelled funded hours below the universal entitlement #1930.

Invariants

Property-tested in test_dfe_childcare_student_support_properties.py. Each property compares the model with an independent scalar reference over random families, batched into one Simulation per example (Hypothesis, derandomized, 25 examples each; 52 s).

  1. Care to Learn conservation. Per benefit unit, the amounts paid sum to the sum over Child Benefit children of min(costs, per-child maximum × 52) if some parent is eligible, else 0. At most one person is paid: an eligible parent of the greatest age. Children are never paid, and the total never exceeds the number of children × the cap.

  2. Extended childcare differential. A family is eligible if and only if two things hold:

    • it has a child of the year's minimum age (3 / 2 / 0.75), under 5 and not looked after;
    • each claimant or partner meets reg 14(3)/15(3) (earnings of at least 16 × minimum wage × 13 a quarter, adjusted net income of at most £100,000), or has a specified benefit or limited capability with a partner who meets reg 14(3)/15(3).

    The UC carer element counts only for the carer on an award that includes it (random draws plus four explicit cases). PIP itself never matters. In datasets, reported DLA/PIP can reach the condition only through uc_limited_capability_for_WRA's default (is_disabled_for_benefits), which these families leave false. Years 2023-2026; the boundary earnings (£8,316, £8,320, £100,000, £100,001) are in the draw.

  3. Tax-Free Childcare differential. regarded_as_in_paid_work is true exactly when the person has a reg 13(1)(b) benefit or is on carer's leave (13(1)(c)), and has a working partner who is not paid a (1)(b) benefit (the tests supply benefits as amounts, so paid and entitled coincide). Carer's leave never excludes the partner. The work condition holds for the applicant and partner exactly when each works or is regarded, and it is false for children. Anyone regarded meets the income requirement. DLA, PIP and income-related ESA never matter.

  4. Maintenance loan differential. A student's assessed income is their own income, plus the parent's only when the student is under 25 and a sponsor is detected. At 25 or over it equals their own income exactly, and it is never below their own income.

Mutation check. Each old defect was put back one at a time, and the matching property failed. All 13 were caught:

  • Care to Learn: one maximum per claimant; parents not in education paid; both young parents paid.
  • Extended childcare: no reg 14(4)/15(4) route; no young-child condition; strict £100,000 limit; strict reg 18 minimum.
  • Tax-Free Childcare: DLA and PIP count; reg 13(3) ignored; reg 13(3) also reaching carer's leave; reg 13(2)(b) income not deemed.
  • Extended childcare: carer element counted for both partners of any benefit unit with a carer.
  • Maintenance loans: no age-25 test.

The final reviews' fixes are pinned by hand-computed YAML cases. Three of them fail on the previous head ed741972 and pass now:

  • Tax-Free Childcare: a working partner entitled to Carer's Allowance overlapped to nil still counts as the partner in qualifying paid work (reg 13(3) says "paid").
  • Extended childcare, 2022: the £100,000 limit on the exempt partner (SI 2016/1257 reg 4(5), (7)).
  • Extended childcare, 2022: the reg 9(3) working-partner exclusion.

Further cases pin the choices that separate the regimes:

  • Reg 9(3) uses "paid or entitled to": a 2022 working partner whose Carer's Allowance is overlapped to nil is still excluded.
  • Reg 9(3) skips the limited-capability determination: a 2022 working partner with LCWRA is not excluded.
  • Reg 13(3) counts a carer benefit supplied as received.
  • The 2025 counterparts of the 2022 cases: no income limit, no exclusion.
  • Entitlement to a nil allowance still qualifies under reg 13(1)(b).

Tests

  • YAML, rewritten or new, hand-computed from the sources quoted in the tests:
    • care_to_learn.yaml (8 cases) and care_to_learn_eligible.yaml (+1);
    • extended_childcare_entitlement_eligible.yaml (17), extended_childcare_entitlement_work_condition.yaml (21), extended_childcare_entitlement_income_condition.yaml (+4 boundary cases) and extended_childcare_entitlement.yaml (+1 looked-after);
    • tax_free_childcare_work_condition.yaml (+17), tax_free_childcare_income_condition.yaml (+3) and tax_free_childcare_eligibility.yaml (+2 end to end);
    • maintenance_loan.yaml (+2).
  • Changed expectations, each because the old one encoded the defect:
    • the Care to Learn amount cases (they had no children or costs);
    • the extended eligibility and work-condition cases (the old work condition was a couple-level flag without the income test);
    • one Tax-Free Childcare case where both partners are on incapacity benefit and one works. Reg 13(3) makes it ineligible.
    • Reduce Carer's Allowance and Carer Support Payment by overlapping benefits #1994's "Case 21" in carers_allowance_overlapping_benefits.yaml keeps its expected [1, 1, 0], but its working parent now has earnings (£20,000 at a £10 minimum wage). Under reg 14(4)/15(4), the carer's partner must meet reg 14(3), including the reg 18 minimum income; with in_work and no earnings it would not.
  • Commands run:
    • policyengine-core test policyengine_uk/tests/policy/baseline/gov/dfe policyengine_uk/tests/policy/baseline/gov/hmrc/tax_free_childcare policyengine_uk/tests/policy/baseline/gov/dwp/carers_allowance_overlapping_benefits.yaml -c policyengine_uk: 359 passed.
    • pytest on code_health/, the new property file, test_child_and_adult_definitions_properties.py, test_maintenance_loan_proxies.py, test_parameter_descriptions.py, test_parameter_metadata.py, test_build_metadata.py, test_deterministic_variables.py, test_fiscal_year_parameters.py and test_latest_data_smoke.py: 1,928 passed, 7 skipped (the data smoke tests skip without dataset credentials).
    • ruff format and ruff check.
  • Not run locally: the full make test. The host was short of RAM, so targeted suites only; CI runs the rest.

Independent review

  • First Claude Opus 5.5 review (Subfleet, read-only, against the fetched sources): APPROVE. It found two real code gaps, both fixed here:

    • the UC carer element is attributed to the carer on a UC award;
    • reg 13(3) does not reach carer's leave.
  • Delta review of those fixes: APPROVE.

  • Final reviews after Replace generic child and adult flags with each programme's legal definitions #1896 merged and main was merged in.

    • Opus 5.5 at ed741972: APPROVE, with one should-fix.
    • GPT-6.1 Sol: REQUEST_CHANGES, with two blocking findings. It executed a counterexample for the first.

    Both pointed at the same regression from the carer-entitlement change: reg 13(3) says "paid", not "entitled". Sol also found that SI 2016/1257 kept the £100,000 limit on the exempt adult. 7375f2d4 fixes all three, along with the review nits:

    • base labels in this description;
    • the reg 13(3) wording here;
    • a blank line.

    The three new cases above fail on ed741972 and pass now.

  • Delta reviews of 210df5a1.

    • Opus 5.5: APPROVE. It confirmed the reg 13(3) "paid" split, the SI 2016/1257 £100,000 limit and the reg 9(3) exclusion against the text.
    • GPT-6.1 Sol: REQUEST_CHANGES on two low points: receipt flags in the reg 13(3) list, and a boolean guard. It noted that 787d83ad already fixes both. 787d83ad also adds Opus's two pre-2022 edge cases and the description fixes.

Axiom parity

axiom: TheAxiomFoundation/rulespec-uk#364 queued (SI 2022/1134 regs 11A, 13, 14(4), 15(4) and 18: extension comment with verbatim law, review_finding and companion cases A-Q)
axiom: TheAxiomFoundation/rulespec-uk#363 queued (SI 2015/448 reg 13: extension comment with verbatim law, review_finding and cases A-N)
axiom: TheAxiomFoundation/rulespec-uk#365 queued (SI 2011/1986 Sch 4 para 2(1)(a): extension comment with verbatim law, review_finding and cases A-F)
axiom: TheAxiomFoundation/rulespec-uk#381 queued (ESFA Care to Learn 2026-27 conditions of grant, uk/policies/govuk/care-to-learn.yaml: new pe-parity issue)

No existing rulespec-uk module encodes any of these provisions, and none is in a corpus scope; axiom-corpus#765, still open, ingests only the neighbouring SI 2022/1134 regs 14-15, SI 2015/448 regs 3 and 9 and SI 2011/1986 regs 42, 45 and 46. The issues carry the ingest-then-encode landing path.

Not in this PR

  • Care to Learn history. The weekly maxima start in 2024, so earlier years use £180/£195. Follow-up: Care to Learn weekly maxima have no values before 2024-25 #1932.
  • Childcare Grant costs. The Childcare Grant reads childcare_expenses on the parent, but the Enhanced FRS records them on children, so the grant is £0 in microsimulation. Follow-up: Childcare Grant reads the parent's childcare costs, which the Enhanced FRS records on children #1931.
  • Care to Learn other-parent condition. The other parent must be unable to provide childcare, "for example, they are also in education or are absent". The list is illustrative, so it is not encoded.
  • Extended childcare work tests. The reg 16/17 leave exemptions and National Insurance number conditions are not modelled.
  • Care to Learn age and other funding. Care to Learn tests age now (under 20), not on the date the study programme starts; those who turn 20 during it continue. Childcare costs are not reduced for other funded early-years hours.
  • Maintenance loan age date. The age-25 test uses age in the model year, not on the first day of the academic year.
  • Extended childcare, 1 December 2022 to 29 March 2023. Reg 14(4)(a) as made required only "a partner", and reg 14(5)(a) as made made "an award of universal credit [...] that includes the carer element" the specified benefit, which a joint award gives both partners. The code applies the post-30 March 2023 wording in that window; no year the model samples on 30 April falls inside it. The SI 2016/1257 rules before 1 December 2022 are encoded; see section 2.
  • Income-related ESA. It is a benefit-unit amount, so it counts for both partners.
  • Targeted entitlement exclusion. targeted_childcare_entitlement_eligible excludes extended-eligible families in the same way as the universal entitlement. There is no measured change here; Extended childcare eligibility can lower a family's modelled funded hours below the universal entitlement #1930 covers it.
  • Sch 4 para 2(1)(b)-(k). Beyond the existing couple and parent proxies, these are not modelled. In the data, 18-24-year-olds are only "single" or "married", so ever-married cannot be told apart.
  • Limited capability proxy. Limited capability for work uses uc_limited_capability_for_WRA, whose default is is_disabled_for_benefits (reported DLA/PIP in the data). The microsimulation above shows how much of the extended childcare change runs through that proxy.

🤖 Generated with Claude Code

MaxGhenis and others added 11 commits October 2, 2026 10:02
…Childcare legal gaps

- Care to Learn: pay each qualifying child's childcare costs up to the
  ESFA weekly maximum per child, once per child, and only to young
  parents on a study programme.
- Extended childcare: add the SI 2022/1134 reg 13 young-child
  condition and the reg 14(4)/15(4) route for a parent or partner with
  limited capability for work or a specified benefit; fix the reg 18
  and reg 14(3)(c) boundaries.
- Maintenance loans: add the Sch 4 para 2(1)(a) age-25 independence
  test to the dependent-student proxy.
- Tax-Free Childcare: use the SI 2015/448 reg 13(1) benefit list and
  deem the reg 13(2)(b) minimum income.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd maintenance loan against scalar references

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…3) to (1)(b) benefits

- Extended childcare: reg 11A(1)(c) is the carer element of a Universal
  Credit award, so count it for the carer only, and only where the
  benefit unit's UC award includes it (receives_uc_carer_element), not
  for both partners of any benefit unit with a carer.
- Tax-Free Childcare: reg 13(3) excludes a working partner who receives
  a reg 13(1)(b) benefit, not one on carer's leave under 13(1)(c). Move
  carer's leave out of the benefit list into its own dated switch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tighten citations

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-support-gaps

# Conflicts:
#	policyengine_uk/parameters/gov/dfe/extended_childcare_entitlement/disability_criteria.yaml
#	policyengine_uk/tests/policy/baseline/gov/hmrc/tax_free_childcare/tax_free_childcare_income_condition.yaml
…ded childcare lists

SI 2015/448 reg 13(1)(b) and SI 2016/1257 reg 9(1)(b) say "paid or
entitled to", and SI 2022/1134 regs 14(4)/15(4) ask about entitlement.
#1994 reduces Carer's Allowance and Carer Support Payment by overlapping
benefits, so the payable amount can be nil while entitlement remains.
Use carers_allowance_pre_overlap/receives_carers_allowance before
1 December 2022 (no Scottish carer's assistance yet) and
is_entitled_to_carer_benefit from then, as #1994 did for extended
childcare.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Case 21 checks that a parent entitled to Carer's Allowance reduced to
nil still meets the extended childcare work condition. With regs
14(4)/15(4) applied, that holds only when the other parent meets reg
14(3): qualifying paid work with the reg 18 minimum income. The case's
working parent had in_work but no earnings, so give them £20,000 of
earnings at a £10 minimum wage. The expected [1, 1, 0] is unchanged.

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

- Tax-Free Childcare: reg 13(3) excludes a working partner who is
  "paid" a reg 13(1)(b) benefit or allowance (or entitled to a credit),
  not one merely entitled to it. A partner whose Carer's Allowance is
  overlapped to nil still counts as the partner in qualifying paid work.
  New caring_or_incapacity_benefits_in_payment list; 13(1)(b) itself
  keeps "paid or entitled to".
- Extended childcare before 1 December 2022 (SI 2016/1257): reg 9
  deemed only qualifying paid work, so the £100,000 limit (reg 4(5),
  (7)) still applied to the person using it, and reg 9(3) did not count
  a working partner paid or entitled to a listed benefit. Dated
  parameters switch both off when SI 2022/1134 takes over.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Guard the empty reg 9(3) list with a boolean zero array, not ~False.
- Count a carer benefit supplied as received in the reg 13(3) payment
  list (receives_carers_allowance; receives_carer_benefit from
  1 December 2022), since an input flag means it is paid.
- Pin the two choices that separate SI 2016/1257 reg 9(3) from reg
  13(3): an allowance overlapped to nil still excludes the working
  partner ("entitled to"), and an LCWRA determination does not.
- Rewrap a docstring line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis marked this pull request as ready for review October 4, 2026 12:19
@MaxGhenis
MaxGhenis merged commit da1c837 into main Oct 4, 2026
6 checks passed
@MaxGhenis
MaxGhenis deleted the dfe-childcare-student-support-gaps branch October 4, 2026 12:19
@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

Merged at the reviewed head 787d83ad with a merge commit (da1c8379). Gates at merge:

  • gh pr checks passed: Test, Lint, and smoke-import on py3.11-3.14. Mergeable and clean.
  • Independent reviews (files in ~/reviews/uk-dfe-childcare-gaps-2026-09-30/review/):
    • Opus 5.5: APPROVE, then delta APPROVE (out.md, delta_out.md); final APPROVE at ed741972 (final_opus_out.md); delta APPROVE at 210df5a1 (delta2_opus_out.md).
    • GPT-6.1 Sol: REQUEST_CHANGES at ed741972, on reg 13(3) "paid" and the SI 2016/1257 £100,000 limit, both fixed in 7375f2d4. REQUEST_CHANGES at 210df5a1 on two low points, fixed in 787d83ad. APPROVE at 787d83ad (confirm_sol_out.md).
  • Microsimulation at 787d83ad against main 6ae9c5ee: identical to 210df5a1. Household net income is +£135.1m in 2026.

Follow-ups: #1930, #1931 and #1932. Axiom parity: TheAxiomFoundation/rulespec-uk#363, #364, #365 and #381.

🤖 Generated with Claude Code

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.

Care to Learn, extended childcare, maintenance loan and Tax-Free Childcare rules diverge from their sources

1 participant