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    </>  );}