Repository navigation
Conversation
SI 2002/2006 reg 3(1) puts pension income (reg 5(1)) in step one, where only the excess over £300 counts. Reg 5(1)(a) covers "any pension to which section 577 ... of ITEPA applies", which is the State Pension (ITEPA 2003 s.577(1)), and reg 7(2) takes it out of social security income. The model counted it in step two through social_security_income, so a pensioner whose other step-one income was under £300 had tax credit income overstated by up to £300. tax_credits_current_year_income now lists step-one income and reg 7 social security income explicitly. YAML cases are computed by hand from the law; Hypothesis properties check the income against the law, against the previous formula (applied as a reform), and the award bounds that follow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Half the drawn adults now have no private pension, interest, dividends or property income, where the State Pension disregard changes the income. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
#2034 (the State Pension Credit passport), which this PR was stacked on, merged on 2026-10-13 at 07:35Z through the merge queue, as 🤖 Generated with Claude Code |
|
Adoption hand-off for the UK hub Head: Changed: resolved Legal reading: kept Scottish Carer Supplement in step-two income because reg. 7(1)(ab) covers its section-28 basis; the separate supplement disregard expressly concerns section-70 Carer's Allowance. This preserves main and cannot affect pre-2026 awards. Sources are linked in the body. Tests: 0 runtime tests run; full YAML suite not rerun. Required gate failed repeatedly (latest load1 31.18; free disk 50.93 decimal GB from Open items: full YAML suite and State Pension properties with |
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
Standard reform costings (change in gov_balance)
Standard reforms: change in each reform's target
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. 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
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…es once The "Pension Credit is paid without the passport" case supplied pension_credit_earnings of £2,340, already net of the SPC Regs 2002 Sch VI para 5 disregard (£5 a week). Main now deducts that disregard from the claimant's £2,600 employment income (pension_credit_earnings_disregard, read by pension_credit_income), so it came off twice: Pension Credit income with the test lifted fell to £11,115, below the £11,343.80 guarantee, and the passport set tax credit applicable income to nil. The override is removed, as tax_credits_pension_credit_passport.yaml already requires, and the case pins the £260 disregard and £10,987.55 Pension Credit income; its outputs are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Backlog F hand-off (UK hub build job, 2026-10-23) Head: Change. This fixes the blocking finding in the tax3 review. In
The override is removed, following the convention already stated in Citation: the body already gives the legal route as SI 2002/2006 reg 3(1), reg 5(1)(a) (with ITEPA s.577) and reg 7(2), and does not cite reg 4 for the State Pension. The code's one "reg 4" is for employment income, in the step-two comment, which is correct. No citation change was needed. Tests at 3008a29 (local, foreground):
Hypothesis shrinking was off for the property run, with the same examples. Ruff format check passes. I did not run the full YAML suite locally; CI runs it. Impact: the earlier aggregate impact report showed no household change in 2025–26 to 2031–32, after tax credits closed. The historical Enhanced FRS impact was not re-run. Open: CI at this head and the hub's independent review. The PR is still a draft; I have not merged it or marked it ready. |
Fixes #2052
State Pension is step-one pension income for tax credits. It now shares the single £300 disregard per claim with other step-one income, rather than being counted in full as step-two social-security income. Depending on other income and the final loss floor, current-year tax credit income can fall by up to £300.
The statutory route is SI 2002/2006 reg. 3(1) (the steps), reg. 5(1)(a) and ITEPA 2003 s. 577 (State Pension is pension income), and reg. 7(2) (exclude that pension from social-security income). The shared
social_security_incomevariable is unchanged.Merged current main using a merge commit. #2034 is already merged (
7d202ab9) and is included; this PR is now based directly on main. Its current-year/passported-income separation and the childcare criteria are retained.The conflict resolution preserves subsequent main fixes:
The previous-formula reform in the property tests now differs only in State Pension classification and preserves main’s other income rules. A new regression checks child income exclusion, finance costs, claimant trading losses and the zero floor. The nine existing hand-computed YAML cases cover the disregard, a joint claim, CTC/WTC, Pension Credit and the childcare income boundary. No new edits to
simulation.pybeyond the merge from main.The "Pension Credit is paid without the passport" case in
tax_credits_state_pension_step_one.yamlsuppliedpension_credit_earningsof £2,340, already net of the SPC Regs 2002 Sch VI para 5 disregard. Main now deducts that disregard (pension_credit_earnings_disregard, read atpension_credit_income.py:71), so it came off twice. Pension Credit income with the test lifted fell to £11,115, below the £11,343.80 guarantee, and the passport set applicable income to nil. The case now enters the £2,600 employment income gross, astax_credits_pension_credit_passport.yamlalready requires. It also pins the £260 disregard and £10,987.55 Pension Credit income. Its outputs are unchanged: £8,900 income, £2,047.55 WTC, £356.25 Pension Credit.Validation at 3008a29 (main c65bced merged), local, locked venv:
test_tax_credits_state_pension_step_one_properties.py(-n 4, shrinking off, same examples)uvx ruff format --check .passes. The full YAML suite was not run locally; CI runs it.Open items: CI and hub independent review. Historical Enhanced FRS impacts from the original PR were not rerun; no microsimulation or dataset build started. PR remains draft; the hub owns landing.
Reproducer:
policyengine_uk/tests/policy/baseline/gov/dwp/tax_credits_state_pension_step_one.yaml,policyengine_uk/tests/test_tax_credits_state_pension_step_one_properties.py::test_state_pension_is_step_one_incomeaxiom: PENDING from the original PR.