Skip to content

Add the savings-credit-only HB regression case (#1945) and the CTR corporate_wealth note (#1909) - #2158

Merged
MaxGhenis merged 2 commits into
mainfrom
followups-1909-1945
Oct 6, 2026
Merged

MaxGhenis merged 2 commits into
mainfrom
followups-1909-1945

Conversation

@MaxGhenis

Copy link
Copy Markdown
Collaborator

Summary

Two follow-ups from Vahid Ahmadi's reviews of the merged #1945 and #1909. Tests and changelog only; no formula changes.

1. #1945 regression case (Vahid, 1 Oct item 2, 5 Oct item 1)

Case 9 in housing_benefit_savings_credit_only.yaml is a single pensioner aged 83 with no earnings. The household is built only from age, State Pension, private pension, council rent, tenure and savings. No Housing Benefit disregard and no Pension Credit or Housing Benefit income intermediate is set, so every asserted value is the model's own. It asserts:

  • income tax £146;
  • Pension Credit capital £13,900 and deemed income £416;
  • Pension Credit income £13,570;
  • savings credit payable £456.22;
  • the reg 27(4)(a) modification;
  • the final Housing Benefit.

Each value is hand-computed in comments from SI 2006/214 reg 27 and the repo's 2026 parameters.

Mutation check: removing the reg 27(4)(a) savings-credit addition makes case 9 fail on housing_benefit_savings_credit_only_income (13,570 against the expected 14,026.22), along with cases 1, 2, 4 and 5. The mutation was reverted and is not in this branch.

2. #1909 corporate_wealth note (Vahid, 1 Oct item 3, 5 Oct item 2)

The changelog now says the council tax reduction capital-route loss in #1909 is an artefact of the corporate_wealth proxy (see #1837 and #1936). The route on main:

  • a savings-credit-only pensioner is tested against the CTR capital limit on Pension Credit's capital (council_tax_reduction_assessable_capital);
  • Pension Credit's capital sources count corporate_wealth but not private_pension_wealth;
  • in datasets built before the pension-wealth split, corporate_wealth also holds imputed pension wealth, which Pension Credit disregards (State Pension Credit Regulations 2002 Sch V paras 22 and 23).

Two CTR cases pin this route: corporate_wealth alone takes a pensioner with nil household savings over the limit, and private_pension_wealth does not.

Tests

policyengine-core test on both touched files: 32 passed (9 HB savings-credit-only, 23 CTR Pension Credit), on ca9d39a0 rebased on main 3b7c1f9f.

Review

Independent Opus review on Subfleet (20261005-084724-pe-uk-1909-1945-review1): APPROVE_WITH_NITS. It was provisional on the tests and mutation check, both now run as above. The nits (the note's wording and the CTR case names) are fixed in ca9d39a0.

🤖 Generated with Claude Code

MaxGhenis and others added 2 commits October 5, 2026 21:14
…rporate_wealth note (#1909)

Housing Benefit: a no-earnings savings-credit-only household built only from
age, pensions, rent, tenure and capital, with no override of the earnings
disregard or any Pension Credit or Housing Benefit income intermediate. The
expected Pension Credit income, savings credit payable, reg 27(4)
modification, assessable capital and final Housing Benefit are hand-computed
from SI 2006/214 reg 27 and the repo's 2026 parameters, with the arithmetic
in comments. Removing the reg 27(4)(a) savings-credit addition fails it.

Council tax reduction: two cases pinning that Pension Credit capital counts
corporate_wealth and not private_pension_wealth, and a changelog note that
the capital-route loss in #1909 is an artefact of the corporate_wealth proxy
(#1837, #1936).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

Hand-off to the UK hub.

  • Head: ca9d39a032c7588b2dc0069b14e4fa26a72a721b.
  • Review: Opus on Subfleet (20261005-084724-pe-uk-1909-1945-review1), APPROVE_WITH_NITS. It was provisional on tests and a mutation check, which have now run: 32/32 YAML pass, and the reg 27(4)(a) mutation fails case 9. The nits are fixed in ca9d39a0, a wording-only delta.
  • Pending: CI.
  • Depends on: nothing.
  • Decisions: none. Tests and changelog only, no formula change, no aggregate impact.
  • Follow-ups owed: none.

@MaxGhenis
MaxGhenis merged commit 2ef3868 into main Oct 6, 2026
6 checks passed
@MaxGhenis
MaxGhenis deleted the followups-1909-1945 branch October 6, 2026 02:07
@MaxGhenis

Copy link
Copy Markdown
Collaborator Author

Merged by the UK hub, which took this PR on handoff from local_8c041d27, under the PE-UK merge-on-gates rule.

  • CI: every check passed at ca9d39a03, and gh pr checks exits 0.
  • Review: Opus 5.5 (Subfleet 20261005-084724-pe-uk-1909-1945-review1) gave APPROVE_WITH_NITS at aeaf232c0, provisional on tests and a mutation check. The owner then ran both: 32/32 YAML cases pass, and the reg 27(4)(a) mutation fails case 9. The nits are fixed in ca9d39a03. The hub confirmed that the aeaf232c0..ca9d39a03 diff changes only YAML comments and the changelog wording; no test inputs or outputs change.
  • Impact: none. This PR adds tests and a changelog note and changes no formula.

MaxGhenis added a commit that referenced this pull request Oct 6, 2026
Main at 4ec7ef1 adds #2158: two savings-credit-only CTR cases and a Housing
Benefit regression case, all tests. Clean merge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant