Repository navigation
Add Housing Benefit family premium regression tests - #2677
Conversation
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 91 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
|
|
Round 1 at Verdict: the closure dates, protection rules and rates all match the law, and the tests pass. One should: the fixed applicable-amount totals leave out the child personal allowance without saying so. What checks out:
Findings:
What I ran, at
What I did not check: the NI pension-age allowance and child amounts in SR 2006/406 against the NI instruments (only against the model parameters), and the 2015 lone-parent personal allowances (£57.90 and £73.10), which I took from the model parameters. 🤖 Generated with Claude Code |
|
Addressed in 989b4a1. The note now labels both totals as model component totals and explicitly excludes the unmodelled child personal allowance (#2232). All five YAML expectations carry the same qualifier, and the £3,123.12 component is labelled “disabled child.” Inputs, expected values, property tests and production code are unchanged. The optional property cleanup and rate-source citation remain follow-ups. |
|
Round 2 at Verdict: the one should is fixed and nothing else changed. No open must or should, so I am approving. Status of round 1 findings:
The diff since New findings: none. What I ran, at
🤖 Generated with Claude Code |
vahid-ahmadi
left a comment
There was a problem hiding this comment.
Approving at 989b4a1; see the comment above.
Fixes #2660.
Add seven property tests for the Housing Benefit family premium, four full-person pension-age fixtures covering Great Britain and Northern Ireland in both person orders, and a 2015 case with all five applicable-amount components positive. Document the eligibility assumptions and the primary sources for the fixed expectations.
The properties cover family size, missing included children, closure dates, protected categories, historical lone-parent routing, supported amounts and an independently reformable Northern Ireland closure date. Tests extending through 2030 check parameter and projection contracts; they do not assert future legislation or published rates.
Claim-continuity categories and the adult carer-premium entitlement are supplied premises. The tests exercise the family-premium and applicable-amount component contracts; the documentation explains these limits. The fixed component totals exclude child personal allowance, which is not modelled (#2232); the £3,123.12 component is the disabled-child premium.
Validation: 47 test items passed across three focused executions: seven property tests, 20 family-premium YAML cases and 20 applicable-amount YAML cases. The property tests reported 84 generated passing cases within those seven tests; explicit examples remain separate. Ruff format and lint passed. The local test execution used the five final working-file versions over base
49a75906; committing unchanged files does not constitute a second execution.The review follow-up changes documentation and YAML comments only. Static checks confirm all 40 parsed YAML cases, the property module and the production variables and parameters remain unchanged. No model tests ran for this clarification.
Independent incremental canonical review: COMPLETE / APPROVE at commit
989b4a106ab8f0d986fef2488e209411c9f3dc6d, with zero findings and zero material gaps. The prior review and test executions retain their original commit and working-file labels.axiom: n/a: Test coverage and documentation; policy formulas and parameters are unchanged.