Repository navigation
UK review queue: 17 open PRs, suggested merge order, and what is blocked on whom #104
Description
@MaxGhenis @DTrim99 — 17 of my PRs are open, all green and mergeable. Rather than ping each one, here is the whole queue in one place with what each of you is actually needed for.
State
| PRs | |
|---|---|
| Approved by @DTrim99, awaiting @MaxGhenis | #75, #81, #49, #64, #65, #66, #67, #68, #51, #91, #92, #93 |
| Awaiting both | #95, #100, #101, #102, #103 |
All 17 pass pytest · ruff format and typecheck · build, build deterministically, and leave a clean tree.
Suggested merge order, and why it matters
I merged all twelve of the original branches in sequence on a scratch branch to find out. Two things came out of it:
build_db.pyconflicts on nearly every merge — six branches insert a step at the same anchor, and the conflict region splits a step tuple, so a both-sides union produces invalid Python. That is the good case; the bad case drops a step and ships a database missing a lane while every test passes. OBR policy effects → DB ingest: 266 claims, four macro-effect metrics #81 carries a guard that refuses a chain importing an ingest it never runs, so merging OBR policy effects → DB ingest: 266 claims, four macro-effect metrics #81 early protects the rest.lanes.jsonconflicts are not real — it is a derived feed both sides append to. Regenerate from a build rather than hand-merging.
#75 → #81 (#81 carries #75; merge #81 early for the guard)
#49 → #64 (#64 stacks on #49)
#65, #68, #51, #66, #67 (independent)
#91 → #92 (#92 stacks on #91)
#93, #95, #100, #101, #102, #103 (independent)
One ordering constraint that is not obvious: uk_thinktanks must run before produce_uk — #91 changed produce_campaign_uk's blocked-family reasoning on the basis that Resolution Foundation claims now exist. The current insertion point satisfies it.
@MaxGhenis — three things only you can unblock
- Mode-3 case schema + UK battery: UKMOD/EUROMOD lane groundwork #49's mode-3 table design. You offered to pair on it and I took you up rather than guessing: the case/result table, writer, exporter and the status/diagnosis split are deliberately not in Mode-3 case schema + UK battery: UKMOD/EUROMOD lane groundwork #49 or Official-calculator oracles (mode 3): closed-set extension, dated-reading provenance, calculator work list #64.
SCHEMA.mdrecords the open shape. Whenever suits. - UK compute campaign, run 1: execute the mode-1 counterpart pipeline on the certified bundle #76–UK compute campaign, run 5: PE-UK static LSR counterparts to OBR's 19 supply-side scorings (#55 step 2–3) #80, the compute campaign. You're holding them on UK counterpart compute pipeline (managed sims, pe_gap-degrading registry) #51, which is now repaired and approved. This is the one that matters most — see below.
- OBR policy costings (mode 2): registry, offline certified compute, staging, descriptive comparison #56 and Add KFF eligible-uninsured moments and Medicaid 100% take-up reform rows #69, your own branches. Both still track
data/scorecard.dband theirci.ymlhas neither the determinism check nor the no-drift gate, so they are running a pre-The database leaves git: derived artifact, built in CI, published to Supabase storage #74 workflow. OBR policy costings (mode 2): registry, offline certified compute, staging, descriptive comparison #56 matters beyond itself because OBR costings divergence decomposition: axes registry + identity-checked pipeline (#59) #67 consumes itsCOMPARISON.csv. Fix isgit merge origin/main; I haven't pushed to your branches.
@DTrim99 — five you haven't seen
#95, #100, #101, #102, #103. #95 is the one I'd most like your eye on: it uses pull_request_target, which is the sharp trigger, so the "never checks out or executes PR code" property is the thing to check hardest.
The number behind all of this
The UK side has 15,858 external claims and 14 with a PE result — 0.09%. The US side is 19.3%. Nothing in this queue changes that except the compute campaign; the lanes make the denominator bigger. If only one thing moves this week, it should be #51 landing and #76–#80 being released.
Activity
MaxGhenis commentedon Sep 1, 2026
Reviewer-lane status (Sept 1) — the re-gates resume from here
The reviewer lane went dark after the 8/20 gate sweep; surveyed the full queue tonight. Acknowledging the ball has been in this court on every row of this issue's table — and the response quality across the batch was genuinely strong: findings answered within ~48 hours, probes reproduced as pinned regression tests, and three separate self-caught defects in your own fixes (#51's undecoded EnumArray, #66's always-firing version pin, #101's rewrite). Nothing about the wait reflects on the work.
Re-gate order for the next working sessions, following this issue's tested merge order plus response readiness:
Standing notes:
🤖 Generated with Claude Code