Demo helper GRI guidance UX round Page 6 of 7 · The streamed answer Invented data · Bluefin Foods Group (fictional tenant)

The streamed answer: how blocks arrive, complete, and terminate

Five states of one answer area, stacked as a storyboard. The streaming mechanism is decided; what this page puts in front of the PM is the look, decision U-5.
DECIDED · mechanism (D-g-10) PROPOSAL · presentation (U-5) 2026-08-25
Annotation · what is decided and what is being pickedDECIDED (D-g-10, 2026-08-25): server-side streaming from the get-go, over SSE with typed events (status, block, refusal, error, done). Each block passes the full deterministic gate BEFORE it is flushed: grammar validation, the banned-vocabulary filter, the no-verbatim tripwire, and source-reference resolution, so the filters lose no force under streaming (spec 8.4). The provider is pinned after the first success; no answer ever crosses vendors mid-stream. What the PM picks HERE is presentation only: the shimmer, the reveal, the label placement, and the refusal card styling. The showpiece bar applies: this surface must function AND look good. HOST NOTE: the answer area is drawn inside the Option-A-style anchored panel from page 01 as a neutral host; the U-1 pick decides the real container, and every state on this page renders identically in either.
State 1 of 5Generating. The user pressed send. From the FIRST event the answer area shows the AI-generated label and a status line with a subtle shimmer. Nothing else has arrived yet.
Ask about this page
You asked: Why is equity share disabled here?
AI-generated
Generating
Annotation · no spinner-foreverThe wait is bounded by engine constants: a first-token timeout, an inter-chunk idle timeout, and the total ceiling (the engine's timeout constant). If any of them fires, this shimmer is replaced in place by a typed error card in the same slot state 4 draws, never left running. The label is present from this very first event, before any content exists, per the provenance ruling (spec 8.9).
Annotation · the shimmer is CSS only · PM pick 2026-08-30A color-shifting rainbow sweep on a muted track (the PM's pick, replacing the earlier single-tint grey sweep): pastel hues at low opacity, slowly rotating through the spectrum, still calm enough to sit inside a form page. It stops entirely for users with reduced motion set; the "Generating" word carries the state on its own.
State 2 of 5Blocks arriving. Block one has cleared the server-side gate and rendered fully, source chip included. Block two is rendering with a soft reveal. The space below stays quiet; no placeholder skeletons for blocks that may never come.
Ask about this page
You asked: Why is equity share disabled here?
AI-generated
Equity share consolidation means reporting a portion of each entity's figures equal to the ownership stake held in it, for example 40 percent of a joint venture's energy use for a 40 percent stake.Source: Consolidation approaches explainer v2
The reporting boundary on this platform is built on the other two approaches, operational control and financial control. Equity share is listed with them so the full set of definitions stays vis
Annotation · the revealA completed block fades in and rises about 4px over half a second, then sits still; the drawn caret marks text still arriving inside the current block. Both are CSS suggestions for the build, and both stop under reduced motion. The unit of arrival is the VALIDATED BLOCK: a block that has not cleared grammar, vocabulary, verbatim, and source-resolution checks never reaches the client, so nothing drawn here can later be retracted.
State 3 of 5Complete. The done event closed the stream. Three blocks render, each source chip adjacent to the claim it supports, the footer reminder closes the answer, and two further parts sit behind a Read more reveal, drawn collapsed.
Ask about this page
You asked: Why is equity share disabled here?
AI-generated
Equity share consolidation means reporting a portion of each entity's figures equal to the ownership stake held in it, for example 40 percent of a joint venture's energy use for a 40 percent stake.Source: Consolidation approaches explainer v2
The reporting boundary on this platform is built on the other two approaches, operational control and financial control. Equity share is listed with them so the full set of definitions stays visible, but it is not an approach the platform's boundary calculations work from, which is why the option is shown and cannot be selected.Source: Reporting boundary explainer v1
The three definitions come from the platform's authored Help for the reporting boundary, which names the published reporting framework each definition is drawn from.Source: Boundary methodology explainer v1
Read more (2 further parts)
The helper explains. Decisions stay yours.
Annotation · the three-block barAt most three blocks render before the Read more reveal (experience bar, spec 13); the two further parts already streamed and are stored with the rest of the envelope, the reveal only unfolds them. Source chips bind to the claims they support, never to a footer list, and only sourced claims carry one (spec 8.5). The answer explains what equity share means, what this platform's boundary is built on, and where the definitions come from; it never advises which approach to take.
State 4 of 5Mid-stream refusal. A different question, a choice-seeking one. Block one flushed and stays. Then the stream terminates with a typed refusal event, drawn as a card with the canonical wording and its three exits. No spinner survives the termination.
Ask about this page
You asked: Which consolidation approach is right for us, operational or financial control?
AI-generated
Operational control means consolidating the full figures of operations the organization holds the authority to introduce and implement operating policies for. Financial control means consolidating the full figures of operations whose financial and operating policies the organization can direct.Source: Consolidation approaches explainer v2
That choice is yours to make, and this helper explains rather than recommends. What I can do: explain what each option means and where the definitions come from.
The helper explains. Decisions stay yours.
Annotation · a stream that dies never leaves a hanging spinnerAfter the first flush, any filter hit, provider death, or timeout terminates the stream with an in-stream typed refusal or error event; the shimmer or caret is replaced by this card in the same slot. The flushed part STAYS VISIBLE, and the stored record is exactly the flushed prefix plus the refusal (spec 8.4, 8.7): what the user saw is what the audit trail holds, nothing more and nothing less.
Annotation · the refusal wording is authored contentThe card's copy is the canonical choice-refusal wording, versioned and revisable only through the editorial chain, drawn byte-exact here. Every refusal names its exits; the first exit opens the per-option explainers this surface already carries.
State 5 of 5Budget exhausted. The ask was refused before any provider call: the organization's included monthly usage is spent. A typed refusal with exits; nothing streamed, so there is no partial answer and no AI-generated content to label.
Ask about this page
You asked: Why is equity share disabled here?
The AI helper has reached this month's included usage for your organization.
Annotation · deterministic Help never depends on the AIBudgets are enforced atomically at ask time, BEFORE any provider call (spec 8.8), so exhaustion costs nothing and leaks nothing. Everything deterministic on the page, the authored Help, the explainers, About this page, stays fully available; only the ask-a-question path pauses until the period resets. That is why this refusal card carries no AI-generated label: nothing on it was generated.
Set navigation 01 Helper anchor options· 02 Reveal options· 03 About this page· 04 Settings tab· 05 Consent dialog· 06 Streamed answer (this page)· 07 Help strip· Set index