Skip to content

Project the Carer's Allowance earnings limit as 16 hours at the national living wage - #2699

Merged
MaxGhenis merged 3 commits into
mainfrom
ca-earnings-limit-nlw-projection
Oct 28, 2026
Merged

MaxGhenis merged 3 commits into
mainfrom
ca-earnings-limit-nlw-projection

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

What and why

gov.dwp.carers_allowance.earnings_limit ends at £204 from 6 April 2026 (SI 2026/218) and had no projection, so the model held £204 in every later year. The Carer's Allowance rate next to it is uprated by CPI, so the limit fell in real terms and against earnings in every projected year.

The limit follows a stated rule. Reg. 8(1) of the Social Security (Invalid Care Allowance) Regulations 1976 holds a fixed sum, which each year's up-rating regulations replace. From April 2025 the Government sets that sum at 16 times the hourly national living wage, rounded up to the nearest pound:

  • Explanatory Memorandum to SI 2025/352, para. 5.6: reg. 4 "increases the Carer's Allowance earnings limit to equal 16 times the hourly National Living Wage rounded up to the nearest pound. This policy, announced by the Chancellor in her Budget on 30 October 2024, will apply from April 2025 and in future years". Para. 5.3 gives £151 to £196.
  • Explanatory Memorandum to SI 2026/218, para. 5.3: the amount "is in line with 16 times the hourly National Living Wage rounded up to the nearest pound", £196 to £204.
  • Arithmetic check: 16 × £12.21 = £195.36, rounded up to £196, and 16 × £12.71 = £203.36, rounded up to £204. Before 2025 the limit did not follow the rule: 16 × £11.44 = £183.04 against £151 in 2024-25.
  • HM Treasury, "Everyday fixes to make life easier for millions of Britons" (26 Oct 2026): the Carer's Allowance taper announced for the Budget applies above the "Weekly Earnings Limit, equivalent to 16 hours of the National Living Wage".

(Autumn Budget 2024 itself says "raising the Carer's Allowance Weekly Earnings Limit to the equivalent of 16 hours at the NLW" without saying it continues; the "future years" commitment is in the 2025 Explanatory Memorandum.)

The change

The repo already projects derived amounts after their last stated value with extend_after_last_stated (the Savings Credit threshold, the pension-age Housing Benefit allowances). This uses it:

  • create_earnings_limit_projection.py: for each year after the last legislated amount, the limit is ceil(hours × NLW). NLW is the national living wage in force on 30 April, the last amount of gov.hmrc.minimum_wage.non_apprentice, as esa_exempt_work_higher_earnings_limit reads it. It runs after general uprating and before fiscal-year conversion, on the main tree and its baseline copy, so a reform's national living wage or hours are read when it is reprocessed.
  • earnings_limit_national_living_wage_hours.yaml: the 16, from 7 April 2025, citing the 2025 Explanatory Memorandum. It is a stated policy, not law, and the description says so.
  • earnings_limit.yaml: unchanged values; a comment and a reference record how later years are projected.

Rounding. ceil(round(hours × NLW, 6)). Rounding to six places first keeps an exact amount from rounding up when the float product sits just above it: 20 × (1,020 × 0.01) is 204.00000000000003, which must give £204, not £205. (At 16 hours no wage in whole pence needs this, but a reform can change the hours.)

Each projected year is the rule alone, with no floor. A reform that lowers the national living wage or the hours lowers the limit, and a change to a single year changes only that year. The model's own national living wage never falls below its April 2026 rate, so in the baseline no projected year is below £204.

Changes made after the build don't move the limit. As with the other derived projections, Scenario.apply on a built simulation and reform-dict keys naming a single day or month edit the processed parameters, so a change to the hours made that way has no effect. The hours parameter's description says so.

