Skip to content

Autumn Budget 2026 savings income tax explainer - #1466

Draft
hua7450 wants to merge 5 commits into
mainfrom
docs/uk-budget-2026-savings-income-tax
Draft

hua7450 wants to merge 5 commits into
mainfrom
docs/uk-budget-2026-savings-income-tax

Conversation

@hua7450

@hua7450 hua7450 commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

The Budget announces a further two-percentage-point increase in savings income tax rates, from 22/42/47% to 24/44/49% from 6 April 2027, to be legislated in Finance Bill 2026–27. This draft explains the Personal Savings Allowance, starting rate, ISA exemption and income ordering with verified £0, £20 and £30 household examples.

Keep this PR draft until the savings measure is included in the released dashboard and its data review is complete. It contains no PolicyEngine national revenue, affected-person or distributional estimates. Set the publication date when the article is released.

The government's costing is sourced to the OBR's detailed policy table, Table 1.1, measure 62. The article distinguishes its income tax and “Onshore CT” (Corporation Tax) lines from the independently rounded Budget Table 6.1 total. It explains collection timing and ISA responses without referring readers to an unpublished dashboard comparison or an unexplained national revenue gap.

The methodology now describes the shared savings/property reform accurately: the savers have no property income, and the mixed-income example reports the change in tax on interest alone. It explains why the mixed household's total income gives it a £500 Personal Savings Allowance. Household amounts, chart data, markers and the existing cover image are unchanged.

The branch includes the merged property #1460 and trading #1463 posts, preserves Max's direct costing/active-voice edits, and links to both published article paths. The dashboard wording does not imply that savings is already available. The supporting README is a calculation/source record, and the cover provenance now points to the retained property illustration. All main-branch post entries are preserved; the diff against main remains the five savings-specific files.

Validation: Node 26.12.1; make format, make lint, make typecheck and make test pass (6,042 app tests and 529 website tests; 10 existing skips). After integrating trading's article/metadata, the final post-metadata and chart-parser checks pass all 18 tests. JSON formatting, chart/table equality, cover checksums and metadata preservation checks pass. No population calculations or new household calculations were run. CI is not being monitored.

Shared household calculations and provenance.

@vercel

vercel Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
policyengine-calculator-next Ready Ready Preview Oct 28, 2026 9:31pm UTC
policyengine-website Ready Ready Preview Oct 28, 2026 9:31pm UTC

Request Review

@DTrim99

DTrim99 commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

Savings income tax rates

Checked at 41209e84. Line numbers below are in app/src/data/posts/articles/uk-autumn-budget-2026-savings-income-tax.md. References to generate_households.py and the shared README are to #1460's branch at be65300f, which holds the analysis files this post links.

Fix 1 is the point Max raised for the property post in his #1460 review (point 3), applied to this post.

Verdict: the rule, the Treasury figures, the chart and every household number match the Budget documents and a savings-only rerun on the pinned model. Three things need fixing before this comes out of draft:

