Prompt to Page 0.4.0: three design systems, one of them measured
The Scottish Government Design System arrives with a five-seed battery behind it. The NSW Design System and Bootstrap Italia arrive with a caveat. The app tells you which is which, and that difference is the whole release.
Version 0.4.0 of Prompt to Page is out, and the headline is easy: three new design systems. Pick a project and the chooser now offers the NSW Design System, Bootstrap Italia and the Scottish Government Design System alongside GOV.UK, NHS.UK, USWDS and the neutral Abstract system. Seven base packs, plus the MOJ overlay on GOV.UK.
The less easy part, and the reason this gets a post rather than a changelog line, is that the three did not arrive in the same state. One of them has been measured on every built-in GGUF model, five seeds at a time. Two of them have not. The app says so, per model, in the picker. I think that label is the most important thing that shipped.
Scotland, measured
The Scottish Government Design System request landed as a handoff on 20 August. The battery ran on the 22nd. That speed is not a boast about effort; it is the pack architecture I wrote about earlier doing what it was built for. A design system is data — a class list, a component corpus, a shell, a prompt, a set of validator rules, a list of brand assets that must never ship — and the app loads a pack rather than assuming one. Scotland was pack number seven. No new dispatch code.
What I did not know in advance was whether a local model would transfer. The Scottish system is a GOV.UK cousin in its bones — question pages, error summaries, a check-your-answers pattern — but its markup is its own: ds_ classes with an underscore, its own layout scaffold, its own component vocabulary. My prediction, written down before the first run, was that the dominant failure would be leakage: models that have seen a lot of GOV.UK would keep writing govuk- classes inside a Scottish page.
I was wrong, in the good direction. Seven models, 20 cases, five seeds each: 700 generated pages, and not one govuk-, nhsuk-, usa- or moj- token in any of them, before any repair ran. The class axis transferred cleanly on every model, including the 1.5-billion-parameter one.
What failed instead was structure, and it was prompt-shaped. A question page without its <form>. A one-question page without a back link. Routes the prompt had not planned. Two prompt revisions cleared the first two on most models (one small model still forgets its back link); the third is a convention of the harness itself (the prompts name no routes, so the rule fires for GOV.UK and NHS batteries exactly the same way).
The other thing that showed up was models re-prefixing their GOV.UK habits: a ds_list class on a list the Scottish system leaves unclassed, an invented ds_error-summary__item. Those are exact-token drops, never guesses, and every one of them is listed on the page's quality report as a repair. Repaired is not shown as clean. That rule carried over from 0.3.0 and it matters more with every pack.
The results, on the same 0–100 scorer I use for everything else (80 passes; 88 unlocks a 4):
| Model | Scottish Government median (5 seeds) | Rating | For comparison: its GOV.UK rating |
|---|---|---|---|
| Gemma 3 12B | 94 | 4 | 52 |
| Qwen2.5-Coder 7B | 94 | 4 | 53 |
| Gemma 4 12B Coder | 93 | 4 | 52 |
| Qwen3 8B | 93 | 4 | 51 |
| Qwen2.5-Coder 1.5B | 92 | 4 | 52 |
| Gemma 4 E2B | 90 | 4 | 51 |
| Gemma 4 E4B | 86 | 3 | 51 |
Read that last column carefully before you get excited. Every model scores at or above its GOV.UK rating here, and several score far above it. That is not because Scottish pages are easier to get right in general. It is because this battery is shaped like the NHS one — 14 of its 20 cases are single components, and all seven models score 100 on 13 of those on every seed — while the GOV.UK suite is seven full pages. The right comparison is "4 on this ruler", not "better at Scotland than at GOV.UK". The check-your-answers case is the floor on every model (medians between 0 and 55), for the same carried-field-name reason it is the floor on NHS.
Two more things the battery had to prove before I let the caveat come off. First, that adding a pack did not move the others: GOV.UK re-measured at 86 and NHS.UK at 88 on the same build, within their recorded bands, with zero ds_ tokens in any of those pages. Second, the brand posture: the Scottish Government logo and crest are never bundled, the shell carries only your service name plus a "not a real Scottish Government service" marker, and the Roboto faces ship under their own open licence. The component corpus is curated from designsystem.gov.scot under OGL, class-verified against the pinned stylesheet, and six components whose documentation publishes no markup are left out rather than guessed.
So the "quality has not been evaluated" caveat is gone for Scotland on those seven models — earned off, not waived. It still ships as a beta, and here is exactly why: the Apple Silicon MLX entries and the two 32 GB-class models have not been measured on this pack. They show no Scottish Government rating in the picker. Absent means not measured. It never means "probably fine".
NSW and Bootstrap Italia, unmeasured — and labelled
The other two packs are in the picker, generally available, and carry the caveat. I want to be precise about what that means, because "unevaluated" is doing real work.
NSW Design System (v3.26.0) ships with a de-branded preview — no Waratah, no masthead — and a capability probe rather than a battery. On the 24 GB Mac I build on, 13 catalogue models are visible; 7 looked capable of the normal bar on a single seed (the 7B coder went 7 for 7), one collapsed, five could not be run beside the app's own sidecar. One seed is not a battery, and the 32 GB models that set the premium bar cannot be scored on this machine at all. So NSW is offered, and it says so.
One thing NSW forced that every pack now benefits from: a page that carries another design system's classes is now an error in evaluation, not a warning. Contaminated pages fail. The scorer version moved for it.
Bootstrap Italia (2.18.3) is the first pack outside the GOV.UK family that is not from an English-speaking government, and its probe told a sharper story than I expected. Local models have a strong generic Bootstrap 5 floor — the four runnable models averaged 84% on a plain Bootstrap control. That floor bought exactly nothing on the Italia layer: 0% Italia-specific accuracy zero-shot, from every model, with invented-class rates between 11% and 31%. With the pack's grounding in the prompt — the Italia-specific components shown as canonical deltas over ordinary Bootstrap — that rose to 81% on average and 92% on the best model, the 7B coder. The pack exists because the prompt, not the model, is where the Italia knowledge lives.
It also answered a question I had been asked more than once: no, picking Bootstrap Italia does not mean Italian copy. The system prompt says so explicitly, and the language-direction runs scored perfectly on markup whichever way round the brief and content went.
Two honest notes. The probe's own recommendation was to wait for Bootstrap Italia v3 before building a pack, because the v3 migration rewrites a lot of markup; v3 is still in beta upstream, so the pack pins the stable v2 line and will need a refresh when v3 lands. [COURTNEY: one sentence on why v2 now rather than waiting — e.g. who asked for it, or what the refresh cost looks like on the pack architecture.] And like NSW, it is unevaluated on the repeated-seed battery: those probe numbers are one seed per model and do not put a rating in the picker.
The label is the feature
If you only take one thing from this release, take this. A design system in Prompt to Page is now in one of three states, and the app never blurs them:
- Measured. A per-model rating in the picker, backed by a five-seed battery you can read. GOV.UK, NHS.UK, and now Scottish Government on the seven GGUF models.
- Offered, unmeasured. In the picker, with the "quality has not been evaluated" caveat on every model. USWDS, Abstract, NSW, Bootstrap Italia. Probes exist; batteries do not.
- Not measured on this model. No rating shown at all — not a default, not an inherited number. The MLX and 32 GB entries on Scotland.
I said in the 0.3.0 post that quality claims you can check beat features you have to trust. 0.4.0 is the same sentence with three more design systems attached. The work of adding a pack is now mostly the work of measuring it, and the measuring is the part I will not skip.
The smaller print
Also in 0.4.0: the Scottish Government pack's licence and brand facts — code licence, documentation licence, brand-asset terms, accessibility target, fonts, pinned upstream — are recorded in the assurance manifest with the primary-source URL and the date each was retrieved, and CI refuses to build the pack without them. That is the bar I want every pack held to from here. All three new packs generate fully offline with their own pinned assets. And every automatic repair stays visible in the per-page quality report.
What's next
The Scotland caveat comes off the MLX entries and the 32 GB models when those legs run — the 30B coder in particular, since it is the catalogue's only 4-rated model on GOV.UK. NSW gets a proper battery. Bootstrap Italia gets re-probed the day v3 goes stable.
Prompt to Page 0.4.0 is live now for macOS (Apple Silicon); the Windows build follows shortly, and installed copies on either platform update in place. Free closed beta. If you want in, you know where to find me.
Prompt to Page is an independent project by Courtney Allen. It is not affiliated with, endorsed by, or connected to the Government Digital Service, the Scottish Government, the NSW Government, the NHS, the U.S. General Services Administration, the Developers Italia community, the Crown, or any UK, Australian, Italian or US government body. The design systems named are referenced descriptively, and none of their logos, crests or restricted fonts are bundled.
Try Prompt to Page.
Free during the closed beta. Generation runs on your machine.