Fuaranfuaran

The source for generative UI

Evaluation

The claim on the landing page – a UI language AIs can write, and you can trust – is a measurable one, and this page is where the measurement lands. Two questions under test: given a natural-language prompt, how reliably does a model produce a correct, conformant interface – and once the measurement follows a whole refinement session rather than a single call, what does that session cost?

What is measured

Each evaluated model receives the same task set under controlled conditions: emitting Fuaran wire JSON, and emitting conventional UI code against baseline stacks. A Fuaran emission passes only when it clears two gates in sequence – the strict canonical decode (does it parse as valid Fuaran at all?) and an independent judge of task correctness. The code baselines pass a judged render gate over their own output. Each condition passes its own gate, and the comparison is conservative toward the baselines: the Fuaran gate is the stricter one.

Two measurement tiers feed the sections below. The single-turn tier asks for one emission per task and yields the pass, conformance, compactness and cost-per-correct figures. The multi-turn tier refines one artefact across successive prompts under the same per-condition gates, and measures the session rather than the call: the cumulative billed spend through each refinement turn, and whether the elements named in earlier turns keep their identity through to the final emission. The two tiers never pool – a single-shot rate is never diluted (or flattered) by multi-turn cells, and the session figures publish in their own section under their own cohort stamp.

Three honesty rules govern everything below. Every figure is emitted by the harness into this page's feed – nothing is hand-typed, and the page fails its build rather than render a drifted feed. An unmeasured metric is omitted at source and shown here as –, never as a fabricated zero. Confidence intervals are clustered by task, because runs of the same task are not independent – the honest unit of replication.

Results

Headline
Pass rate (parse ∧ judge)
82.2%
±5.4 pp · 95% CI, clustered by task · 1235 judged runs over 57 tasks
Valid first-time response
85.8%
strict wire decode, single-shot
Session cost saving by turn 5
37.5%
vs the cheapest code baseline on claude-opus-4-8 – $0.34 against $0.55 cumulative billed session · Fuaran is the cheapest condition on 2 of 4 multi-turn model pins
Providers evaluated
7

Best per provider

Each provider's best-performing published arm on this corpus – the model the playground ships, at the measured recommended settings.

ProviderModelPassedPass rate95% CIValid first timeMean output tokensCost (USD)
Google Geminigemini-3.6-flash156/17489.7%±6.1 pp93.1%173010.88
OpenAI GPTgpt-5.6-sol@low148/17186.5%±7.3 pp90.6%12599.38
xAI Grokgrok-4.5162/19284.4%±7.1 pp86.5%15837.51
Claude (Opus)claude-fable-5@low143/17183.6%±8.5 pp86.0%171823.01

Budget postures

The remaining published arms – including each provider's cost-optimal posture, disclosed beside the best rather than replaced by it. A best arm that is also its provider's cost pick appears only above.

ProviderModelPassedPass rate95% CIValid first timeMean output tokensCost (USD)
Google Geminigemini-3.1-pro-preview140/17181.9%±8.5 pp84.2%158821.87
Claude (Opus)claude-opus-4-8@low145/18080.6%±8.0 pp88.3%162711.06
OpenAI GPTgpt-5.6-terra@low121/17668.8%±9.2 pp72.2%8193.80

gemini-3.6-flash, grok-4.5 double as the provider's cost recommendation.

An unmeasured metric shows – rather than a fabricated figure.

Compactness vs the baselines

Fuaran emission size ÷ baseline size over (task, provider) pairs where both sides produced a passing UI — below 1.00 the Fuaran artefact is smaller. Text = the stored artefact (reasoning excluded); billed = the one-time generation bill's output side.

BaselineComplexityText ratioBilled ratioPairsTasks
JSX + shadcn/uiall0.721.1822257
Feliz (bare)all0.681.0220154
Dash (Python)all0.640.897920
JSX + shadcn/uitrivial0.330.70328
Feliz (bare)trivial0.450.81328
Dash (Python)trivial0.240.4782
JSX + shadcn/uimedium0.691.359926
Feliz (bare)medium0.651.109325
Dash (Python)medium0.470.82277
JSX + shadcn/uicompound0.771.139123
Feliz (bare)compound0.710.987621
Dash (Python)compound0.740.954411

Session economics vs the baselines – multi-turn refinement

What a whole refinement session costs, not one emission: the same artefact is refined across successive prompts, and each spend figure is the cumulative billed USD through that turn, averaged over the sessions that reached it (denominator beside each figure). Identity preserved = the share of prompt-named element ids present in both the first and the final emission – whether the artefact survives refinement as itself rather than being regenerated.