Fix before publishing

  1. The methodology says each example applies only the savings change (lines 324 and 349).

    • Line 349: "Each savings comparison applies only the announced savings rate change against the already scheduled 2027–28 rules."
    • Line 324: "This example holds property tax rates unchanged to isolate savings."
    • The shared generator doesn't work this way:
      • SAVINGS_PROPERTY (generate_households.py lines 36 to 40) raises the savings and property rates together.
      • Every savings case and both savings curves use it (lines 234 and 260).
      • Autumn Budget 2026 property income tax explainer #1460's README line 3 says so: "it is not a separate property-only reform".
    • The figures are still right:
      • The savers have no property income, so only the savings change reaches them.
      • In the mixed example, property income is taxed before savings, so the property rise doesn't move any interest between bands. The £30 is the change in tax on the interest (£630 to £660); the combined run's total change is £150.
      • A savings-only rerun on the pinned model gives £0, £20, £30 and £30.
    • Either say so, as Autumn Budget 2026 property income tax explainer #1460 now does in its line 77, or add a savings-only reform and regenerate (the outputs should come out identical). If you keep the shared reform:
      • Line 349: "The shared generator raises the savings and property rates together. The savers have no property income, so only the savings change affects them. In the mixed-income example, property income is taxed before savings, so the property change doesn't move any interest between bands. The £30 is the change in tax on the interest, and a savings-only calculation gives the same figure."
      • Line 324, last sentence: "The £30 is the change in tax on the interest alone."
  2. The Treasury section compares against estimates the post doesn't show (lines 10, 334, 336, 338 and 345).

    • The post has no PolicyEngine national figures, but it still says:
      • "PolicyEngine's national estimates hold those choices fixed" (334);
      • "PolicyEngine scores each tax year's liabilities in that year" (336);
      • "The dashboard comparison marks 2027–28 and 2028–29 as not comparable on this timing basis" (338);
      • "Timing alone does not reconcile the later savings revenue gap" (338);
      • "These household calculations do not … resolve the national revenue comparison" (345).
    • Readers never see the gap that line 338 says timing doesn't reconcile.
    • The dashboard doesn't carry savings yet. Max on Autumn Budget 2026 property income tax explainer #1460 (17:50 UTC): "The dashboard release tonight has 7 measures and leaves out the savings rates rise". So line 338 describes a dashboard comparison that doesn't exist yet, and line 10's "remain under review" will be out of date once savings is added.
    • There are two ways to fix it once savings is on the dashboard; the choice is yours:
      • (a) Show the dashboard's figures.
      • (b) Keep the post Treasury-only and point to the dashboard. For lines 334 to 338, something like:
        • "The Treasury policy costings, page 75 allow for savers moving money into tax-advantaged products such as ISAs."
        • Keep the HMRC and ONS timing sentences in line 336, then: "This can produce a small first-year receipts effect followed by a catch-up. The costing notes don't explain the £15 million in 2026–27, before the new rates take effect. The dashboard carries PolicyEngine's estimates for this measure. They hold savers' choices fixed and score each tax year's liabilities in that year."
        • Line 345 can then stop after "do not validate the population dataset", and line 10 can drop its second sentence.
    • Either way, re-check lines 10 and 338 against the released dashboard before merging.
  3. The cross-links return 404 until Autumn Budget 2026 property income tax explainer #1460 and Autumn Budget 2026 trading allowance explainer #1463 merge (lines 10 and 351).

Consider

  1. Say why the mixed example's allowance is £500 (line 324).

    • The heading says "Other income affects the tax on interest", and line 322 shows the property income entering the higher band. But line 324 states the £500 allowance without the reason.
    • The property income takes total income to £53,000, above the £50,270 higher-rate threshold. That halves the Personal Savings Allowance to £500 and puts all the interest in the higher band.
    • Without the property income, the same saver (£45,000 salary, £2,000 interest) pays £20 more, not £30 (pinned model, savings only).
    • Suggested line 324: "The property income takes their total income to £53,000, above the £50,270 higher-rate threshold, so their Personal Savings Allowance is £500 rather than £1,000. The remaining £1,500 of interest faces the higher savings rate: £1,500 × 42% = £630 before, against £1,500 × 44% = £660 after. The savings measure therefore increases their tax by £30 a year. Without the property income, the increase would be £20."
  2. Benefit interactions (line 24).

    • Line 24 shows income tax only, which is fine here. If you add a line: UC's unearned income list (UC Regulations 2013 reg. 66(1)) leaves out interest, and actual "rental, interest or dividends" are treated as capital (reg. 72(3)), so UC doesn't change.
    • For the dashboard team, before savings goes on:
      • The model raises pension-age Housing Benefit when tax on interest rises. It does this even though it doesn't count the interest as income: Housing Benefit income includes property income after finance costs but not interest, while the deduction is the whole income tax bill.
      • Example: a 72-year-old renting privately in London at £14,000 a year, with £11,000 State Pension, £7,000 private pension and £4,000 of interest. They pay £60 more tax and get £39 more Housing Benefit.
      • The example enters no capital. In practice, savings that produce £4,000 of interest would usually exceed the £16,000 capital limit. I haven't checked the Housing Benefit regulations on this.
  3. Announced, not yet law (line 1).

    • ¶6.247 ends "This will be legislated for in Finance Bill 2026-27 and take effect from 6 April 2027."
    • Unlike the property post (its line 71), this post never says the change still needs legislation. Adding "to be legislated in Finance Bill 2026–27" at line 1 would match the Budget's wording.
  4. Small wording.

    • Line 60 (chart source) says "synthetic adults"; lines 30 and 342 say "hypothetical". Pick one.
    • Line 26: in "Savers pay the higher rates on interest above their allowances", "higher rates" can read as the higher-rate band. Perhaps "Savers pay the new rates only on interest above their allowances".
    • Line 345: "disclosure checks" is an internal term (it goes if you take Fix 2(b)).
    • Line 349: "Both household scenarios use the OBR's October 2026 forecast update at dashboard commit 64042657." It means the baseline and the reform. Perhaps "The baseline and reform calculations both use the OBR's October 2026 forecast update, as the dashboard does". The commit is already in provenance.json.
  5. Metadata and records.

    • posts.json dates the post "2026-10-28 14:00:00". If it waits for the next data release, update the date when it merges.
    • analysis/uk-budget-2026-savings-income-tax/README.md is written as a PR description ("This PR separates…", "It remains a draft until…"), so it will read oddly on main. Reword it as a record, or keep that text in the PR description.
    • cover-provenance.json gives original_path as the combined cover, which Autumn Budget 2026 property income tax explainer #1460 has removed. The image is byte-identical to Autumn Budget 2026 property income tax explainer #1460's property cover (SHA-256 fcaa9776…), so pointing there would keep the record resolvable.

