Repository navigation
Conversation
Reconcile the ordinary-income helper with current claimant/partner readers, counted benefits and the pension deduction parameter. Retain income exclusions and all current-main tests; cite each GB/NI age path and guard retained disability income.
|
Build hand-off: local verification blocked by the required disk gate. Remote head remains Reconciled the ordinary-income helper with main's claimant/partner JSA/ESA readers, IIDB/SDA/Incapacity Benefit, pension-deduction parameter and passports. Combined all main/PR income cases and added a counted-benefits regression case: 18 applicable-income YAML cases prepared. No additional Legal reading: reg 25(3) excludes a child's own income. Adult-received Child Benefit is separately disregarded by GB Sch 5 para 65 / NI Sch 6 para 64; pension-age exclusions are GB reg 29(1)(j)(vi) / NI reg 27(1)(h)(v). Social Fund grants are excluded by GB Sch 5 para 31 / NI Sch 6 para 32 and pension-age GB reg 29(1)(j)(ix) / NI reg 27(1)(h)(viii). No unresolved current-law interpretation. Full working-age Child Benefit disregard starts 2 November 2009; pre-2009 assessment is outside this verified scope. Child-income masking is already on main; the Child Benefit/SSMG exclusions are not superseded. #1995 coordination: apply its property-income replacement inside the helper at line 56 ( Validation: 0 tests executed. The foreground runner checked the specified gate 31 times over 15 minutes; free disk never reached 55 GB decimal (final reading about 51.36 GB), despite removal of this job's install cache. No threshold override used. Locked clone sync succeeded (core 3.33.2). Open items: restore disk ≥55 GB and load1 ≤110; run Recovery: sandbox-local Git metadata is in |
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
|
The reconciling merge added a case whose age: [40, 75] created two people while every other input was a scalar, so Test / YAML failed. Split it into a working-age case (age 40) and a pension-age case (age 75), each expecting £6,000, as the independent review verified. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fixes #2210
Removed Child Benefit, Sure Start Maternity Grants and dependent children's own income from the ordinary Housing Benefit means test. The personal-income and tax/pension masks now include only claimant and partner. Existing Guarantee Credit/legacy-benefit/UC passports and the separate Savings Credit-only calculation are unchanged.
Embedded government citations cover GB regulation 25(3), Schedule 5 paragraphs 31 and 65, the pension-age regulations, and the separately verified NI regulation 22 and Schedule 6 paragraphs 32/64. NI numbering differs from GB and was not copied by assumption.
Approved plan A4 only: three files, no inputs. #2027 still owns claimant/partner attribution of legacy awards and passports; #1995 still owns capital-derived income. Both touch the same formula and must retain these exclusions when rebasing. This is not a complete rewrite of income assessment.
Validation: all 13 tests in the altered income YAML file passed: the eight new cases plus the five existing cases, with the old Child Benefit inclusion expectation corrected to its statutory exclusion. The new cases were moved into the existing test file, so this PR still changes only three files.
make formatandgit diff --checkpassed. Existing core 3.32.13 environment with isolated worktree imports, not a fresh lock sync. No full suite, microsimulation or CI polling.The same source file now exposes its unchanged pre-deduction income calculation as a pure helper. The separately approved accommodation timing PR can reuse it before applying each segment's income floor, without duplicating source lists or modifying stored variable inputs. This adds no further policy or files. #2225 is now stacked on this PR, followed by #2219 and #2229.
Merge dependency: independent correction, but rebase after #2027 and #1995 to reconcile their shared-file changes.
axiom: needed
Reproducer:
policyengine_uk/tests/policy/baseline/finance/benefit/family/housing_benefit/applicable_income/housing_benefit_applicable_income.yaml::Child Benefit is fully disregarded