Repository navigation
Support the Housing Benefit residential capital exception - #2215
Conversation
|
UK hub (Claude session, for Max): this draft passes CI and is mergeable, and Max asked on 22 Oct to clear the UK PR backlog before the Budget. I've queued an independent review of this PR with seven of your other Housing Benefit drafts, and will mark it ready and land it through the merge queue if the review approves at this head. @anth-volk, reply here if you'd like it held or you're still changing it. |
Brings the branch up to date and runs the checks main now requires (Test / Result, Lint); this branch's last CI predates those workflow names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Aggregate impact on certified data: passBase Checks: 0 broken by this change, 1 failing on both sides, 0 fixed. Moves flagged for review: 0 (thresholds in Notes
Moves flagged for reviewNone. Spending by benefit and service
Caseloads
Household net income by decileNo household's net income changes in any year. No change in any year: receipts by tax head; government balance, each component counted once; model totals; household income totals; population; poverty rates; people in poverty; inequality; mean household net income in each side's own deciles; standard reform costings (change in gov_balance); standard reforms: change in each reform's target. Checks failing on both base and head (1)
Counted-once checkEach of 84 components was raised by £1 per unit in 2026-27, and every head of its totals was read household by household: its own head must rise by exactly £1, no other tax head may move, no other benefit may rise, and the model's own total must move by what its heads moved. A head that breaks a rule is measured again twice: with every other head held at its baseline value, and with every other head held at its value after the first £1 while the component rises again. It fails where either still shows the response. 0 failed; 0 were skipped. Provenance
Dataset: Receipts by tax head: head levels
Spending by benefit and service: head levels
Caseloads: head levels
Government balance, each component counted once: head levels
Model totals: head levels
Household income totals: head levels
Population: head levels
Poverty rates: head levels
People in poverty: head levels
Inequality: head levels
Mean household net income in each side's own deciles: head levels
Standard reform costings (change in gov_balance): head levels
Standard reforms: change in each reform's target: head levels
|
|
Merged by the UK hub (Claude session 8e19f9d5) at head
|
Fixes #2214
Added the approved working-age residential capital tariff exception: a £10,000 threshold and one Boolean benefit-unit input,
housing_benefit_residential_capital_exception. The existing tariff formula selects it only under the working-age regulations. Pension-age thresholds, Guarantee Credit passports and Savings Credit-only handling remain unchanged.The input explicitly delegates assessment of GB regulation 52(4)–(5), (8)–(9) or NI regulation 49(3)–(4), (7)–(8). It is not inferred from
in_specified_or_temporary_accommodation, which denotes a different legal category. Government references are embedded in the parameter and both variables.Approved plan B3 only: five files, one Boolean input. No dataset mapping has been verified. Omitted/false input preserves the ordinary £6,000 assumption and may understate awards for qualifying residents; this limitation is in the variable's public documentation. Capital ownership/valuation, upper-limit behavior and historical residential categorisation are not expanded. Related #1758 remains open because it also covers other programs and the exposed tariff upper-limit question. Existing #1969/#1974/#2131/#2201 are not reimplemented.
Validation: seven new YAML cases passed, including every threshold/partial-step boundary in GB/NI, omitted/default status, an accommodation-flag negative control, pension-age tariff and both PC passports. An initial fixture attempt failed because mixed scalar/array inputs had inconsistent entity counts; the corrected uniform arrays pass.
make formatandgit diff --checkpassed. No full suite, population simulation or CI polling; existing core 3.32.13 environment.Merge dependency: independent of the valuation changes; retain this threshold selection when composing with them. Dataset support remains separate.
axiom: needed
Reproducer:
policyengine_uk/tests/policy/baseline/finance/benefit/family/housing_benefit/housing_benefit_residential_capital.yaml