Checked and matching

  • Rate, start date and geography (line 1): ¶6.247 (PDF p. 142): "The savings basic rate will be 24%, the savings higher rate will be 44%, and the savings additional rate will be 49%. These rates will apply across the UK … take effect from 6 April 2027."
  • Dividends unchanged (line 14): ¶6.246 and ¶6.247 cover only property and savings, and Table 6.1 has no dividend-rate row.
  • Baseline and ordering (lines 14 and 320), from the Budget 2025 technical note:
    • savings rates of 22%, 42% and 47% "for 2027 to 2028";
    • the order "income which is not property, savings or dividend income / property income / savings income / dividend income";
    • allowances "set against income which is not property, savings or dividend income first".
  • Allowances (line 28):
    • HMRC's savings guidance gives the £5,000 starting rate and the Personal Savings Allowance of £1,000, £500 and £0.
    • The technical note says "the starting rate for savings and personal savings allowance remain unchanged".
  • Treasury figures (lines 8 and 330 to 332): row 62 of Table 6.1 is 15, 125, 555, 520, 555 and 590, in both the spreadsheet and costing p. 75.
  • Behaviour (line 334): costing p. 75: "some individuals shift their savings into tax-advantaged products such as Individual Savings Accounts (ISAs)". The link goes to page 75.
  • The £15 million in 2026–27 (line 338): costing p. 75 gives no reason for it.
  • Timing sources (line 336):
    • HMRC: "Each payment is usually half of the tax you owed the previous year."
    • ONS section 6.1.2: "unaltered cash data are used instead, for example, for self-assessed income taxes".
    • The 2027–28 balancing payment and the first 2028–29 payment on account are both due on 31 January 2029.
  • Households: I reran every case with a savings-only reform on policyengine 6.11.1 / UK 2.151.0, with the October forecast overlay.
    • Savers (lines 34 to 38): £0; £220 to £240, or +£20; £630 to £660, or +£30.
    • Mixed example (lines 322 and 324): the band arithmetic (£32,430 of taxable salary, £5,270 of basic-rate band left) is right. Income tax is £8,582 before, the allowance is £500, and the savings change adds £30.
    • Without the property income, the same saver pays £20 more.
  • Chart:
    • The block is identical to savings-interest-chart.json at be65300f.
    • All 46 points equal 2% of the interest above the £1,000 or £500 allowance.
    • The markers sit at £500 and £1,000, and line 40's "each additional £500 of interest above the allowance adds £10" holds across the range.
  • Metadata:
    • The title and description are savings only.
    • Against main, posts.json adds only this entry. The other two differences are main's later cover-path changes for the fuel duty and triple lock posts, which a merge keeps.
    • The cover matches the SHA-256 in cover-provenance.json.
  • Population: the post has no PolicyEngine national, decile, poverty or inequality figures.
  • Voice: headings are in sentence case, with no superlatives or prescriptions.
  • Disclosure: the post uses hypothetical people only and no microdata.
  • Links: all of these return 200:
  • CI: all 10 checks pass at 41209e84.

Not checked

  • The rendered page: the Vercel preview redirects to a Vercel login.
  • The dashboard's savings measure: it isn't on the dashboard yet, so lines 10 and 338 need checking against it when it is (Fix 2).
  • The Housing Benefit regulations behind the model's treatment of tax on interest (Consider 2).
  • A Scottish saver whose other income is taxed at Scottish rates (line 344): the records include one at £60,000 (+£30), but I didn't check how the allowance bands work for Scottish taxpayers.