ModelConditionSessionsSpend by turn 3Spend by turn 5Identity preserved
claude-opus-4-8Fuaran24$0.192 (n=24)$0.341 (n=6)98.6% (n=24)
claude-opus-4-8Feliz (bare)24$0.165 (n=24)$0.559 (n=6)100.0% (n=24)
claude-opus-4-8JSX + shadcn/ui24$0.176 (n=24)$0.545 (n=6)100.0% (n=24)
claude-opus-4-8@lowFuaran24$0.150 (n=24)$0.334 (n=6)98.6% (n=24)
claude-opus-4-8@lowFeliz (bare)24$0.132 (n=24)$0.428 (n=6)100.0% (n=24)
claude-opus-4-8@lowJSX + shadcn/ui24$0.142 (n=24)$0.444 (n=6)100.0% (n=24)
gemini-3.1-pro-previewFuaran24$0.190 (n=24)$0.330 (n=6)100.0% (n=24)
gemini-3.1-pro-previewFeliz (bare)24$0.140 (n=24)$0.359 (n=6)100.0% (n=24)
gemini-3.1-pro-previewJSX + shadcn/ui25$0.128 (n=25)$0.266 (n=6)100.0% (n=25)
gpt-4oFuaran24$0.094 (n=24)$0.178 (n=6)95.8% (n=24)
gpt-4oFeliz (bare)24$0.026 (n=24)$0.072 (n=6)100.0% (n=24)
gpt-4oJSX + shadcn/ui24$0.025 (n=24)$0.065 (n=6)100.0% (n=24)

Tier-B multi-turn session economics: cumulative billed USD through turn k, mean over sessions that reached turn k (denominator beside each figure); identity = fraction of prompt-named element ids present in both the first and final emission, mean over measured cells. Multi-turn cells publish here only — parsePassRate remains a single-shot claim.

Excluded from this section: tier-b-001 — pre-v3 probe scaffold: identity figures structurally unfair (authoring protocol v3 note).

Session-economics cohort: 618-stage2-20260807.

Expected spend per correct artifact (USD)

Broken out per model arm, not only per condition. The conditions did not run the same model mix, so the pooled row compares mixes as much as languages — read the arm rows, where each line is the same model on both sides.

ConditionModelRunsPass rateCold, per correctCached session, per correct
Fuaranall arms pooled123582.2%0.08620.0843
Fuaranclaude-fable-5@low17183.6%0.16090.1536
Fuaranclaude-opus-4-8@low18080.6%0.07620.0702
Fuarangemini-3.1-pro-preview17181.9%0.15620.1562
Fuarangemini-3.6-flash17489.7%0.06980.0698
Fuarangpt-5.6-sol@low17186.5%0.06340.0634
Fuarangpt-5.6-terra@low17668.8%0.03140.0314
Fuarangrok-4.519284.4%0.04630.0463
JSX + shadcn/uiall arms pooled120098.4%0.05070.0506
JSX + shadcn/uiclaude-fable-5@low17198.8%0.09450.0942
JSX + shadcn/uiclaude-opus-4-8@low17198.2%0.04970.0493
JSX + shadcn/uigemini-3.1-pro-preview17197.1%0.06100.0610
JSX + shadcn/uigemini-3.6-flash16599.4%0.06280.0628
JSX + shadcn/uigpt-5.6-sol@low17197.7%0.05140.0514
JSX + shadcn/uigpt-5.6-terra@low16898.2%0.02400.0240
JSX + shadcn/uigrok-4.518399.5%0.01380.0138
Feliz (bare)all arms pooled120079.8%0.07040.0703
Feliz (bare)claude-fable-5@low17184.2%0.11760.1173
Feliz (bare)claude-opus-4-8@low17177.8%0.06310.0625
Feliz (bare)gemini-3.1-pro-preview17184.8%0.10310.1031
Feliz (bare)gemini-3.6-flash16589.7%0.06530.0653
Feliz (bare)gpt-5.6-sol@low17184.2%0.06410.0641
Feliz (bare)gpt-5.6-terra@low16872.6%0.04390.0439
Feliz (bare)grok-4.518366.7%0.02390.0239
Dash (Python)all arms pooled42399.1%0.06540.0652
Dash (Python)claude-fable-5@low60100.0%0.09870.0978
Dash (Python)claude-opus-4-8@low6095.0%0.05310.0527
Dash (Python)gemini-3.1-pro-preview6098.3%0.07910.0791
Dash (Python)gemini-3.6-flash60100.0%0.09140.0914
Dash (Python)gpt-5.6-sol@low60100.0%0.07710.0771
Dash (Python)gpt-5.6-terra@low60100.0%0.03780.0378
Dash (Python)grok-4.563100.0%0.02210.0221

Expected spend per correct artifact: mean per-call USD over ALL primary cells (failures included; repair cells excluded) / pass rate. Each condition passes its OWN gate - fuaran: strict wire parse AND judge; code baselines: a judged render gate over code never compiled or executed in-harness - so cross-condition comparison is conservative toward the baselines.

spend totals undercount whenever attempts were abandoned client-side (timeouts bill the provider but return no usage payload) — see the harness cost-undercount caveat

Provenance

Every figure above is emitted by the harness into this page's feed — nothing is hand-typed, and a number cannot travel without its stamp.