Repository navigation
model-v2: certified bundle, engine port and guarded rehearsal - #24
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Post-merge review of #23's ageing method, read against
Confirmed:
The interaction arithmetic reproduces £0.158bn gross and £0.115bn net, and the pilot figures match |
|
Thanks Max. I've reviewed b994a55 independently:
#16, #17 and #18 are all in, with my commits and authorship intact. What moved ( I couldn't find an engine defect that moves a number. These all check out:
Two things stop me approving, though:
Smaller points:
Happy to re-review once the body and evidence match the head. My separate comment above covers the ageing method from #23. |
|
Thanks Max. I've re-reviewed 30a1be9. Tests in a fresh venv: 657 passed and only the three stale-results tests fail. The dashboard passes 77/77 and the build succeeds. Fixed, thanks:
The pilot arithmetic checks out (2.739 gross and 1.867 net in 2039-40), and the −£24.5bn gap to DWP in 2030-31 fits B's reweight run. Still open:
|
…ecile ticks 1-10 Example pensioners: pensioner buttons, three cards (State Pension under each rule, income change with what made up the lower pension, share made up from unrounded figures), and one panel switching between an item-by- item waterfall and each year, with The numbers and How to read this as joined footers. The by-group table moves into its chart's panel as The numbers; income deciles show 1-10 with one axis label. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tral note, DWP first, neutral wording The headline card shows the expected saving without the Monte Carlo error in the value and notes that it is provisional until the Budget; the note on why the OBR central forecast saves little sits under the yearly chart; the comparison panel opens on DWP; scenario names and the earnings-shift note come from the file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… household and triple-lock tabs - The four example paths have the same names on every tab; the Distributional tab opens on the OBR central forecast and labels its figures 'on this path'. - How the triple lock works comes second. - 'Years the rules differ' becomes 'Pension below the triple lock'. - Plain, neutral wording: no 'ratchet', 'losing' or code words; one phrasing for the Housing Benefit and council tax reduction caveat. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…parison titles, 'points' not 'pp', plain past-forecast test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ll on phones BoxTitle gives each chart or table box its title and one line saying what it shows, and a test fails if a box heading lacks one. The site header hides two nav links below the small breakpoint so the page fits 390px. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ets from the path's rows; no year-by-year table on Forecast paths Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the household figures are calculated; one header layout for every chart box Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rd; its notes as five bullets with the replayed-vs-paid list Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Root cause: the chart used ChartFrame's grow mode (left from its old card layout), which set only a min-height, so the 100%-height chart measured 0 tall inside the panel and drew nothing. ChartFrame now always sets an explicit height, and a test clicks every view switch on every tab and checks each chart frame has one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the line where it matters Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…wn; headline card with one detail line, the error on hover and a short Budget note Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ette test also blocks raw primary colours on data marks Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-earlier box; the selected path's line moves into 'What each path is' Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ged) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pre-Budget certified release: rebuild on policyengine 6.2.6, model-conditional expected value, dashboard
model-v2 already strips single-record fields in the pipeline (redact_records) and tests it. Take model-v2's StepPopulation, dataHelpers, trajectoryHelpers and test_results; keep #26's redaction script, CI changes and its dashboard guard test. pytest 1,729 passed; dashboard 152 passed; lint and build pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merge main into model-v2 (clears #24's conflict)
Ports the long-horizon engine to the released certified
policyengine[uk]==6.2.6bundle: UK 2.125.1, core 3.33.0 and Enhanced FRS 1.58.0. The released wheel, immutable HF manifest and dataset SHA-256 are verified. Publication, scenario and ageing entry points enforce certification and the behavioural Housing Benefit receipt-passport preflight. The historical 2.120.0 / 1.56.16 pilot remains uncertified, with retained fiscal values and original provenance authenticated by frozen source archives and privacy proofs.The pre-Budget bridge and rehearsal are now complete and verified; not for quoting. Original calculation head is
b31137ea055ab7e2b2ef7dd8b63df1302f5affdf. The committed importer reconstructs exact-cache fiscal/coverage tables through Part J's binders, verifies the dry C2 handoff, saved passports, core/coverage invariants and 20 Enhanced FRS + 2 Microcosm sample, and commits only permitted aggregate receipts. Both import and direct verification disable optional Git index writes in the original calculation checkout. Rehearsal fiscal values stay private. All linked gross/net/offset, geographic and HB subset/complement families pass the ten-record rule.The central bridge holds data at 1.56.16 for the combined model/core/port step, then changes only data to 1.58.0. UK central net changes by −£0.064m/−£0.192m in 2034–35/2039–40 in the model step and +£4.942m/+£42.653m in the data step. Intermediate paired jobs were not planned, so paired attribution combines both steps. The certified UK 2039–40 paired net is £7.653775bn with total Monte Carlo SE £0.059125bn; these describe precision of the frozen forty-path model-conditional design. The bridge does not isolate #1927's fiscal or HB-offset effect.
Certified 2025–26 GB/DWP ratios: Pension Credit spending 1.0252, PC caseload 1.0459, pension-age HB 0.9985, total HB 0.6011. The data step improves PC caseload and pension-age HB fit; PC spending moves slightly farther from DWP. Later PC, total HB and State Pension coverage gaps remain. Released code supports the documented uk-data #490/#510/#513 mechanisms and #1927 receipt correction; certification does not settle calibration accuracy or the substantive coverage gate.
Completed wrapper walls are 106/318/312/431/171/1,862 seconds for C2/model bridge/certified bridge/core/coverage/sample. Safe per-job timing metadata contains 43 completed cold jobs and four warm rows. The committed planning method estimates post-Budget build plus validation at 12.32 hours after a C2 pass or 3.94 hours after a failure, using 3 Enhanced FRS + 1 Microcosm worker. Two Microcosm workers project 8.91 hours after a pass; concurrent memory headroom is unmeasured. Input preparation, C2 scoring, review, scheduling, cache reuse and contention remain outside these model-runtime estimates.
Part L head
bf0e6ee8d6157a5b88c08f7982057450c1c34c3eadds the heavy-wrapper caller requirement and synchronizes the pilot-table generator with the completed bridge caveat. The shared historical footnote distinguishes the certified forty-path SE from an isolated receipt-correction SE. No table values or JSON receipts changed. The reboot salvage snapshot has the same tree as4df5857; no unpushed edits need recovery.Cache-only re-verification passes: all five regenerated committed artifacts match exactly, including both bridges, certified coverage, completion and runtime metadata; no model jobs were started. All 10 renderer tests pass.
Exact-head CI is green. Full Pipeline pytest completed 1653 passed, 1 skipped and only the 3 documented stale-results failures in 663.02 seconds. The completion gate verified all 1657 selected tests finished and accepted exactly those three failures. Dashboard passed default lint, all 95 tests, and build. The Vercel preview also passed. These manual Actions runs are bound to
bf0e6ee8d6157a5b88c08f7982057450c1c34c3e; their direct commit checks are successful.Independent
subfleet run --task review --tier hardjob20261012-104314-reviewreturned APPROVE, with no actionable findings. The reviewer inspected all 21 changed files across the completeb31137e..bf0e6eerange, including Part K's0e02f26, both runner integrations, the completed Part J imports/write-up, and both Part L commits. All 364 targeted tests passed, and the reviewer independently reconstructed all five committed artifacts byte for byte, checked the receipt/privacy proofs and planning arithmetic, and confirmed the Fleet reservation and loaded C2 step. The normal clone provided shell and test access. No new full model job was launched by the review. Full corrected-head CI is green as recorded above.Completed report, bridge and coverage tables, completion receipt, runtime receipt, certification and REBUILD retain the evidence and commands.
OPEN draft. After committing September CPI, published May–July earnings, the 28 October Budget/OBR inputs and newly complete forecast origins, run binding C2, then the certified fiscal build and ageing validation. A primary pass retains a model-conditional expected value beside the scenario envelope; a failure automatically retains scenarios only. Verify full Python/dashboard checks and obtain independent review before quoting any rebuilt figure. From 29 October,
uk-triple-lock-c2is a step inside the loaded launchd jobcom.maxghenis.triple-lock-2027.The Fleet ops reservation
triple-lock-rebuild-2026-10runs from 29 October to 2 November. Markreservation.py readyif inputs are ready early andreleaseafter rebuild and review. Every command throughheavy_run.sh,lockrun.shorheavy_queue.zshrequiresHEAVY_CALLER=uk-triple-lock. Start with 3 Enhanced FRS + 1 Microcosm worker; the measured method gives the labelled 12.32/3.94-hour pass/failure planning estimates above. Rehearsal and historical pilot outputs remain pre-Budget and not for quoting. Nothing is merged and no comments are posted.