The savings draft cited the Budget's Table 6.1 total as the Treasury's
forecast. The primary source is the government's costing, certified by the
OBR, in the OBR's detailed policy table (Table 1.1, measure 62), which has an
income tax line and an Onshore CT line. Show both lines, with the Table 6.1
total for context, and explain the 2026-27 figure from the table: it is all
Onshore CT. Add the OBR's estimate of the ISA response (EFO paragraph 3.17).

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

Copy link
Copy Markdown
Contributor

Savings draft: costing now cites the OBR's policy table (e40b322f)

@hua7450 I pushed one commit here, e40b322f. Max asked that we always cite primary sources. The Budget's Table 6.1 is a rounded total, while the government's costing, certified by the OBR, is set out line by line in the OBR's detailed policy table. #1460 got the same change in 2afba859.

What changed

  • Key figure (line 8): now gives the OBR income tax line, £63 million in 2027–28 rising to £510 million in 2031–32. Table 6.1's £125 million and £590 million follow as the total, which also includes the "Onshore CT" line.

  • Heading: "Treasury costing" is now "The government's costing".

  • Costing table: now shows the OBR's two lines (Table 1.1, measure 62, in efo-october-2026-detailed-forecast-tables-policy.xlsx, sheet 1.1, rows 304 to 306), with Table 6.1's total for context:

    £ million 2026–27 2027–28 2028–29 2029–30 2030–31 2031–32
    Income tax 0 63 483 443 475 510
    Onshore CT 13 63 74 78 80 81
    Table 6.1 total 15 125 555 520 555 590
  • 2026–27: the old text said the costing notes don't explain the £15 million. The table does: all of it is on the Onshore CT line, and the income tax line is zero, like the model.

  • ISAs: added the OBR's estimate that savers moving money into ISAs costs around £0.2 billion a year (EFO paragraph 3.17).

  • README line 3: now records the source lines and the file's SHA-256.

No PolicyEngine national figures were added, and the household examples are unchanged. It's still a draft and off the release. Change any of the wording as you see fit.

🤖 Generated with Claude Code

Wording only, from tonight's voice sweep; no figures, tables or
citations change.

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

Copy link
Copy Markdown
Contributor

@hua7450 I pushed 504edbd8: ten active-voice rewordings from tonight's sweep, under Max's rule that all written material uses active voice. For example, "Tax calculations are checked against independent arithmetic." becomes "We check tax calculations against independent arithmetic."

No figures, tables, links or citations change, and "The government's costing, certified by the OBR" stays as it is. The live property post gets the same changes in #1478. Change any of the wording as you see fit.

🤖 Generated with Claude Code

@PavelMakarchuk

Copy link
Copy Markdown
Contributor

