From d31158807d8b70d5ddb5cb8264cd2e6d1f466802 Mon Sep 17 00:00:00 2001
From: vahid-ahmadi
Date: Fri, 14 Aug 2026 11:50:06 +0100
Subject: [PATCH 1/2] Act on the structural review, and show the product
A structural review found the pacing problem was one section, not the run of
interactives I had assumed: .narrative-step's 90vh minimum across six stages
made "Under the hood" five to six viewport heights, about a quarter of the
article, for content that fills roughly a third of a screen per stage. Reduced
to 58vh, which recovers about two screens and leaves the sticky diagram
tracking.
Seven changes it argued for, all high confidence:
- Deleted "The language model proposes a plan". The three-part architecture was
stated four times; this was the weakest instance, sitting between the section
that had just made the point and the tool explorer the reader was heading
for. Its one non-duplicative sentence is already covered by the Gate stage's
"needs plan" outcome.
- Deleted "What's next", folding its roadmap into the Limitations opener, which
said the same thing, and its ecosystem sentence into "Try it yourself". The
article now closes on two beats rather than three.
- Cut the paragraph narrating the trace's simulation step; the component shows
the same fields with a tick or cross against each. Kept the one claim that is
not in it, that the analysis tools are the only route to a number.
- Cut the worked example's closing clarification paragraph, which ended the
payoff on a hypothetical immediately after the result. The Gate stage owns
the clarification path.
- Moved the computed result to sit directly under the trace, so five calls
resolve into their answer with nothing in between, and the commentary now
follows a result the reader already has.
- Stated the request once, at the top of "Under the hood", rather than in stage
one's example and again as a fresh "Consider:" a section later. The worked
example now opens as a continuation and says explicitly that the loop
re-derives what the gateway approved.
Also added the product screenshot between the beta note and the call to action,
linking into the chat. Two reviews noted a launch article for a chat interface
showed no interface.
Co-Authored-By: Claude Opus 5 (1M context)
---
content/current-article.md | 35 +++--------
src/App.jsx | 99 +++++++++++++-----------------
src/assets/uk-chat-screenshot.jpg | Bin 0 -> 105778 bytes
src/legacy-encode-policy.css | 2 +-
src/uk-chat.css | 22 +++++++
5 files changed, 72 insertions(+), 86 deletions(-)
create mode 100644 src/assets/uk-chat-screenshot.jpg
diff --git a/content/current-article.md b/content/current-article.md
index 257bee5..1b1d69e 100644
--- a/content/current-article.md
+++ b/content/current-article.md
@@ -8,7 +8,7 @@ People are increasingly turning to AI language models to answer complex question
PolicyEngine therefore built UK Chat, an AI interface to PolicyEngine's deterministic rules and simulation engine. A language model interprets an open-ended request and proposes a structured plan. The gateway checks the proposed inputs and output against the current PolicyEngine catalogue; only then do deterministic tools compute quantitative policy results from actual tax and benefit rules.
-UK Chat is released as a **beta**. The pipeline described here is in place and running, but the range of reforms it covers, the wording of its answers, and its judgement about what it cannot compute are all still being tested. We are publishing it at this stage to gather feedback on where it is useful and where it falls short, beginning with PolicyEngine's own policy team.
+UK Chat is released as a **beta**. The pipeline described here is in place and running, but the range of reforms it covers, the wording of its answers, and its judgement about what it cannot compute are all still being tested. We are publishing it at this stage to gather feedback on where it is useful and where it falls short.
[Try PolicyEngine UK Chat (beta)](https://policyengine.org/uk/chat)
@@ -40,14 +40,6 @@ When a question is ready for computation, the language model receives the calcul
The gateway sits on that line. It takes the plan the language model proposes and decides whether it may cross into the deterministic side. That is why the system has three parts rather than two: the language model, the gateway, and the tools a plan reaches once the gateway admits it.
-## The language model proposes a plan
-
-UK Chat breaks the user pathway into three segments: the language model, the gateway, and supporting tools.
-
-First, the language model does the predictive work. It takes the user's open-ended prompt and develops a simulation or analysis plan. The plan has a required format and must use one or more of the deterministic tools connected to the PolicyEngine UK tax and benefit simulation engine.
-
-Next, UK Chat's gateway verifies and sometimes constrains that plan to ensure PolicyEngine provides the tools required to answer the question. The gateway may also ask the user for clarification before finalising a plan.
-
## Tools make the calculation deterministic
At this point, UK Chat has a gateway-verified plan, and every figure in the answer comes from the tools that plan calls rather than from the language model.
@@ -373,7 +365,9 @@ generate_chart(
## Under the hood
-Here's what happens inside a single request. UK Chat's core runtime is a FastAPI server-sent-events handler that calls the Anthropic SDK directly. There is no generic agent framework in the request path. The chat owns both the opening gateway and the tool loop, so the rules that matter can be enforced at the point where each decision is made. Each stage below is tagged with the segment that owns it.
+Take one request: _"For 2026, set the Child Benefit eldest-child rate to £30 a week and show the annual budgetary impact."_ It names a policy, a value, a year, and an output. It does not name a PolicyEngine parameter path, a reform object, or the sequence of tools needed to answer it. This section and the next follow that request through the system.
+
+UK Chat's core runtime is a FastAPI server-sent-events handler that calls the Anthropic SDK directly. There is no generic agent framework in the request path. The chat owns both the opening gateway and the tool loop, so the rules that matter can be enforced at the point where each decision is made. Each stage below is tagged with the segment that owns it.
### 1. Ground — A structured opening plan
@@ -384,8 +378,7 @@ A fast language model reads the user's words and proposes a structured descripti
_The user's message_
```
-last_user_message="For 2026, set the Child Benefit eldest-child rate
- to £30 a week and show the annual budgetary impact"
+last_user_message="…the request above, with no conversation history…"
```
_Proposed plan_
@@ -528,9 +521,7 @@ data: { "type": "done", "content": …, "stop_reason": …, "usage": { … } }
## The same reform, call by call
-Consider: “For 2026, set the Child Benefit eldest-child rate to £30 a week and show the annual budgetary impact.” The request contains a policy, a final value, a year, and an output. It does not contain a PolicyEngine parameter path, a reform object, or the sequence of tools needed to answer it.
-
-The six stages above decide what the system does; underneath, the turn is a short sequence of typed calls, each one taking an argument that an earlier call produced. This is that sequence for the request.
+The six stages decide what the system does. Underneath, the approved plan is a short sequence of typed calls, each taking an argument an earlier call produced. The loop re-derives what the gateway already approved, and the match between the two is itself the check.
### Tool-call trace — 5 calls, one turn
@@ -626,10 +617,6 @@ Computed inside the engine:
- ✓ survey weights applied inside the PolicyEngine UK model
- Stored: `result_id` → typed handle, turn-local.
-Two features of the sequence carry most of the design. The first is that `run_society_simulation` hands back a handle rather than data: the language model receives a `result_id`, a dataset reference, and a year, and never receives household rows, survey weights, or any serialisable simulation object. Weighting happens inside the PolicyEngine UK model, and the seven analysis tools are the only route from a stored simulation to a number.
-
-The second is provenance. Every parameter path, value, and handle in the sequence was either supplied by the user or produced by a preceding call, so each argument can be traced to its source. Nothing in it was recalled.
-
### Computed result: About £0.9 billion a year in additional government cost
A production run compares the reform with 2026 current law using PolicyEngine's Enhanced Family Resources Survey dataset for 2024–25, release 1.56.13. It is a direct static microsimulation estimate. Tax revenue rises because a higher Child Benefit rate increases the High Income Child Benefit Charge paid by higher-income families.
@@ -642,8 +629,6 @@ A production run compares the reform with 2026 current law using PolicyEngine's
A negative net budgetary impact means a cost to government. Figures are rounded to the nearest £0.1 billion.
-If the catalogue returned more than one materially plausible interpretation, or the reform resolver could not determine what year or reform the user was requesting, the calculation would pause before the tool loop and ask the user to confirm the intended construction.
-
## What you can ask
The Child Benefit reform above is one of four kinds of questions supported today, and users can stack these questions within one conversation without starting a new chat.
@@ -680,7 +665,7 @@ Follow-ups stay in the same thread. The conversation carries the context; the si
## Limitations
-Some of what follows is a deliberate boundary that will not change. The rest is the current state of a beta: reform coverage is incomplete, answers vary in how fully they state their assumptions, and gateway behaviour will move as we act on what users report.
+Some of what follows is a deliberate boundary that will not change. The rest is the current state of a beta: reform coverage is incomplete, answers vary in how fully they state their assumptions, and gateway behaviour will move as we act on what users report. Widening the range of reforms the typed tools cover, and the evidence the gateway can resolve before calculation, is where the work goes next.
The chat is a modelling tool, not advice. It reports what the engine calculates under stated assumptions, and it is not a substitute for professional guidance on an individual's circumstances.
@@ -688,13 +673,9 @@ Society results are direct static microsimulation estimates. They do not estimat
Results depend on the dataset, year, and modelling assumptions, and the chat states these dependencies rather than presenting figures as universal. They should still be checked against independent estimates from organisations such as the Institute for Fiscal Studies, Resolution Foundation, or Office for Budget Responsibility.
-## What's next
-
-We want to widen the range of reforms covered by typed tools, improve the speed and inspectability of more specialised analyses, and keep expanding the evidence the gateway can resolve before calculation. UK Chat also works alongside PolicyEngine's wider generative AI integrations and plugin ecosystem for researchers building their own analyses.
-
## Try it yourself
-UK Chat's answers can be cited and reproduced because the figures come from the same open engine that powers the rest of PolicyEngine. Try it with a reform, then inspect the stated year, dataset, comparator, and method alongside the answer.
+UK Chat's answers can be cited and reproduced because the figures come from the same open engine that powers the rest of PolicyEngine, and it sits alongside PolicyEngine's wider generative AI integrations and plugin ecosystem for researchers building their own analyses. Try it with a reform, then inspect the stated year, dataset, comparator, and method alongside the answer.
Because this is a beta, the cases where it fails are more useful to us than the cases where it works: a request refused that the tools should support, an answer that omits an assumption it should state, or a figure that does not match what the engine returns for the same reform. PolicyEngine's policy team is working through the same exercise, and what they and other early users report will decide what we change first.
diff --git a/src/App.jsx b/src/App.jsx
index e285bad..9c4cada 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -3,6 +3,7 @@ import { motion, useReducedMotion } from 'framer-motion';
import SiteHeader from './SiteHeader';
import anthonyVolkHeadshot from './assets/authors/anthony-volk.webp';
import vahidAhmadiHeadshot from './assets/authors/vahid-ahmadi.webp';
+import ukChatScreenshot from './assets/uk-chat-screenshot.jpg';
const toolFamilies = [
{
@@ -622,9 +623,8 @@ const requestSteps = [
>
),
example: {
- callTitle: 'the user’s message',
- call: `last_user_message="For 2026, set the Child Benefit eldest-child rate
- to £30 a week and show the annual budgetary impact"`,
+ callTitle: 'the user’s message, as the gateway receives it',
+ call: `last_user_message="…the request above, with no conversation history…"`,
returnsTitle: 'proposed plan',
returns: `{ "domain_status": "uk_or_unspecified", "capability_status": "supported",
"tool": "compute_budgetary_impact",
@@ -905,8 +905,20 @@ function Introduction() {
UK Chat is released as a beta. The pipeline described here is in place and running,
but the range of reforms it covers, the wording of its answers, and its judgement about what it cannot
compute are all still being tested. We are publishing it at this stage to gather feedback on where it
- is useful and where it falls short, beginning with PolicyEngine's own policy team.
+ is useful and where it falls short.
+
+
+
);
@@ -1299,22 +1311,6 @@ function ToolExplorer() {
return (
- The language model proposes a plan
-
- UK Chat breaks the user pathway into three segments: the language model, the gateway, and supporting
- tools.
-
-
- First, the language model does the predictive work. It takes the user's open-ended prompt and
- develops a simulation or analysis plan. The plan has a required format and must use one or more of the
- deterministic tools connected to the PolicyEngine UK tax and benefit simulation engine.
-
-
- Next, UK Chat's gateway verifies and sometimes constrains that plan to ensure PolicyEngine
- provides the tools required to answer the question. The gateway may also ask the user for
- clarification before finalising a plan.
-
-
Tools make the calculation deterministic
At this point, UK Chat has a gateway-verified plan, and every figure in the answer comes from the
@@ -1538,11 +1534,20 @@ function ArchitectureScrolly() {
Under the hood
- Here's what happens inside a single request. UK Chat's core runtime is a FastAPI
- server-sent-events handler that calls the Anthropic SDK directly. There is no generic agent framework
- in the request path. The chat owns both the opening gateway and the tool loop, so the rules that
- matter can be enforced at the point where each decision is made. Each stage below is tagged with the
- segment that owns it.
+ Take one request:{' '}
+
+ “For 2026, set the Child Benefit eldest-child rate to £30 a week and show the annual budgetary
+ impact.”
+ {' '}
+ It names a policy, a value, a year, and an output. It does not name a PolicyEngine parameter path, a
+ reform object, or the sequence of tools needed to answer it. This section and the next follow that
+ request through the system.
+
+
+ UK Chat's core runtime is a FastAPI server-sent-events handler that calls the Anthropic SDK
+ directly. There is no generic agent framework in the request path. The chat owns both the opening
+ gateway and the tool loop, so the rules that matter can be enforced at the point where each decision
+ is made. Each stage below is tagged with the segment that owns it.
@@ -1626,28 +1631,11 @@ function WorkedExample() {
The same reform, call by call
- Consider: “For 2026, set the Child Benefit eldest-child rate to £30 a week and show the annual
- budgetary impact.” The request contains a policy, a final value, a year, and an output. It does not
- contain a PolicyEngine parameter path, a reform object, or the sequence of tools needed to answer it.
-
-
- The six stages above decide what the system does; underneath, the turn is a short sequence of typed
- calls, each one taking an argument that an earlier call produced. This is that sequence for the
- request.
+ The six stages decide what the system does. Underneath, the approved plan is a short sequence of typed
+ calls, each taking an argument an earlier call produced. The loop re-derives what the gateway already
+ approved, and the match between the two is itself the check.
-
- Two features of the sequence carry most of the design. The first is that{' '}
- run_society_simulation hands back a handle rather than data: the language model receives
- a result_id, a dataset reference, and a year, and never receives household rows, survey
- weights, or any serialisable simulation object. Weighting happens inside the PolicyEngine UK model,
- and the seven analysis tools are the only route from a stored simulation to a number.
-
-
- The second is provenance. Every parameter path, value, and handle in the sequence was either supplied
- by the user or produced by a preceding call, so each argument can be traced to its source. Nothing in
- it was recalled.
-
@@ -1693,9 +1681,9 @@ function WorkedExample() {
- If the catalogue returned more than one materially plausible interpretation, or the reform resolver
- could not determine what year or reform the user was requesting, the calculation would pause before
- the tool loop and ask the user to confirm the intended construction.
+ The seven analysis tools are the only route from a stored simulation to that number, and every
+ parameter path, value, and handle in the sequence was either supplied by the user or produced by a
+ preceding call. Nothing in it was recalled.
);
@@ -1757,7 +1745,8 @@ function Limitations() {
Some of what follows is a deliberate boundary that will not change. The rest is the current state of a
beta: reform coverage is incomplete, answers vary in how fully they state their assumptions, and
- gateway behaviour will move as we act on what users report.
+ gateway behaviour will move as we act on what users report. Widening the range of reforms the typed
+ tools cover, and the evidence the gateway can resolve before calculation, is where the work goes next.
The chat is a modelling tool, not advice. It reports what the engine calculates under
@@ -1783,18 +1772,12 @@ function Limitations() {
function NextStepsAndTryIt() {
return (
- What's next
-
- We want to widen the range of reforms covered by typed tools, improve the speed and inspectability of
- more specialised analyses, and keep expanding the evidence the gateway can resolve before calculation.
- UK Chat also works alongside PolicyEngine's wider generative AI integrations and plugin ecosystem
- for researchers building their own analyses.
-
Try it yourself
UK Chat's answers can be cited and reproduced because the figures come from the same open engine
- that powers the rest of PolicyEngine. Try it with a reform, then inspect the stated year, dataset,
- comparator, and method alongside the answer.
+ that powers the rest of PolicyEngine, and it sits alongside PolicyEngine's wider generative AI
+ integrations and plugin ecosystem for researchers building their own analyses. Try it with a reform,
+ then inspect the stated year, dataset, comparator, and method alongside the answer.
Because this is a beta, the cases where it fails are more useful to us than the cases where it works:
diff --git a/src/assets/uk-chat-screenshot.jpg b/src/assets/uk-chat-screenshot.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5edc5a05521cd5bc8119a8f4ac560d5aa3b4babf
GIT binary patch
literal 105778
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