Effect today. gov.hmrc.minimum_wage.non_apprentice is itself unprojected (#2537): it holds £12.71 after April 2026, so this still gives £204 in every later year, and the baseline doesn't move. #2700, stacked on this PR, projects the national living wage by May to July earnings growth. With it the limit is £212 from April 2027 (16 × £13.21), then £217, £221, £226 and £232 to April 2031.

Invariants

Stated in the module docstring of test_carers_allowance_earnings_limit_projection.py and executed:

  1. Statutory precedence: each year up to the last legislated amount reads the amount earnings_limit.yaml states for it, whatever the wage.
  2. The rule reproduces the legislated amounts from the legislated wages: £196 (2025) and £204 (2026).
  3. Rule: a projected year is ceil(hours × NLW on 30 April), whatever the years before it were.
  4. Floor: while the national living wage is at least £12.71 and the hours at least 16, no projected year is below £204. The model's own path satisfies this in every year to 2040.
  5. Exact pounds (differential against fractions.Fraction): exhaustively for wages from 1p to £50 and 1 to 40 hours, in both float representations (p / 100 and uprating's p × 0.01).
  6. The entitlement test reads the projected limit.
  7. The baseline copy (parameters.baseline) keeps current law's limit under a reform. (While the national living wage is flat this can't tell a projected baseline from an unprojected one; it can once Project the minimum wage rates by the OBR's national living wage forecast #2700 lands.)

Tests

  • test_projection_follows_any_national_living_wage_path (Hypothesis, derandomized, with explicit examples): any national living wage in 2025 and 2026, and any at or above £12.71 in 2027 to 2030. It checks that every year to 2040 keeps its legislated amount or equals ceil(16 × NLW), and that no projected year is below £204. The examples are:
    • a rising path through whole-pound wages (£13.25 → £212, £13.50 → £216);
    • a path that rises to £14 and falls back to £12.71 (the limit follows it down to £204);
    • wages below the legislated ones in 2025 and 2026 (no change there).
  • test_reforms_lower_the_limit_and_change_only_their_own_years sets 12 hours in 2027-28 and 20 hours in 2028-29 only, a £12.00 national living wage in 2029-30, and £14.50 for the 25-and-over band alone in 2030-31. It checks:
    • each year follows its own hours and wage (£192 in 2029-30, below £204);
    • the rule reads the 25-and-over band;
    • later years return to current law;
    • parameters.baseline stays at current law.
  • test_baseline_projection_follows_the_model_national_living_wage: invariants 1, 3 and 4 on the model's own path, whatever it is, so the test holds before and after Project the minimum wage rates by the OBR's national living wage forecast #2700.
  • test_hours_change_only_projected_years: 20 hours from 2025 changes 2027 onwards only.
  • test_whole_pounds_are_exact_for_every_wage_in_pence: invariant 5.
  • test_entitlement_reads_the_projected_limit: a £13.50 national living wage from April 2028 gives £216; earnings of £216 a week are within it and £217 over it.
  • The tests' exact-arithmetic rule works on the wage in whole pence, as rates are set. Uprating holds £14.45 as 14.450000000000001, and exact arithmetic on that float at 20 hours gives £290 where the model's £289 is right; Project the minimum wage rates by the OBR's national living wage forecast #2700's CI caught this.
  • YAML carers_allowance_earnings_limit_projection.yaml: 2027-28, 2028-29 and 2030-31, earnings at the limit (within) and £1 a week over it. They pin £204 while the national living wage is flat; the stacked PR moves them.

Interaction with #2543

No file overlap. #2543 at 32f1639 merges cleanly onto this PR and onto #2700. Its CA tests pass on both merged trees: 34 Python tests and 31 YAML cases, run locally. Its properties test now takes years after the last legislated amount from the model, so a projected limit doesn't break it.

Aggregate impact

None: the Aggregate impact job on certified data finds no change in any measure, 2025-26 to 2031-32 (run), because the national living wage is flat after April 2026. With #2700 the limit rises from April 2027. Carer's Allowance spending doesn't change until 2030-31, and the change after that rests on very few survey records. #2700's body has its full impact.

Reproducer: policyengine_uk/tests/test_carers_allowance_earnings_limit_projection.py::test_entitlement_reads_the_projected_limit

axiom: n/a: projects years after the last legislated amount; reg. 8(1)'s legislated £204 (SI 2026/218) is unchanged

🤖 Generated with Claude Code

… wage

Reg. 8(1) of the ICA Regulations 1976 states the limit as a fixed sum. From
April 2025 the Government sets it at 16 times the hourly national living
wage, rounded up to the nearest pound, "from April 2025 and in future years"
(Explanatory Memorandum to SI 2025/352, para. 5.6; SI 2026/218 EM para. 5.3).
The parameter had no projection, so every year after April 2026 held £204.

Keep each legislated amount and derive later years with the repo's
extend_after_last_stated projection step, from the national living wage in
force on 30 April and a new hours parameter (16). A projected year never
lowers the limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis added a commit that referenced this pull request Oct 27, 2026
gov.hmrc.minimum_wage.non_apprentice and .apprentice ended at April 2026
with no projection, so every rule that reads them froze: the UC benefit cap
earnings exception, the minimum income floor, ESA permitted work, the
childcare earnings tests and, from #2699, the Carer's Allowance earnings
limit.

Uprate each bracket amount (not the age thresholds) and the apprentice rate
by gov.economic_assumptions.indices.earnings_uprating, the May-July AWE
growth of the year before, never negative, rounded to the nearest penny.
May-July 2026 growth was 3.9%, so April 2027 is £12.71 x 1.039 = £13.21.
Rates set later take precedence and the projection continues from them.

The bracket amounts move under `values:` to carry the uprating metadata, so
most of the non_apprentice.yaml diff is indentation (git diff -w).

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

@juaristi22 juaristi22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Review: Carer’s Allowance earnings-limit projection

Base repository: PolicyEngine/policyengine-uk
PR number: 2699
Reviewed head SHA: 7217486
Merge base SHA: 8ba8bd6
Scope: seven changed files and affected projection, reform and final-award paths.
Review status: PARTIAL
Review severity: COMMENT
Confirmed critical findings: 0

The independent policy and code reviews found no confirmed defects in this scope. Test completion remains the material evidence gap, so this is a partial review.

Policy and implementation

The 2025 Explanatory Memorandum, physical page 2, paragraphs 5.3 and 5.6 supports setting the limit at 16 times the hourly National Living Wage, rounded upwards to a whole pound, from April 2025 and in future years. The 2026 memorandum, physical page 2, paragraph 5.3 corroborates the increase from £196 to £204.

The existing dates and amounts remain intact. Regulation 8(1) still states a fixed £204 and applies when earnings exceed the limit; the helper projects only years after the last stated amount. The nondecreasing floor and 30 April sample are disclosed modelling conventions, rather than statutory guarantees. The Treasury’s 26 October announcement corroborates the 16-hour threshold; its prospective taper is outside this change.

Code inspection covered the adult-wage bracket, processing order, baseline copy, dated reforms, historical preservation and the path from the earnings test to the final allowance. With the current flat £12.71 wage, the projected limit remains £204. A £13.50 wage gives £216 under the stated rule. These are source and arithmetic checks, not executed benefit results.

Validation and remaining gap

  • UK model tests, collection and imports: NOT RUN in this review. The new reform and final-award tests were inspected. Author-reported runs are separate evidence.
  • The rounding helper was evaluated in isolation against exact Fraction arithmetic: 400,000 comparisons passed over integer hours 1–40 and penny wages 1–5,000, in both float representations. This does not execute the parameter pipeline or UK tests.
  • Six primary originals and their text extracts were checked. The two memoranda’s relevant prose was read with physical page boundaries. No policy/source gap remains within this changed-behaviour scope.
  • At 2026-10-27T19:54:58.806551+00:00, the exact reviewed commit has 19 observed raw checks: 10 SUCCESS, 8 IN_PROGRESS and 1 earlier FAILURE. YAML, all six Python shards and Aggregate impact remain pending; Test / Result is not yet observed. The earlier failed Fix evidence job 122424634262 is preserved alongside the separate newer successful Fix evidence job 122429405822. No failure cause or official-attempt classification was acquired.

The updated description now names the added reproducer, so the provisional missing-description finding was withdrawn. A completed hosted suite on this commit can resolve the remaining execution gap; this review does not add a local rerun requirement.

The source acquisition window closed after 172.42 seconds of its 300-second budget. The local review, including snapshot cleanup, took 774.71 seconds. No population, private-data, deployment, Axiom-encoding or performance validation is claimed.

Each projected year is now ceil(hours x NLW) alone. The floor had no
source, never bound under current law, and under a reform made an hours
cut inert and a one-year change permanent. Tests cover reforms that lower
the limit, the band the rule reads and the baseline copy. The rounding
example is corrected: 1,325 x 0.01 is exactly 13.25; 20 x (1,020 x 0.01)
is 204.00000000000003.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Aggregate impact on certified data: pass

Base 6030cbc0ba against head 98663588f2, both on enhanced_frs_2024_25.h5 (policyengine-uk-data 1.58.1, sha256 056e80fd8e91), fiscal years 2025-26 to 2031-32. Each year is a full microsimulation run on each side.

Checks: 0 broken by this change, 1 failing on both sides, 0 fixed. Moves flagged for review: 0 (thresholds in report_spec.yaml; a flag does not fail the job).

Workflow run and full report

Notes

  • In the years a figure from fewer than 10 records is suppressed (spending.disabled_students_allowance), every total containing it, and the decile incomes, are rebuilt from their other components, so no published total includes it. Those totals are marked †. A change is withheld where the two sides leave out different figures and can't be lined up.

Moves flagged for review

None.

Spending by benefit and service

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed

Caseloads

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed

Standard reform costings (change in gov_balance)

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Raise additional rate by 3pp 0 0 0 0 0 suppressed suppressed

Standard reforms: change in each reform's target

Measure 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Raise additional rate by 3pp: change in income_tax 0 0 0 0 0 suppressed suppressed

Household net income by decile

No 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)
  • VAT excluding private school fees is never negative (sign:vat): 2025-26: 76 units below zero, a weighted £-53,889,156 in total; 2026-27: 76 units below zero, a weighted £-55,420,387 in total; 2027-28: 76 units below zero, a weighted £-56,618,038 in total
Counted-once check

Each 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.

  • widowed_parents_allowance: pension_credit responds only through other heads in fewer than 10 households (other heads that moved there: carers_allowance; gov_spending; not a failure)
  • widowed_parents_allowance: pension_credit responds only through other heads in fewer than 10 households (other heads that moved there: carers_allowance; household_benefits; not a failure)
Provenance
Side Commit Runtime Environment hash Partition hash Time
base main 6030cbc0ba uk 2.162.14 (files d25750c1b916), core 3.33.12, py 3.13.18 aarch64 d254d556bf69 4f86ac4248d9 1920.99s
head #2699 merged into main 98663588f2 uk 2.162.14 (files 77a0bd2dc503), core 3.33.12, py 3.13.18 aarch64 d254d556bf69 4f86ac4248d9 1906.51s

Dataset: hf://policyengine/policyengine-uk-data-private/enhanced_frs_2024_25.h5@2526edbbb687a3b54dbb11272e5389e4b62d2ac2, sha256 056e80fd8e9151d78f432a25cde863340baee81304c6216a37fb575ce8563784 (verified on both sides), policyengine-uk-data 1.58.1.

Receipts by tax head: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Final charge on cash interest in non-cash ISAs £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Lifetime ISA withdrawal charge £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Income tax £298.70bn £318.31bn £335.60bn £350.52bn £365.79bn £383.53bn £401.03bn
National Insurance (employee and self-employed) £52.37bn £54.71bn £56.48bn £58.15bn £60.22bn £62.11bn £64.44bn
National Insurance (employer) £150.59bn £156.99bn £161.74bn £166.13bn £173.24bn £178.59bn £185.29bn
Employer NI change borne by capital £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Employer NI change borne by consumers £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Capital gains tax £12.61bn £13.05bn £13.53bn £14.02bn £14.52bn £15.05bn £15.58bn
Student loan repayments £7.91bn £8.21bn £8.43bn £8.63bn £8.85bn £9.10bn £9.42bn
VAT excluding private school fees £249.37bn £255.28bn £261.81bn £267.87bn £274.12bn £280.56bn £286.81bn
Change in VAT from its baseline £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
VAT on private school fees £1.95bn £2.00bn £2.05bn £2.10bn £2.21bn £2.21bn £2.31bn
Change in private school VAT from its baseline £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Fuel duties £24.53bn £24.64bn £26.64bn £26.69bn £26.42bn £25.76bn £26.35bn
Alcohol duties £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Tobacco duties £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Vehicle excise duties £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Betting and gaming duties £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
TV licence fee £4.26bn £4.41bn £4.42bn £4.44bn £4.45bn £4.47bn £4.48bn
Council tax £49.21bn £51.88bn £54.97bn £58.29bn £61.55bn £64.92bn £68.49bn
High value council tax surcharge £0.00bn £0.00bn £0.00bn £0.48bn £0.49bn £0.50bn £0.51bn
Northern Ireland domestic rates £0.55bn £0.58bn £0.60bn £0.63bn £0.66bn £0.69bn £0.72bn
Business rates £34.68bn £38.04bn £38.88bn £39.76bn £43.07bn £43.13bn £44.57bn
Stamp duty land tax on the household's own purchases £6.90bn £7.39bn £7.81bn £8.21bn £8.62bn £9.02bn £9.42bn
Stamp duty land tax paid by companies £4.81bn £5.98bn £6.73bn £7.46bn £8.21bn £8.87bn £9.16bn
Land transaction tax (Wales) £0.07bn £0.08bn £0.09bn £0.09bn £0.10bn £0.10bn £0.11bn
Land and buildings transaction tax (Scotland) £0.31bn £0.32bn £0.34bn £0.35bn £0.37bn £0.38bn £0.40bn
Unspecified tax change borne by capital £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Unspecified tax change borne by consumers £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Wealth tax £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Wealth tax excluding the main residence £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Land value tax £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Carbon tax £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Spending by benefit and service: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Lifetime ISA bonus £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
State Pension £121.64bn £126.07bn £127.08bn £128.87bn £132.52bn £136.31bn £140.08bn
Pension Credit £6.66bn £7.04bn £7.32bn £7.46bn £7.60bn £7.77bn £7.94bn
Winter Fuel Payment £1.86bn £1.86bn £1.80bn £1.78bn £1.79bn £1.79bn £1.80bn
Pension Age Winter Heating Payment (Scotland) £0.19bn £0.20bn £0.20bn £0.21bn £0.21bn £0.22bn £0.22bn
Universal Credit £75.21bn £80.38bn £82.93bn £84.23bn £85.58bn £86.87bn £87.97bn
Housing Benefit £8.55bn £8.89bn £9.17bn £9.31bn £9.58bn £9.84bn £10.10bn
Council Tax Reduction £2.07bn £2.18bn £2.32bn £2.46bn £2.60bn £2.74bn £2.89bn
Employment and Support Allowance (income-related) £0.79bn £0.81bn £0.83bn £0.85bn £0.86bn £0.89bn £0.90bn
Employment and Support Allowance (contribution-based) £5.20bn £5.34bn £5.46bn £5.59bn £5.72bn £5.85bn £5.99bn
Jobseeker's Allowance (income-based) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Jobseeker's Allowance (contribution-based) £0.29bn £0.30bn £0.30bn £0.31bn £0.32bn £0.32bn £0.33bn
Income Support £0.12bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Working Tax Credit £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Child Tax Credit £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Incapacity Benefit £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Personal Independence Payment £26.94bn £28.06bn £29.13bn £29.83bn £30.54bn £31.26bn £31.96bn
Disability Living Allowance £7.49bn £7.80bn £8.10bn £8.29bn £8.49bn £8.69bn £8.88bn
Attendance Allowance £8.68bn £9.04bn £9.38bn £9.61bn £9.83bn £10.07bn £10.29bn
Carer's Allowance £4.48bn £4.67bn £4.84bn £4.96bn £5.08bn £5.19bn £5.31bn
Carer Support Payment (Scotland) £0.31bn £0.32bn £0.33bn £0.34bn £0.35bn £0.36bn £0.37bn
Carer's Allowance Supplement (Scotland) £0.00bn £0.04bn £0.04bn £0.04bn £0.04bn £0.04bn £0.04bn
Severe Disablement Allowance £0.03bn £0.03bn £0.03bn £0.03bn £0.03bn £0.03bn £0.03bn
Industrial Injuries Disablement Benefit £0.50bn £0.52bn £0.53bn £0.54bn £0.55bn £0.57bn £0.58bn
Armed Forces Compensation Scheme £0.61bn £0.62bn £0.64bn £0.65bn £0.67bn £0.68bn £0.70bn
War Widow's or Widower's Pension £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Child Benefit £16.16bn £16.83bn £17.43bn £17.85bn £18.26bn £18.69bn £19.10bn
Scottish Child Payment £0.49bn £0.52bn £0.54bn £0.55bn £0.56bn £0.57bn £0.56bn
Two Child Limit Payment (Scotland, counterfactual) £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Healthy Start vouchers £0.05bn £0.05bn £0.05bn £0.05bn £0.05bn £0.05bn £0.05bn
Maternity Allowance £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Statutory Maternity Pay £3.30bn £3.39bn £3.47bn £3.55bn £3.63bn £3.72bn £3.80bn
Statutory Paternity Pay £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Statutory Sick Pay £1.12bn £1.15bn £1.18bn £1.21bn £1.24bn £1.27bn £1.29bn
Sure Start Maternity Grant £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn £0.01bn
Bereavement Support Payment £0.67bn £0.69bn £0.70bn £0.72bn £0.73bn £0.75bn £0.77bn
Widowed Parent's Allowance £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Tax-Free Childcare £0.55bn £0.56bn £0.57bn £0.58bn £0.59bn £0.61bn £0.59bn
Extended childcare entitlement £2.99bn £3.50bn £3.60bn £3.67bn £3.77bn £3.85bn £3.94bn
Universal childcare entitlement £2.05bn £2.23bn £2.28bn £2.34bn £2.40bn £2.47bn £2.52bn
Targeted childcare entitlement £0.50bn £0.51bn £0.52bn £0.53bn £0.54bn £0.56bn £0.52bn
Childcare Offer for Wales £0.26bn £0.28bn £0.28bn £0.29bn £0.30bn £0.30bn £0.31bn
Care to Learn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Childcare Grant £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Parents' Learning Allowance £0.20bn £0.20bn £0.20bn £0.20bn £0.20bn £0.20bn £0.20bn
Adult Dependants' Grant £0.06bn £0.06bn £0.04bn £0.04bn £0.04bn £0.04bn £0.04bn
Travel Grant £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
16 to 19 Bursary Fund £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
NHS spending £203.83bn £204.54bn £205.13bn £205.79bn £206.49bn £207.23bn £207.73bn
State education spending £0.02bn £0.02bn £0.02bn £0.02bn £0.02bn £0.02bn £0.02bn
Transport subsidy spending £25.05bn £25.13bn £25.21bn £25.29bn £25.37bn £25.46bn £25.53bn
Cost-of-living support payment £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Energy Bills Rebate £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Energy Price Guarantee subsidy £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Basic income £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Disability basic income £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Other public spending budget change £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Caseloads: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Lifetime ISA bonus 0k 0k 0k 0k 0k 0k 0k
State Pension 11,261k 11,158k 10,849k 10,746k 10,783k 10,822k 10,848k
Pension Credit 1,485k 1,483k 1,480k 1,461k 1,462k 1,464k 1,460k
Winter Fuel Payment 7,842k 7,793k 7,494k 7,407k 7,432k 7,459k 7,477k
Pension Age Winter Heating Payment (Scotland) 803k 803k 803k 800k 803k 806k 808k
Universal Credit 6,334k 6,341k 6,366k 6,347k 6,345k 6,333k 6,298k
Housing Benefit 1,249k 1,247k 1,250k 1,234k 1,238k 1,240k 1,239k
Council Tax Reduction 3,175k 3,198k 3,209k 3,229k 3,244k 3,257k 3,264k
Employment and Support Allowance (income-related) 71k 71k 71k 71k 71k 72k 72k
Employment and Support Allowance (contribution-based) 719k 721k 723k 726k 728k 731k 732k
Jobseeker's Allowance (income-based) 0k 0k 0k 0k 0k 0k 0k
Jobseeker's Allowance (contribution-based) 67k 67k 67k 68k 68k 68k 68k
Income Support 25k 0k 0k 0k 0k 0k 0k
Working Tax Credit 0k 0k 0k 0k 0k 0k 0k
Child Tax Credit 0k 0k 0k 0k 0k 0k 0k
Incapacity Benefit 0k 0k 0k 0k 0k 0k 0k
Personal Independence Payment 3,566k 3,579k 3,589k 3,601k 3,613k 3,626k 3,635k
Disability Living Allowance 1,291k 1,295k 1,299k 1,303k 1,308k 1,312k 1,316k
Attendance Allowance 1,694k 1,700k 1,705k 1,711k 1,716k 1,723k 1,727k
Carer's Allowance 1,034k 1,038k 1,041k 1,044k 1,048k 1,051k 1,053k
Carer Support Payment (Scotland) 71k 71k 72k 72k 72k 72k 73k
Carer's Allowance Supplement (Scotland) 0k 71k 72k 72k 72k 72k 73k
Severe Disablement Allowance 4k 4k 4k 4k 4k 4k 4k
Industrial Injuries Disablement Benefit 137k 137k 138k 138k 139k 139k 140k
Armed Forces Compensation Scheme 93k 93k 94k 94k 94k 95k 95k
War Widow's or Widower's Pension 0k 0k 0k 0k 0k 0k 0k
Child Benefit 8,102k 8,128k 8,142k 8,165k 8,191k 8,216k 8,232k
Scottish Child Payment 350k 352k 353k 357k 354k 355k 342k
Two Child Limit Payment (Scotland, counterfactual) 0k 0k 0k 0k 0k 0k 0k
Healthy Start vouchers 199k 200k 201k 201k 202k 203k 203k
Maternity Allowance 0k 0k 0k 0k 0k 0k 0k
Statutory Maternity Pay 332k 334k 335k 336k 337k 338k 339k
Statutory Paternity Pay 0k 0k 0k 0k 0k 0k 0k
Statutory Sick Pay 181k 182k 182k 183k 183k 184k 185k
Sure Start Maternity Grant 26k 26k 26k 26k 26k 27k 27k
Bereavement Support Payment 98k 98k 98k 99k 99k 99k 100k
Widowed Parent's Allowance 0k 0k 0k 0k 0k 0k 0k
Tax-Free Childcare 1,014k 1,024k 1,024k 1,027k 1,027k 1,031k 1,013k
Extended childcare entitlement 796k 801k 806k 809k 815k 819k 820k
Universal childcare entitlement 1,071k 1,074k 1,077k 1,080k 1,086k 1,096k 1,097k
Targeted childcare entitlement 165k 156k 154k 155k 155k 156k 144k
Childcare Offer for Wales 39k 39k 39k 39k 39k 39k 39k
Care to Learn 0k 0k 0k 0k 0k 0k 0k
Childcare Grant 0k 0k 0k 0k 0k 0k 0k
Parents' Learning Allowance 98k 98k 99k 99k 99k 100k 100k
Adult Dependants' Grant 18k 18k 12k 12k 12k 13k 13k
Travel Grant 0k 0k 0k 0k 0k 0k 0k
Disabled Students' Allowance suppressed suppressed suppressed suppressed suppressed suppressed suppressed
16 to 19 Bursary Fund 0k 0k 0k 0k 0k 0k 0k
Cost-of-living support payment 0k 0k 0k 0k 0k 0k 0k
Energy Bills Rebate 0k 0k 0k 0k 0k 0k 0k
Energy Price Guarantee subsidy 0k 0k 0k 0k 0k 0k 0k
Basic income 0k 0k 0k 0k 0k 0k 0k
Disability basic income 0k 0k 0k 0k 0k 0k 0k
Government balance, each component counted once: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Government receipts, each component once £898.82bn £941.86bn £980.11bn £1,013.84bn £1,052.89bn £1,089.01bn £1,129.10bn
Government spending £528.96bn † £543.83bn † £551.68bn † £558.06bn † £566.57bn † £575.31bn † £583.37bn †
Government balance, each receipt once £369.86bn † £398.03bn † £428.43bn † £455.78bn † £486.32bn † £513.70bn † £545.72bn †
Benefits in household_benefits but not in gov_spending £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn £0.00bn
Model totals: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
gov_tax £898.82bn £941.86bn £980.11bn £1,013.84bn £1,052.89bn £1,089.01bn £1,129.10bn
household_tax £496.91bn £527.60bn £554.51bn £577.74bn £603.32bn £627.65bn £654.69bn
pre_budget_change_household_tax £489.00bn £519.39bn £546.08bn £568.63bn £593.98bn £618.05bn £644.75bn
gov_spending £528.96bn † £543.83bn † £551.68bn † £558.06bn † £566.57bn † £575.31bn † £583.37bn †
household_benefits £528.96bn † £543.83bn † £551.68bn † £558.06bn † £566.57bn † £575.31bn † £583.37bn †
gov_balance £369.86bn † £398.03bn † £428.43bn † £455.78bn † £486.32bn † £513.70bn † £545.72bn †
Household income totals: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Household market income £1,651.49bn £1,713.03bn £1,764.05bn £1,812.97bn £1,862.19bn £1,918.39bn £1,985.28bn
Household net income £1,644.43bn † £1,688.69bn † £1,719.55bn † £1,750.61bn † £1,781.67bn † £1,821.07bn † £1,867.39bn †
Household net income (HBAI definition) £1,457.30bn £1,504.48bn £1,537.58bn £1,569.36bn £1,602.66bn £1,640.48bn £1,687.04bn
Population: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
People 69,224k 69,466k 69,668k 69,891k 70,128k 70,381k 70,550k
Benefit units 35,100k 35,223k 35,325k 35,438k 35,558k 35,686k 35,772k
Households 31,037k 31,145k 31,236k 31,336k 31,442k 31,555k 31,631k
Poverty rates: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Absolute poverty, before housing costs: everyone 16.0% 15.1% 15.4% 15.5% 15.6% 15.7% 15.7%
Absolute poverty, before housing costs: children 24.0% 21.1% 21.4% 21.3% 21.5% 21.8% 21.8%
Absolute poverty, before housing costs: working-age adults 13.8% 13.5% 13.9% 14.1% 14.1% 14.2% 14.2%
Absolute poverty, before housing costs: pensioners 13.7% 13.2% 13.1% 13.4% 13.5% 13.5% 13.5%
Absolute poverty, after housing costs: everyone 21.4% 20.8% 21.3% 21.5% 21.7% 21.9% 22.2%
Absolute poverty, after housing costs: children 33.0% 30.7% 31.1% 31.1% 31.4% 31.7% 32.3%
Absolute poverty, after housing costs: working-age adults 19.8% 19.6% 20.2% 20.5% 20.7% 20.8% 21.1%
Absolute poverty, after housing costs: pensioners 12.7% 12.4% 12.3% 12.5% 12.8% 12.9% 13.0%
Relative poverty, before housing costs: everyone 17.2% 16.4% 16.5% 16.4% 16.2% 16.3% 16.5%
Relative poverty, before housing costs: children 26.2% 23.5% 23.4% 23.1% 22.7% 22.8% 23.1%
Relative poverty, before housing costs: working-age adults 14.6% 14.4% 14.7% 14.7% 14.6% 14.7% 14.8%
Relative poverty, before housing costs: pensioners 15.0% 14.8% 14.1% 14.1% 14.0% 14.0% 14.2%
Relative poverty, after housing costs: everyone 21.6% 21.0% 21.1% 21.2% 21.3% 21.4% 21.8%
Relative poverty, after housing costs: children 33.3% 31.2% 30.8% 30.7% 31.0% 31.0% 31.5%
Relative poverty, after housing costs: working-age adults 19.9% 19.8% 20.1% 20.3% 20.4% 20.5% 20.7%
Relative poverty, after housing costs: pensioners 12.9% 12.5% 12.1% 11.9% 11.8% 11.9% 12.8%
People in poverty: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Absolute poverty, before housing costs: everyone 11,049k 10,466k 10,736k 10,860k 10,960k 11,054k 11,081k
Absolute poverty, before housing costs: children 3,580k 3,171k 3,211k 3,220k 3,261k 3,305k 3,317k
Absolute poverty, before housing costs: working-age adults 5,845k 5,746k 6,022k 6,123k 6,169k 6,209k 6,219k
Absolute poverty, before housing costs: pensioners 1,625k 1,550k 1,504k 1,517k 1,530k 1,539k 1,545k
Absolute poverty, after housing costs: everyone 14,847k 14,422k 14,808k 14,994k 15,242k 15,402k 15,638k
Absolute poverty, after housing costs: children 4,937k 4,609k 4,671k 4,685k 4,757k 4,814k 4,912k
Absolute poverty, after housing costs: working-age adults 8,406k 8,359k 8,732k 8,898k 9,024k 9,114k 9,240k
Absolute poverty, after housing costs: pensioners 1,504k 1,454k 1,404k 1,411k 1,460k 1,475k 1,486k
Relative poverty, before housing costs: everyone 11,896k 11,403k 11,468k 11,487k 11,391k 11,468k 11,652k
Relative poverty, before housing costs: children 3,918k 3,523k 3,519k 3,491k 3,435k 3,458k 3,516k
Relative poverty, before housing costs: working-age adults 6,202k 6,136k 6,338k 6,400k 6,368k 6,415k 6,515k
Relative poverty, before housing costs: pensioners 1,776k 1,744k 1,611k 1,597k 1,588k 1,595k 1,621k
Relative poverty, after housing costs: everyone 14,957k 14,597k 14,698k 14,825k 14,951k 15,042k 15,351k
Relative poverty, after housing costs: children 4,976k 4,677k 4,630k 4,634k 4,690k 4,712k 4,794k
Relative poverty, after housing costs: working-age adults 8,443k 8,455k 8,680k 8,847k 8,916k 8,977k 9,092k
Relative poverty, after housing costs: pensioners 1,537k 1,465k 1,388k 1,344k 1,346k 1,354k 1,464k
Inequality: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Gini coefficient, equivalised HBAI income before housing costs 0.3085 0.3059 0.3065 0.3071 0.3075 0.3081 0.3094
Mean household net income in each side's own deciles: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Decile 1: mean household_net_income per household £17,781 † £17,906 † £17,832 † £17,905 † £18,142 † £18,339 † £18,482 †
Decile 2: mean household_net_income per household £27,963 † £28,917 † £28,654 † £28,906 † £29,096 † £29,646 † £30,235 †
Decile 3: mean household_net_income per household £34,381 † £35,463 † £36,065 † £36,509 † £36,851 † £37,338 † £38,043 †
Decile 4: mean household_net_income per household £38,785 † £40,713 † £41,873 † £42,413 † £43,144 † £43,906 † £44,167 †
Decile 5: mean household_net_income per household £43,788 † £44,626 † £45,606 † £46,288 † £47,327 † £48,285 † £49,710 †
Decile 6: mean household_net_income per household £48,210 † £49,525 † £50,736 † £51,914 † £52,203 † £53,174 † £54,203 †
Decile 7: mean household_net_income per household £56,219 † £57,224 † £57,764 † £58,010 † £59,040 † £60,061 † £61,765 †
Decile 8: mean household_net_income per household £69,150 † £70,533 † £71,800 † £73,075 † £74,092 † £75,540 † £77,427 †
Decile 9: mean household_net_income per household £79,490 † £81,421 † £82,828 † £84,135 † £85,539 † £87,053 † £89,944 †
Decile 10: mean household_net_income per household £117,581 † £120,296 † £121,933 † £124,163 † £126,045 † £128,342 † £131,110 †
Standard reform costings (change in gov_balance): head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Raise basic rate by 1pp £6.47bn £6.76bn £6.67bn £6.86bn £7.06bn £7.35bn £7.55bn
Raise higher rate by 1pp £3.69bn £3.98bn £4.03bn £4.29bn £4.46bn £4.78bn £4.91bn
Raise personal allowance by ~800GBP/year £-3.82bn £-3.94bn £-4.01bn £-4.09bn £-4.18bn £-4.18bn £-2.00bn
Raise child benefit by 25GBP/week per additional child £-1.99bn £-1.75bn £-1.56bn £-1.46bn £-1.35bn £-1.23bn £-1.12bn
Reduce Universal Credit taper rate to 20% £-20.39bn £-20.96bn £-21.38bn £-21.61bn £-21.87bn £-22.17bn £-22.60bn
Raise Class 1 main employee NICs rate to 10% £11.02bn £11.42bn £11.77bn £12.07bn £12.37bn £12.75bn £13.07bn
Raise VAT standard rate by 2pp £24.89bn £25.55bn £26.14bn £26.75bn £27.39bn £28.03bn £28.66bn
Raise additional rate by 3pp £2.96bn £3.21bn £3.26bn £3.46bn £3.65bn suppressed suppressed
Raise the Universal Credit standard allowance by 10% £-3.05bn £-3.18bn £-3.30bn £-3.34bn £-3.38bn £-3.42bn £-3.48bn
Raise the State Pension by 10% £-7.79bn £-8.02bn £-8.01bn £-8.12bn £-8.43bn £-8.54bn £-8.87bn
Standard reforms: change in each reform's target: head levels
Measure (head) 2025-26 2026-27 2027-28 2028-29 2029-30 2030-31 2031-32
Raise basic rate by 1pp: change in income_tax £6.61bn £6.91bn £6.83bn £7.03bn £7.24bn £7.47bn £7.73bn
Raise higher rate by 1pp: change in income_tax £3.69bn £3.99bn £4.04bn £4.25bn £4.47bn £4.74bn £4.93bn
Raise personal allowance by ~800GBP/year: change in income_tax £-3.95bn £-4.08bn £-4.17bn £-4.24bn £-4.34bn £-4.41bn £-1.76bn
Raise child benefit by 25GBP/week per additional child: change in child_benefit £2.33bn £2.14bn £1.95bn £1.84bn £1.73bn £1.62bn £1.50bn
Reduce Universal Credit taper rate to 20%: change in universal_credit £20.39bn £20.95bn £21.37bn £21.62bn £21.87bn £22.22bn £22.61bn
Raise Class 1 main employee NICs rate to 10%: change in national_insurance £11.28bn £11.74bn £12.06bn £12.37bn £12.69bn £13.03bn £13.49bn
Raise VAT standard rate by 2pp: change in vat £24.69bn £25.35bn £25.94bn £26.54bn £27.17bn £27.81bn £28.43bn
Raise additional rate by 3pp: change in income_tax £2.96bn £3.21bn £3.26bn £3.46bn £3.66bn suppressed suppressed
Raise the Universal Credit standard allowance by 10%: change in universal_credit £3.05bn £3.18bn £3.29bn £3.36bn £3.43bn £3.48bn £3.52bn
Raise the State Pension by 10%: change in state_pension £10.68bn £11.18bn £11.31bn £11.55bn £12.00bn £12.44bn £12.94bn

MaxGhenis added a commit that referenced this pull request Oct 27, 2026
gov.hmrc.minimum_wage.non_apprentice and .apprentice ended at April 2026
with no projection, so every rule that reads them froze: the UC benefit cap
earnings exception, the minimum income floor, ESA permitted work, the
childcare earnings tests and, from #2699, the Carer's Allowance earnings
limit.

Uprate each bracket amount (not the age thresholds) and the apprentice rate
by gov.economic_assumptions.indices.earnings_uprating, the May-July AWE
growth of the year before, never negative, rounded to the nearest penny.
May-July 2026 growth was 3.9%, so April 2027 is £12.71 x 1.039 = £13.21.
Rates set later take precedence and the projection continues from them.

The bracket amounts move under `values:` to carry the uprating metadata, so
most of the non_apprentice.yaml diff is indentation (git diff -w).

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

@juaristi22 juaristi22 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Review status: COMPLETE
Review severity: APPROVE
Confirmed critical findings: 0

Incremental follow-up at 6a2f6848a5c70af5cf20075a711fe998c2bc1411, covering the five changed files since my review of 7217486087de8252a63133723f0d00daf57c61a6 and the prior execution gap.

The independent code and policy reviews found no blocking issue. The helper now applies each year’s hours × NLW rule directly, so a lower wage or hours reform can lower that projected year without carrying a previous-year floor forward. The new tests cover bounded reforms, recovery to the baseline, the last adult wage band, statutory-year precedence and baseline isolation. The processed Scenario.apply and day/month override limitations are documented consistently with the existing routing.

The 2025 uprating memorandum, physical page 2, §5.6 supports the future-years 16 × NLW policy, rounded upwards to a whole pound; the 2026 memorandum, physical page 2, §5.3 corroborates £196 → £204. Stated amounts remain distinct from the model’s future projection. Six cached primary originals and their text extracts were revalidated; no new source acquisition was needed.

The earlier execution gap is resolved by this head’s associated PR-source CI: YAML, all six Python shards and Test / Result passed, with the Result coverage audit and the later Fix evidence check also passing. Raw metadata retains 19 successful checks and one earlier cancelled Fix evidence check beside its later success; I am not claiming every historical row succeeded or inferring an attempt/cancellation cause. Local UK tests remain NOT RUN. This evidence is for the head-associated PR source workflow; the generated merge commit was not acquired, and it does not certify standalone-head, wheel, private population or performance results. #2700’s different head and CI are separate.

S1 — optional wording precision: in create_earnings_limit_projection.py, lines 14–15, the sentence saying the projected limit stays at least £204 while NLW remains at least its April 2026 rate also needs “and hours remain at least 16”, or a baseline qualifier. The same paragraph now discusses lower-hours reforms: 12 × £12.71 rounds up to £153. The test module’s invariant 4 already includes both conditions. This is a documentation nit; no wrong modeled output was demonstrated.

Uprating holds £14.45 as 14.450000000000001; exact arithmetic on that
float makes 20 hours £290 rather than the model's (correct) £289. Also
qualify the £204 floor on the hours, as the test's invariant 4 does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis added a commit that referenced this pull request Oct 28, 2026
gov.hmrc.minimum_wage.non_apprentice and .apprentice ended at April 2026
with no projection, so every rule that reads them froze: the UC benefit cap
earnings exception, the minimum income floor, ESA permitted work, the
childcare earnings tests and, from #2699, the Carer's Allowance earnings
limit.

Uprate each bracket amount (not the age thresholds) and the apprentice rate
by gov.economic_assumptions.indices.earnings_uprating, the May-July AWE
growth of the year before, never negative, rounded to the nearest penny.
May-July 2026 growth was 3.9%, so April 2027 is £12.71 x 1.039 = £13.21.
Rates set later take precedence and the projection continues from them.

The bracket amounts move under `values:` to carry the uprating metadata, so
most of the non_apprentice.yaml diff is indentation (git diff -w).

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

Copy link
Copy Markdown
Collaborator Author

Thanks. I've taken S1 in 3c19621: the sentence now reads "While the national living wage stays at or above its April 2026 rate and the hours at or above 16, no projected year is below £204."

The same commit has one test-only fix that #2700's CI caught. The tests' exact-arithmetic _rule now works on the wage rounded to whole pence. Uprating holds £14.45 as 14.450000000000001, and exact arithmetic on that float at 20 hours gave £290; the model's £289 is right. The model code is unchanged.

@MaxGhenis
MaxGhenis marked this pull request as ready for review October 28, 2026 05:23
@MaxGhenis
MaxGhenis added this pull request to the merge queue Oct 28, 2026
Merged via the queue into main with commit 0ecdfb7 Oct 28, 2026
23 checks passed
@MaxGhenis
MaxGhenis deleted the ca-earnings-limit-nlw-projection branch October 28, 2026 07:52
MaxGhenis added a commit that referenced this pull request Oct 28, 2026
Resolves the tax_benefit_system.py conflict with #2699's Carer's Allowance
earnings-limit projection. This branch moves the Savings Credit threshold and
pension-age Housing Benefit allowance projections into GENERATION_STEPS, so
they no longer run after uprating; main's
project_carers_allowance_earnings_limit stays after uprating, for the tree
and its baseline copy, as on main. The process_parameter_tree docstring now
lists only that projection after uprating.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis added a commit that referenced this pull request Oct 28, 2026
…tion

#2699's Carer's Allowance earnings-limit projection imports
extend_after_last_stated from the Savings Credit threshold module. This branch
rewrote that module and dropped the helper, so the merged tree failed to
import. The helper now lives, unchanged from main, in the Carer's Allowance
module, its only remaining user; last_projected_year is still imported from
the Savings Credit module, whose definition is unchanged.

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.

2 participants