Review of the savings income tax explainer (#1466) at head 7b85c389, 28 October 2026, about 20:30 EDT.

Line numbers are in app/src/data/posts/articles/uk-autumn-budget-2026-savings-income-tax.md at 7b85c389. This review follows DTrim99's review at 41209e84. That review's three fixes are in: the methodology now says that the generator raises both rates, the Treasury section no longer refers to a dashboard gap, and the property and trading posts are now on main.

Verdict: the rules, every household figure, the chart and the official figures are correct. Two things block merging: an in-page link that goes nowhere and a merge conflict.

Must fix

  1. The link to the costing section does not work (line 12).
    • Line 12 links #the-governments-costing.
    • The renderer builds the h2 id with String(children).replace(/[/,]/g, "").trim().replace(/\s+/g, "-").toLowerCase() (website/src/components/blog/MarkdownFormatter.tsx, lines 707–710 on main). It keeps the apostrophe.
    • The id of "## The government's costing" (line 330) is therefore the-government's-costing. I ran the same expression in Node to confirm it. No element has the id that the link names, so a click does not scroll.
    • Fix: link #the-government's-costing, or rename the heading (for example "## Official costing") and link #official-costing.
  2. The branch conflicts with main. GitHub shows mergeable: CONFLICTING. git merge-tree origin/main 7b85c389 reports one conflict, in app/src/data/posts/posts.json. Main has added posts at the top of the file since the branch point. Merge main and keep both sets of entries.

Should fix

  1. The mixed example gives the wrong source for the £53,000 (line 328).
    • "The property income takes their total income to £53,000" is not correct. Salary and property give £51,000. The £2,000 of interest gives the other £2,000.
    • The property income is what takes the saver past the threshold: £45,000 + £6,000 = £51,000, which is more than £50,270.
    • Suggested: "With the property income, their total income is £53,000 (£45,000 + £6,000 + £2,000), above the £50,270 higher-rate threshold. Their Personal Savings Allowance is therefore £500."
  2. The post does not say that the cash ISA limit stays at £20,000.
    • The Budget 2025 technical note set the annual cash ISA limit at £12,000 from 6 April 2027. Savers over 65 kept £20,000.
    • Budget 2026 paragraph 6.248 (PDF p. 142) keeps it at £20,000. This is Table 6.1 and OBR measure 11, −£4 million in 2027–28 and −£72 million in 2031–32.
    • Lines 1, 32 and 340 depend on ISAs: the exemption, and the OBR's £0.2 billion a year ISA response. One sentence near line 32 gives readers the full ISA rule for 2027–28.
  3. The post does not match the briefing on our own estimate (line 14).
    • Briefing Autumn Budget 2026: post-Budget written briefing #1469 at b87ba4b8 says at line 32 that "our own estimate follows with a data update". It says the same at line 218, and line 225 says that the calculator already includes the measure.
    • Line 14 here says only that the dashboard "is where we publish estimates for the Budget measures we model". The live manifest (revision 17) has seven measures and no savings measure, so a reader who follows the link finds no savings figures.
    • Suggested, after the first sentence of line 14: "Our national estimate for this measure will follow once we have updated the savings income in our data."
  4. Publication date (posts.json). The entry is still dated 2026-10-28 14:00:00. The PR description says that the date gets set at release. Do this when the post leaves draft.

Nice to have

  1. Explain or flag the "Onshore CT" line (lines 10, 337 and 344). A personal savings rate rise has a Corporation Tax line, and £13 million of it falls in 2026–27, before the new rates start. Neither the costing note (p. 75) nor EFO paragraph 3.17 gives a reason. One clause, "the OBR does not explain this line", would answer the obvious reader question.
  2. Two descriptors on line 332 lack a source.
    • "Rounded to the nearest £5 million" matches all six values (13→15, 126→125, 557→555, 521→520, 555→555, 591→590). But the notes to Table 6.1 do not say it.
    • "On a National Accounts basis" comes from the costings document introduction ("All costings are presented on a National Accounts basis"), not from Table 6.1.
    • Cite the costings document for both, or write "multiples of £5 million".
  3. The costing link shows the total, not £63 million (line 340). Page 75 of the costings document gives only the "Exchequer impact" of +£125m in 2027–28 and +£590m in 2031–32. A reader who opens it after line 10 sees £125m. The words "the costing's total" next to the link would prevent confusion.
  4. Lines 3–5. "Key figures:" comes before a sentence and not before the list. Put "The household examples use 2027–28." after the list, or join it to the first bullet.
  5. Scotland (line 350). On UK 2.151.0, the £60,000 saver with £2,000 of interest in Scotland also pays £630 before and £660 after (+£30). The generator already has this case as saver_scotland_higher. One sentence can replace the open caveat for that case.
  6. The mixed example's property change (line 328). Under the companion property measure, the same person's property tax goes from £1,466 to £1,586 (+£120). The total change is £150. The methodology says that the post reports interest only. A short pointer to the property post would stop readers who add the two posts together from counting the £30 twice.
  7. Line 10, "rising to £510 million". The OBR line goes 63, 483, 443, 475, 510, so the line peaks first. "£483 million in 2028–29 and £510 million in 2031–32" would be more exact.

Verified as correct

  • Rule (line 1): Budget ¶6.247 (PDF p. 142) gives savings rates of 24%, 44% and 49%, "across the UK", with legislation "in Finance Bill 2026-27" and effect "from 6 April 2027". Both Budget PDF asset URLs (6ae1ec57… in the post and 6ae20b85… on the current GOV.UK page) return the same file (SHA-256 19b337ac…).

  • Baseline (lines 18–24): the Budget 2025 technical note gives 22%, 42% and 47% "for 2027 to 2028", and says that "the starting rate for savings and personal savings allowance remain unchanged". UK 2.151.0 has the savings rates at 0.22, 0.42 and 0.47 on 6 April 2027 (0.20, 0.40 and 0.45 in 2026). The PSA parameters are £1,000, £500 and £0.

  • Ordering and allowances (line 324): the technical note says that allowances are "set against income which is not property, savings or dividend income first".

  • Household table (lines 36–42), rerun with a savings-only reform on policyengine 6.11.1, UK 2.151.0 and core 3.33.3 (policyengine_uk.Simulation, single adult aged 35, London, 2027). The generator uses the shared savings-and-property reform, so this is an independent check:

    Case PSA Savings tax before After Change
    £30,000 + £500 £1,000 £0 £0 £0
    £30,000 + £2,000 £1,000 £220 £240 +£20
    £60,000 + £2,000 £500 £630 £660 +£30
    £45,000 + £6,000 property + £2,000 £500 £630 £660 +£30 (income tax £8,582 before)
    • By hand: (£2,000 − £1,000) × 2% = £20, and (£2,000 − £500) × 2% = £30.
    • The mixed case: £45,000 − £12,570 = £32,430. That leaves £37,700 − £32,430 = £5,270 of basic-rate band. £730 of the property income is taxed at the higher rate, so the PSA is £500, and £1,500 × 2% = £30.
    • Household benefits are £0 in every case.
  • Chart (lines 46–320): all 46 points from £500 to £5,000 equal 2% × max(0, interest − allowance). The data, series and markers are identical to analysis/uk-budget-2026-income-tax/savings-interest-chart.json on main. Spot checks on the model give £30,000 + £1,100 = +£2, £60,000 + £600 = +£2, £30,000 + £5,000 = +£80 and £60,000 + £5,000 = +£90. Both lines stay in the same band and allowance across the range, so the "£10 per £500" statement on line 44 holds.

  • OBR table 1.1, measure 62 (lines 10 and 336–337): the copy has SHA-256 cdcc2a06…, which matches the savings README. Income tax is 0, 63, 483, 443, 475 and 510. Onshore CT is 13, 63, 74, 78, 80 and 81. The total is 13, 126, 557, 521, 555 and 591.

  • Table 6.1, row 62 (lines 10 and 338): 15, 125, 555, 520, 555 and 590 in the spreadsheet (SHA-256 359958df…). The costing p. 75 gives the same values. The "supporting documents" link on line 332 is the GOV.UK page that has this spreadsheet attached.

  • ISA response (line 340): costing p. 75 says that "some individuals shift their savings into tax-advantaged products such as Individual Savings Accounts (ISAs)". EFO ¶3.17 says that the response "reduces the yield by around £0.2 billion a year".

  • Timing (line 342): the HMRC and ONS pages load. The dates of the 2027–28 balancing payment and the first 2028–29 payment on account (31 January 2029) are correct.

  • Consistency with briefing Autumn Budget 2026: post-Budget written briefing #1469 (b87ba4b8, lines 205–218): the rates, the ISA, PSA and starting-rate statements, and every figure match (the briefing shows the income tax line and the Table 6.1 total, not the Onshore CT line). Neither gives a PolicyEngine national savings figure.

  • Links: every GOV.UK, assets and ONS link returns 200 with the expected content. The property and trading posts that line 14 links are on main. The shared analysis folder on line 358 is on main. The dashboard URL is the canonical path that /uk/budgets/autumn-2026 redirects to.

  • CI: all ten checks pass at 7b85c389.

  • Style: sentence-case headings, active voice, no prescriptions and no superlatives. The post uses only hypothetical people.

Not checked:

  • The rendering at 375 px. The Vercel preview needs a login, and I did not build the site locally. The seven-column table on lines 36–40 is the most likely place for horizontal scroll.
  • The two obr.uk links (lines 332 and 340). They return 403 to scripts. I checked their content against saved, hash-matched copies of table 1.1 and the EFO text.
  • The cover image. DTrim99's review checked its checksum, and the file has not changed since.
  • Whether the dashboard's household calculator already applies the savings rates, as briefing line 225 says.

🤖 Generated with Claude Code

This branch was successfully deployed

2 active deployments
Preview – policyengine-website — 7b85c389 Deployed Oct 28, 2026 by vercel[bot]
Preview – policyengine-calculator-next — 7b85c389 Deployed Oct 28, 2026 by vercel[bot]
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.

4 participants