Which chart answers the question

One <Branch>, four views, one fallback. The criteria on each <Option> are what the model actually reasons about — a bare key like “chart” would give it nothing. Below minConfidence the fallback renders instead of a guess.

the request

THE QUESTION — sent as instructions · backticked paths scope what it reads
reference state:
STATE THIS QUESTION RECEIVES — combine freely · sets the pick prop
all channels — the default, so no pick prop is needed
WHAT THE USER ASKED — pick one · the demo's own data, read as `data.question`
How has revenue moved across the last seven quarters?
resolving…

what the judgment returned

this render
nothing resolved yet
no judgments resolved yet

your state, as codegenerated from the editor on the right

// app/providers.tsx — the state every question on this page receives
<JevProvider
  resolve={askJev}
  scope={{ app: { product: "Northwind Analytics", user: "ana", role: "analyst", familiarity: "returning" } }}
  initialAmbient={{ recent_actions: [], time_spent: "short" }}
>

the componentapp/chart/Demo.tsx

'use client';import { Branch, Option, type DecisionCost } from 'jev-ui';import { useState } from 'react';// … demo scaffolding — answer panel, mock series, and the four viewsexport function ChartDemo() {  const [question, setQuestion] = useState(QUESTIONS[0]!);  const [cost, setCost] = useState<DecisionCost | undefined>();  const { pick, ask } = usePick();  return (    <>      <section className="card" data-testid="demo-live" style={{ display: 'grid', gap: 14 }}>        // … the controls that drive the demo        <Branch          id="chart_view"          ask="Which view best answers the question in `data.question` about the revenue figures in `data.series`?"   ← set by the controls above          data={{ question: question.text, series: SERIES }}          minConfidence={0.5}          pick={undefined}   // every channel — the default   ← set by the controls above          onResolved={setCost}          pending={<div data-testid="view-pending">resolving…</div>}        >          <Option            k="line"            when="The question is about a trend, a direction, or how something changed across many time periods."          >            <LineView />          </Option>          <Option            k="bars"            when="The question compares a few named categories against one another at a single point in time."          >            <BarsView />          </Option>          <Option k="table" when="The question needs exact per-row numbers, or several columns read together.">            <TableView />          </Option>          <Option k="stat" when="The question asks for one headline number and nothing else.">            <StatView />          </Option>          <Option fallback>            <TableView />          </Option>        </Branch>      </section>      // … omitted    </>  );}