Skip to content

Add disability basic income reform option (#866)#1662

Merged
MaxGhenis merged 1 commit into
mainfrom
vahid-ahmadi/issue-866-disability-basic-income
May 23, 2026
Merged

Add disability basic income reform option (#866)#1662
MaxGhenis merged 1 commit into
mainfrom
vahid-ahmadi/issue-866-disability-basic-income

Conversation

@vahid-ahmadi
Copy link
Copy Markdown
Collaborator

Summary

Implements the reform option proposed in #866: a flat per-week basic income paid to recipients of DLA, PIP, or the Universal Credit limited capability for work-related activity (LCWRA) element.

  • New parameter gov.contrib.disability_basic_income.amount (£/week, default 0 — reform is inactive by default).
  • New Person-level variable disability_basic_income that pays the parameter × 52 to anyone with dla > 0, pip > 0, or uc_limited_capability_for_WRA == True.
  • Multiple eligibilities do not stack — the payment is per qualifying person, not per qualifying programme.
  • Wired into household_benefits, gov_spending, and pre_budget_change_household_benefits so the reform shows up in fiscal aggregates and reform displays alongside the existing basic_income.

Closes #866.

Test plan

  • policyengine-core test policyengine_uk/tests/policy/baseline/contrib/disability_basic_income/disability_basic_income.yaml -c policyengine_uk — 7 cases pass (default zero; DLA recipient; PIP daily living; PIP mobility; UC LCWRA; non-recipient; no-stacking).
  • Existing benefit/contrib tests still pass (bi_maximum.yaml, LHA.yaml, attends_private_school.yaml, household_benefits_individual_non_dep_deduction.yaml).
  • Reviewer: confirm no means-test interactions are intended for this PR. If DBI should reduce UC/HB/IS/TC like ordinary income, that's a follow-up adding interactions/include_in_means_tests per the existing UBI pattern.

🤖 Generated with Claude Code

@vahid-ahmadi vahid-ahmadi self-assigned this May 6, 2026
@vahid-ahmadi vahid-ahmadi requested a review from MaxGhenis May 6, 2026 11:30
Copy link
Copy Markdown
Collaborator

@MaxGhenis MaxGhenis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes. The branch currently conflicts with main in shared benefit/spending totals, and the conflict is not just mechanical.

policyengine_uk/variables/contrib/policyengine/pre_budget_change_household_benefits.py:11-43, policyengine_uk/variables/gov/gov_spending.py:11-60, and policyengine_uk/variables/household/income/household_benefits.py:11-62 restore class-level adds lists from an older base and omit council_tax_benefit. Current main has module-level *_VARIABLES lists that include council_tax_benefit plus abolish_council_tax filtering. Resolving the conflicts with these PR versions would drop council tax benefit from baseline household benefits/government spending and lose the current council-tax reform behavior. Please rebase and add disability_basic_income to the existing current-main lists instead.

There is also a policy eligibility issue in policyengine_uk/variables/contrib/disability_basic_income/disability_basic_income.py:14-17: the PR treats uc_limited_capability_for_WRA as equivalent to receiving the UC LCWRA element. In this model that variable is only the LCWRA assessment flag and currently follows is_disabled_for_benefits; it does not require UC eligibility, claiming, or a positive UC award. The test at policyengine_uk/tests/policy/baseline/contrib/disability_basic_income/disability_basic_income.yaml:35-42 reinforces that by setting only is_disabled_for_benefits: true. Please either clarify that the reform covers the assessment flag rather than recipients of the UC LCWRA element, or gate this route on actual UC/LCWRA receipt and add a negative test for an LCWRA/disabled flag without UC entitlement or claiming.

@MaxGhenis MaxGhenis force-pushed the vahid-ahmadi/issue-866-disability-basic-income branch from caa99e4 to 87832d2 Compare May 23, 2026 14:05
Copy link
Copy Markdown
Collaborator

@MaxGhenis MaxGhenis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated this branch on current main. is now added to the current benefit/spending lists, and the UC LCWRA route requires positive Universal Credit receipt rather than only the LCWRA flag. Targeted test passed locally: ============================= test session starts ==============================
platform darwin -- Python 3.13.9, pytest-8.4.1, pluggy-1.6.0
rootdir: /Users/maxghenis/PolicyEngine/policyengine-uk-policybench-rates
configfile: pyproject.toml
collected 0 items

============================ no tests ran in 0.00s ============================= (8 passed).

@MaxGhenis MaxGhenis merged commit 8b3cf84 into main May 23, 2026
17 of 18 checks passed
@MaxGhenis MaxGhenis deleted the vahid-ahmadi/issue-866-disability-basic-income branch May 23, 2026 14:13
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.

Reform option: Basic income for recipients of DLA/PIP and the UC LCWRA element

2 participants