Repository navigation
Triple Lock post: the Budget's inputs (October forecast, 2.151.0, Microcosm) - #1493
Merged
Merged
Conversation
…rocosm) Every PolicyEngine figure now comes from uk-triple-lock's scenarios-first file at 94d3bb6d (#49): the OBR's October 2026 forecast to 2030 with its March 2026 long-term determinants after (d2124), PolicyEngine UK 2.151.0 and Microcosm UK 2024-25. Scenarios only, as under ruling (a). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
… (Sol r8) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…osing Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…et-figures # Conflicts: # app/src/data/posts/articles/uk-triple-lock-budget-2026.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Read every figure from the binding results file at uk-triple-lock 26fbc89. Only the OBR long-term assumption scenario moves: £10.9bn gross and £836 a year in 2039-40, with its household, decile and poverty figures. Point the file links at that commit, date the update 30 October, and say that the gross-to-net steps do not sum exactly once rounded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The dashboard shows four scenario cards once uk-triple-lock#49 merges, so the post now covers the two earnings scenarios and the three single paths, per Max's ruling on d2212. The top note says the results file feeds the dashboard, the old-name footnote goes, and the methodology dates the long-term row from April 2032. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0b47c87 rebuilds the results file with new wording only; the post's figures all match it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The binding sample holds 160 draws of 159 distinct paths, so "160 paths" overstated the paths by one. "160 draws" states the sample the estimator uses and still matches the dashboard's count. The figures do not move. The rest applies the full voice gate to the post and its description: be-verb comparisons become comparing verbs, reduced passives name their actor, and the description drops a clause about the post itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Name the model where "it" could have meant the withdrawn average, and keep the voice gate's sentence lengths. The figures do not move. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Restore the "no range" point, name the model that failed the test, and fix the pronouns and reduced passives the review listed. The OBR's own row phases in the extra 0.6 points, so the post credits the OBR. The figures do not move. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The registered test uses two sets, and a model must pass on both. The post named only the seven March forecasts, while the dashboard now names both. The second set's 13 forecasts run from June 2010 to March 2022, and the model passed every check on them. No figure moves. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The test keeps one spring forecast a year, so "the 13 OBR forecasts" read as if the OBR made only 13 in that period. No figure moves. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both links move from 0b47c87 to 9d99213. The results and inputs files keep their blobs, so no figure or word changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merged
11 tasks done
Make the government, Parliament and the Work and Pensions Secretary the subjects where they act, and "we" in the replay and scenario set-up. Add what section 150A requires, what the government adds, how the rise reaches law, and that the adjusted Triple Lock needs legislation. Name gross State Pension spending where the rule-as-subject wording said "saves". Tidy a loose "it" and a "So" after a pass. No figure changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cut the claim about which Parliament approves the first adjusted rise, which the election deadline does not establish. Give the replay to "we", in the present tense, because it is our hypothetical run. Move model and method sentences to "we" and "the model", introduce ONS, and keep gross figures as State Pension spending. No figure changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
d2223 approved the wording at 3cbb480, so this PR lands exactly that text. The actor rewrite moves to its own branch, triple-lock-post-actors, for Max's go. Sets the date line to 31 October. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Merged at 12:14Z as 17db3a3 with
The rewrite that names who acts ( |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This updates the live Triple Lock explainer (
uk-triple-lock-budget-2026) from pre-Budget figures to the Budget's inputs, using the final binding results.PolicyEngine/uk-triple-lock#49 merged at 12:08Z on 31 October as merge commit 728c63f, at head 9d99213. Merging it deployed the dashboard, and this PR follows it straight away.
Max approved this wording on 31 October (d2223, "Yes, merge both", which also covers d2228), at 3cbb480. The branch now holds exactly that text plus the date line:
git diff 3cbb480 6fbf051shows one line, "Updated 31 October 2026". A later rewrite that names the actors moved to branchtriple-lock-post-actorsand goes to Max separately. The diff since his earlier go shows every edit he approved.Source
Every PolicyEngine figure comes from uk-triple-lock's final file,
data/results.jsonat 9d99213, on PolicyEngine/uk-triple-lock#49 (sha25622c57248). That file uses:#49's head moved from 0b47c87 to 9d99213 before it merged, which changed the dashboard's label to "160 simulated draws", says a model must pass on both sets of past forecasts and names each set as one forecast a year. None of these moves touches the results file or the replay's inputs. At merge commit 728c63f, both copies of the results file keep blob
614334a1(sha25622c57248) and the inputs keep0cc4a39e, so both links stay pinned to 9d99213, an ancestor of that merge commit, and each returns 200.What changes
From the interim draft, only the OBR long-term assumption scenario moved: 31 figure occurrences, including the pensioner poverty rates (10.6% to 11.4% relative, 6.7% to 7.4% absolute). All central-path, replay and backtest figures held.
Prose changes:
in_relative_poverty_ahc).docs/C2_BINDING.md: "Test B passes every check"). "Every check" means the checks C2 scores, which use April 2022 as the law set it.complete_statutory_originskeeps one spring forecast a year, so the OBR's other forecasts of those years fall outside the set.voice_max.mdgate ran over the post and its description. Be-verb comparisons became comparing verbs, reduced passives name their actor, unclear pronouns name their noun, and the description drops "We explain how". The OBR's row phases in the extra 0.6 points, so the post now credits the OBR.New passage
Holds
check_passage.pyin~/reviews/uk-triple-lock-explainer/ledger-v2/runs the ledger on the post without the new passage, then checks the passage's figures against the file: every one matches.20261030-131127-tl-final-delta): APPROVE. It recomputed all 31 changed figures from the file and tied the approval to the merge order above.0cc4a39e). The post uses none of the old labels, no run counts and no Enhanced FRS wording.20261030-145914-tl-head-check,~/reviews/uk-triple-lock-explainer/final-delta/head-check/review-head.md): APPROVE, no findings. It recomputed every figure in the passage from the file, recalculated the margins from the variance components, rebuilt the central and OBR assumption savings from totals, and confirmed that rounds 1 and 2 are resolved. It could not rebuild the weighted means from individual runs, because the file holds no run-level outputs.614334a1) at this head: 129 MATCH, 41 PASS, every passage check PASS, exit 0.20261030-164212-tl-0b47c87,~/reviews/uk-triple-lock-explainer/final-delta/0b47c87/review-0b47c87.md): APPROVE, no findings. It diffed the two files itself: 12 changed text leaves and none of the 74,509 numeric leaves moved. It recalculated the margins, rebuilt the central, OBR assumption and single-path savings from totals, and tested the new wording against the post. It could not run the dashboard or rebuild the weighted means from individual runs.20261030-203722-tl-d4e94d1-160): CHANGES. It counted 160 draws, 159 distinct paths and one check run outside the estimate, and passed the withdrawn average's "160 paths".20261030-204627-tl-1493-voice): CHANGES, applied except where it named the wrong actor.docs/METHOD.mdsays the OBR's row phases in the 0.6 points, and the rule, not PolicyEngine, raises the pension.20261030-210043-tl-1493-voice2,~/reviews/uk-triple-lock-explainer/final-delta/d4e94d1/voice2/review-final.md): APPROVE, no findings. It could not rerun PolicyEngine, rebuild the averages from individual runs or recheck external sources.20261030-211732-tl-1493-second-set,~/reviews/uk-triple-lock-explainer/final-delta/631d10f/review-second-set.md): APPROVE, no findings. The repo's owner confirmed the sentence separately againstdata/results.jsonat 631d10f.src/,dashboard/,tests/ordata/. Both blobs unchanged, including the dashboard's copy of the results file.20261030-213106-tl-1493-one-a-year,~/reviews/uk-triple-lock-explainer/final-delta/e6afafb/review-one-a-year.md): APPROVE, no findings. The brief asked it to count the forecasts, test every line that describes a set of them and gate the sentence againstvoice_max.md.20261030-213743-tl-1493-voice-88c0940,~/reviews/uk-triple-lock-explainer/final-delta/e6afafb/review-voice-whole.md): APPROVE, no findings. It read all 706 lines ofvoice_max.mdand gated the post, chart text, title and description.614334a1: 129 MATCH, 41 PASS, every passage check PASS, exit 0.614334a1in both copies and inputs blob0cc4a39eunchanged, and the dashboard returns 200.Checks
website/src/__tests__/components/blog-chart-posts.test.tspasses (8 tests).🤖 Generated with Claude Code