Streaming an AI response means showing parts of an answer while the computation, evidence checks or external tools are still running. Those parts are provisional. A trustworthy interface distinguishes generated text from verified facts, an attempted tool call from an actual change, and an interrupted stream from a completed request. The safest design gives each response a named task identity, records event sequence and validation state, and displays final completion only after independent acceptance checks. Faster text is a user-experience feature, not proof that the underlying task has succeeded.
If a streamed assistant says “your class booking is now changed” before the booking system confirms the result, the interface has crossed a trust boundary. A browser may render a sentence instantly while a back-end transaction later fails or waits for human approval. This chapter builds a small streaming contract, walks through an invented eighty-request laboratory, calculates the difference between early visible words and verified complete outcomes, and shows how to recover from disconnects without duplicating external actions. The methods apply to current limited AI systems; hypothetical artificial superintelligence is not assumed to exist.
A useful starting map is the How Super Intelligence Works hub. The contract-first agents chapter explains acceptance criteria, safe retries and reconciliation covers uncertain tool outcomes, and agent state machines considers reachable operational states. This lesson is specifically about the boundary between an incomplete streamed presentation and an outcome that may responsibly be called final. All numerical datasets and product names below are invented teaching examples.
Choose a reader route
- Building a chat interface? Follow the contract, protocol and state sections before deciding how to render chunks.
- Handling account or booking updates? Begin with tool-side confirmation and the difference between a receipt and an action.
- Evaluating an AI experience? Work the eighty-task packet with a calculator and check each denominator.
- Teaching digital literacy? Use the transfer exercise to show why appearing finished is not the same as being verified.
Contents
- 1. An answer can be visible before it is true
- 2. Separate stream events from source and tool events
- 3. Design a three-layer completion contract
- 4. Reliable event transport and reconnection
- 5. Provisional, reviewed, committed and withdrawn
- 6. Streaming and actual side effects
- 7. Worked case: eighty study-support requests
- 8. Calculations: exposure, error and completion
- 9. Six failures and practical repairs
- 10. Transfer exercise: streaming a fee quote
- 11. Trust, privacy and accessible disclosure
- 12. Release tests and measured outcomes
- 13. Limits, uncertainty and governance
- Frequently asked questions
- Technical source reading
- Learning and career pathways
1. An answer can be visible before it is true
Consider a student asking for the current revision deadline. The model may begin with “The deadline is Friday” while a retrieval process has not yet resolved whether the calendar belongs to the correct school or term. That first sentence is a suggestion generated under the model’s present context, not a confirmed record of a source. If an earlier chunk later changes to “Thursday” after the correct document is found, the interface must make the correction visible. Silently replacing an earlier definitive answer can mislead a reader who copied or acted on the first sentence.
Distinguish visibility from correctness and commitment. Visibility means a person saw or could see some bytes. Correctness requires the content to satisfy evidence and task criteria. Commitment means the system has approved that result for final presentation or for a real external effect. These states may occur in different orders depending on the application. Some tasks can stream harmless exploratory analysis while reserving final claims for confirmation. Other tasks should withhold critical identifiers, decisions or medical/legal-style assertions until qualified review.
A useful example is a tutoring desk answering a mathematics question. It can safely stream the explanation “first convert both quantities to the same unit” before final verification, if the interface clearly treats it as a working explanation. But a fee invoice, booking confirmation or assessment result is a different kind of output. The model’s ability to produce text does not grant authority to change records or send a binding notice. State rules must depend on consequence, not on how quickly words arrive.
A streaming channel can also omit context. Readers see words in a particular order; they may stop watching or share a partial screenshot. Designing only for the final document ignores what happened during that interval. A response should communicate whether a segment is provisional, whether a critical citation has been checked, and whether the request is still in progress. Interface affordances such as progress labels help, but their meaning must match real back-end state rather than a progress bar driven by elapsed time.
The engineering discipline begins by defining claims a reader may act upon. Some claims are descriptive and reversible: “I am looking for the relevant timetable.” Others are consequential: “Your appointment has been cancelled,” “The payment has cleared,” or “I verified the cited statistic.” Put these in different output categories and specify the independent evidence required before using completed language. If the system cannot obtain the evidence, uncertainty is an honest terminal outcome, not a cosmetic problem to be solved by more fluent text.
2. Separate stream events from source and tool events
A stream event is a message delivered through a channel, perhaps containing part of the model’s current text. A source-observation event records that a retriever or reviewer consulted a particular version of data. A tool-attempt event records a command sent to a service. A tool-result event records the service’s response. An outcome-verification event represents a separate test of the real state. These are different claims about what happened. A stream cannot inherit truth simply because it is transmitted over a reliable network.
Give a task one stable intent identifier and each generation attempt a distinct ID. Within one attempt, give user-visible events monotonically increasing sequence numbers. If a client reconnects and receives the same event twice, it should recognise the repeat without presenting duplicated fragments as new facts. Sequence numbers are useful even if the transport protocol supplies a last-event mechanism, because business-level message identity and transport-level delivery may differ. A chunk must be attributable to the version of the working answer it belongs to.
For example, intent LESSON-048 might emit an opening-status event 1, provisional_text event 2, source_checked event 3, revised_text event 4, and answer_final event 5. If the browser sees events 1, 2 and 5 but missed 3 and 4, blindly appending the final marker produces an inconsistent history. The client must either request a coherent latest snapshot from the server or enter a state that exposes its missing information. Do not pretend that a stream of concatenated strings is a trustworthy audit record.
Separate message content from control signals. Text chunks can include punctuation, code examples or user quotations that should not be interpreted as commands. Control events such as waiting_for_review or action_confirmed should be emitted by a trusted orchestrator after it checks the relevant state, not by parsing phrases from a model response. If the model writes “I am done,” that is just text. The application decides whether the declared task contract was actually fulfilled.
To reduce privacy risk, do not copy credentials, internal prompts, personal identifiers or raw tool authorization details into browser event payloads. Maintain a safe public event envelope and an access-controlled operations ledger. A reconnect request should prove that the viewer may still access the task. Someone guessing a stream identifier should not be able to subscribe to another family’s educational, financial or health-related results.
3. Design a three-layer completion contract
The first layer is the content contract: what question is being answered and what constitutes a sufficiently supported explanation? It can name required fields, relevant source scope, acceptable uncertainty and audience. The second layer is the process contract: which checks, reviewers and tool steps are required, and in what order? The third is the presentation contract: which intermediate messages may be displayed, when a correction must be signalled, and which state lets the interface say “complete.” All three layers are needed to avoid confusing pleasant streaming with actual completion.
Consider an information request. Content contract: cite the actual term-calendar page, give a date in a named time zone and avoid claiming a result if the source is inaccessible. Process contract: retrieve the correct institution’s calendar, compare date and year, and preserve a reference. Presentation contract: allow an early “checking calendar” status, but withhold the date as authoritative until validated. The final answer should carry a source link and the checked time if it is material. This can be simpler than having a model write everything in one pass, then editing away mistakes afterward.
Now consider a booking update. Its content includes student, class and time. Its process demands current permission, approval where applicable, an authorized write, and read-after-write or another authoritative receipt. Its presentation contract should use “proposed,” “awaiting approval,” “submitted,” “confirmed,” “rejected” or “outcome unknown” with meanings grounded in actual events. A sentence that sounds more optimistic is not a substitute for the corresponding event. The interface must handle expiry or cancellation independently of the model’s last token.
Completion may require only a verified informational answer or may require an external state change. Do not use one generic success flag for both. The app can finish presenting a summary while still awaiting an external action, or it can confirm an action even if text generation was interrupted. Maintain separate booleans or typed states for content_acceptance, action_authorization, action_execution and readback. Derived user-facing status should be computed from those fields using explicit rules.
Design errors as part of the contract. If a retrieval source is missing, a claim remains unverified. If an approval expires, an authorized action must not proceed. If a tool times out, an outcome must not be marked failed without reconciliation. If the client disconnects, server-side work may or may not continue according to an explicit job policy. Each contingency has a safe display state and a known route to follow up. Declaring these before implementation is more reliable than writing apology text after an incident.
4. Reliable event transport and reconnection
One possible transport is the browser’s Server-Sent Events mechanism, described in MDN’s SSE documentation and the WHATWG HTML living standard. SSE can deliver event, data, id and retry fields, and browsers can reconnect after interruptions. This defines network behaviour and does not guarantee that the application deduplicated side effects or preserved all business-state transitions. Other transports, including WebSockets and streaming HTTP responses, need equivalent application-level contracts.
Use two independent logs conceptually. The transport event log enables efficient replay of view state, perhaps from a bounded point, using public-safe content. The operation log records source and tool decisions under restricted access. If events are trimmed, the server must be able to send a fresh coherent snapshot of current public state; it should not improvise missing chunks from model memory. A client’s last acknowledged event marker can guide replay, but it does not prove the user’s booking has been changed.
An ordered sequence alone does not prevent stale generations. If a previous model attempt and a replacement attempt both stream text for the same intent, a browser could interleave their answers. Include an attempt or generation ID; after a new version is designated current, older chunks cannot mutate the displayed final answer. The server should reject events from superseded workers when assembling its current view, especially after cancellation and restart.
Reconnect tests need failure injection. Start a stream, disconnect after three chunks, change a source, reconnect, and observe whether the client shows a consistent revised answer with the correct source version. Duplicate one event and confirm that the browser does not repeat it. Drop a control event and confirm a fresh snapshot restores the right state. Exercise authorization expiry during reconnection. An app that succeeds only with a perfect network has not completed its transport design.
Consider caching and intermediaries. A proxy may buffer chunks, a mobile device may suspend execution, and browser reload may lose local state. A user may view an old screen hours later. Cache-control and transport tuning can affect perceived responsiveness, but the safer rule is not to equate a progress indicator with committed outcome. Whenever the user returns after a long pause, rehydrate status from the authoritative task state rather than a local optimistic animation.
5. Provisional, reviewed, committed and withdrawn
A practical typed state machine may contain created, generating_provisional, source_checking, awaiting_approval, tool_submitted, tool_outcome_unknown, content_verified, action_confirmed, held and closed. Not every task visits every state. Keep state transitions separate from free-form text. An ordinary explanation could go directly from generating_provisional to content_verified. An authorized write may require approval and independent readback. A cancelled task can still have an in-flight write whose outcome must be reconciled.
Use a version for each material revision. If a provisional sentence is withdrawn after source checking, represent withdrawal or replacement explicitly. A reader who saw the earlier claim should have a chance to notice a correction. In a long document, the interface can keep a visible revision note near the corrected passage and preserve a stable final version for copying. A correction is not evidence of failure if it is clearly disclosed before the user relies on the final answer; hiding the correction undermines trust.
Finality itself has scope. A text response can be finalized while a downstream human review remains open; call it “summary complete, action pending,” not “everything complete.” A transaction receipt can be confirmed while a lengthy prose explanation is still streaming; the action status need not wait for the narrative. Modeling these as independent, composable outcomes avoids both false finality and unnecessary delays.
Unknown outcomes deserve an explicit state. Suppose a receipt update request reached an external system but the network failed before its acknowledgement returned. The model can stream “I have submitted the request”; it cannot stream “the record was updated” until an authoritative readback confirms it. If a retry is safe only under an idempotency key, the orchestrator uses that key, not a new randomly generated command. The presentation should keep the user informed without asking them to repeat a potentially irreversible operation.
A good implementation also defines retention. Temporary text chunks may not need to be kept forever; a final statement, critical corrections, approvals and transaction evidence may have different operational and legal retention rules. Do not retain a confidential raw user message across multiple analytics systems merely to improve a progress animation. Minimize client-visible state, scope access and document which portions are sufficient for debugging a disputed answer.
6. Streaming and actual side effects
A proposed action is a proposal. Generated text is not a receipt. A tool call sent is not a change observed in the destination system. Treat these as separate interfaces in the code, not merely as different phrases in a prompt. An agent can emit a provisional suggested meeting time, but a calendar event should appear as confirmed only after the calendar service accepts the authorized write and the appropriate verification method establishes it. For high-impact operations, human approval is a new authority event rather than something the model may infer from a friendly reply.
Design a two-phase presentation: first, describe what may happen; second, report what did happen. The first phase can be cancelable, but cancellation requires clear semantics. If the user cancels before a command is issued, no side effect should occur. If cancellation arrives after the destination committed an operation, the interface must tell the truth, reconcile the effect and determine whether a separately authorized reversal is possible. “Cancelled” cannot mean “nothing happened” in every distributed workflow.
For example, a learner might ask to reserve an extra class. The assistant could stream a comparison of available slots, check the parent’s approved scope, and wait for a choice. It should not send a reservation while still generating a suggestion, or mark it complete because a spinner stopped. If the slot vanishes before confirmation, the corrected response needs a new source check and an honest statement that the earlier option was provisional. No amount of fluent streaming overrides limited authority or live availability.
The distinction is especially important when a mobile viewer drops offline. A task may continue on the server after a device closes, but a new device should not reissue a command just to rebuild the conversational transcript. The task and the view have different lifecycles. The reader can reattach to the same intent and inspect its latest verifiable status, while the controlled action service preserves idempotency and reviews any uncertainty.
7. Worked case: eighty study-support requests
The fictional Juniper Learning Service handles eighty distinct requests across one teaching-day trial. Thirty-six ask general study questions; twenty-eight require checking a named school document; sixteen ask for an account or booking change. Each intention receives a stable identifier, and each message chunk carries an attempt, revision and sequence marker. The product is allowed to show early low-risk text, but the model never declares an external change successful by itself. These counts are deliberately invented teaching data, not a measured benchmark or prediction about any real provider.
Of thirty-six general-information requests, thirty-two reach a validated satisfactory answer after the appropriate facts or calculations are checked. Four are held because essential premises cannot be established. Of twenty-eight document requests, twenty-three reach verified answers using the appropriate document version, three remain held due to conflicting documents and two due to missing source material. Of sixteen account-change intentions, twelve receive authoritative readback confirming a permitted change, two fail their authorisation gate before any write, one is rejected by the destination because the underlying record changed and one times out but is subsequently reconciled as not performed.
The interface shows early provisional output for seventy-two of the eighty intentions. Of those seventy-two, sixty end with a satisfactory verified answer or status that requires no substantive correction, seven are materially revised and then verified, and five are held after checks reveal unresolved requirements. The eight requests without an early preview are also held. All eighty intentions have a disposition, but thirteen do not have the requested successful outcome. The distribution deliberately illustrates why a large amount of visible text can coexist with genuine uncertainty.
Ten connections drop while work continues. Eight readers reconnect using the stable task reference and receive a coherent version of current state; two return much later and retrieve the latest authoritative status without replaying the original text. None creates a new user intention. The browser is not permitted to repeat a tool command merely to reconstruct its display. In a real deployment this claim would require an actual readback of attempted and confirmed external operations.
- General information: 36 = 32 verified + 4 held.
- Document reads: 28 = 23 verified + 3 source conflicts + 2 unavailable documents.
- Account changes: 16 = 12 confirmed + 2 denied before write + 1 rejected conflict + 1 reconciled non-effect.
- Total intentions: 36 + 28 + 16 = 80.
- Provisional displays: 72 = 60 verified unchanged + 7 corrected and verified + 5 held.
- No provisional display: 8 held, so verified satisfactory outcomes = 32 + 23 + 12 = 67; unfulfilled = 13.
- Disconnects: 10, comprising 8 coherent stream reconnections and 2 later status retrievals.
One document case exposes the value of a visible correction. Event one announces that the timetable is being checked. Event two provisionally proposes a date from a convincing-looking file. Event three discovers that the file belonged to the prior academic year. The orchestrator records the provisional date as withdrawn. Event four retrieves the correct year and school, event five presents a new cited date, and event six records that the content check passed. A reader who copied the old proposal should see that a correction was made. Silently replacing text does not retract every screenshot or memory of it.
The timeout case is different. A booking change with a stable intent and idempotency reference is submitted once after permission checks. The network fails before an acknowledgement arrives. A control event reports that the outcome is unknown. The operations service looks up the destination record by its stable reference and finds no matching change after the documented reconciliation procedure. Only then does it classify the attempt as not performed. A further action, if needed, requires the same user mandate to remain valid and the application to respect duplicate-prevention rules.
8. Calculations: exposure, error and completion
First calculate what the interface displayed before verification: 72 divided by 80 equals 90%. This is a preview-coverage metric, not task accuracy. A system might show provisional text for every request and still fail to answer every request correctly. The verified satisfactory fraction is 67 divided by 80, or 83.75%. The denominators match because both measure unique intentions, but the numerators describe different properties. Neither percentage should be called model intelligence or evidence that artificial superintelligence exists.
Of the seventy-two previewed intentions, seven required a substantive correction before passing verification. That gives 7 divided by 72, approximately 9.72%. Five previews ended with an unresolved hold, 5 divided by 72, approximately 6.94%. Those are not mutually exclusive definitions of every possible model error; they describe the fictional request-level dispositions. Without checking every claim inside all seventy-two outputs, it would be unsupported to assert that only 9.72% of model claims were wrong.
For account changes, twelve confirmed effects among sixteen intentions give 12 divided by 16 = 75% fulfilled. Two intentions were denied before a write, leaving fourteen attempted actions. Twelve of fourteen reached confirmed completion, approximately 85.71%. The remaining two attempted actions are the conflict rejection and reconciled non-effect. Tool-effect confirmation uses fourteen as its denominator; user-intention fulfilment uses sixteen. A different denominator produces a different answer, not an alternate definition of truth.
The ten interrupted connections all ultimately reached a coherent latest status under the exercise’s assumptions, but only eight rejoined an ongoing stream. Immediate stream reconnection was 8 divided by 10 = 80%; the other two used later status retrieval. Calling this “100% uninterrupted streaming” would be false. Separately, the application experienced no duplicate account changes attributable to reconnects in the teaching case; a live claim would require source-system evidence and appropriate sample size.
Suppose every one of the eighty intentions requires three independently recorded acceptance fields: disposition, evidence or reason for a hold, and a safe user-facing state. That makes 80 times 3 = 240 required fields. If seven fields are missing, field-level completeness is 233 divided by 240, approximately 97.08%. The percentage does not reveal whether omissions cluster around sensitive account changes or affect seven different people. A release gate should inspect severity and distribution instead of declaring success because an aggregate exceeds 97%.
There is also a design counterfactual. Holding every word until validation would eliminate premature content corrections visible to the user, by construction, but could increase perceived waiting. Streaming earlier may improve responsiveness while exposing a provisional error. The trade-off depends on how consequential an early false statement is, whether users understand the provisional state, and whether the interface discloses a correction. No universal optimum follows from invented numbers; real teams must study their users and verify the consequences.
9. Six failures and practical repairs
Failure A: the UI shows a green check when the model emits its final text chunk. Diagnosis: generation was equated with completion. Repair: require an orchestrator-issued final event that references acceptance checks rather than the model’s words. Test a case where generation has finished but source verification is unavailable. The interface should report held or unverified, never silently transform uncertainty into success.
Failure B: after mobile reconnection, older chunks are appended to a newer revision and repeated. Diagnosis: transport events were not separated by stable task, attempt and sequence identity. Repair: deduplicate messages, reject superseded generations and request a coherent snapshot when event continuity is uncertain. Test repeated, dropped and reordered view events, without executing actual user actions as part of display recovery.
Failure C: a booking statement becomes final after the tool times out. Diagnosis: a submitted command was treated as a completed external effect. Repair: preserve attempted, unknown and independently confirmed as different states; reconcile by destination reference before retries. Test both a committed but delayed action and an action that never happened. Successful text generation is not evidence of either one.
Failure D: an incorrect provisional date is silently edited after the user copied it. Diagnosis: version replacement was designed without communication repair. Introduce visible correction notes and a stable final answer with source context. Depending on the consequence, provide an authorised notification that the earlier claim has changed. The model cannot erase every screenshot, so an appropriate correction channel may be necessary.
Failure E: confidential values enter the browser event feed while a tool is running. Diagnosis: back-end tool results were copied without a safe allowlist. Keep credentials, raw private data and privileged approval records out of the client stream. Validate the permitted event schema and test it with fictitious sensitive values. A log intended for troubleshooting can itself create a data breach if it mirrors entire secret-bearing payloads.
Failure F: the interface announces an exact percent complete based only on elapsed time, even though a human review is pending. Diagnosis: display animation masquerades as measured operational progress. Show named stages, bounded estimates only where the system has a defensible basis, and a way to check the result later. A spinner cannot guarantee the timing or acceptability of an unfinished action.
10. Transfer exercise: streaming a fee quote
A fictional science-club service receives twenty requests for a workshop fee quote. Each may display a provisional subtotal but may not finalise a fee until the correct membership tier and tax treatment are verified. Sixteen provisional quotes appear quickly. Of those sixteen, thirteen eventually match checked records, two are corrected and confirmed, and one is held because membership status is disputed. Four requests have no early quote and remain held. Calculate preview coverage, the fraction of previews needing substantive correction, and total final verified quotes.
The answers are 16 divided by 20 = 80% preview coverage, 2 divided by 16 = 12.5% corrected previews, and thirteen unchanged plus two corrected equals fifteen verified quotes out of twenty, or 75% satisfactory outcomes. The one previewed hold plus four no-preview holds account for the five unresolved intentions. The case is invented. The denominators differ because correction concerns previews while fulfilment concerns the complete set of requested quotes.
Now change the context: the club charges a deposit only after a guardian explicitly accepts the final checked quotation. Provisional text no longer concerns merely a number on a screen. The streaming contract must provide a separate accept-or-decline step after verifying the quote, followed by a permitted payment attempt and confirmation from the provider. If payment times out, preserve unknown outcome and reconcile by transaction reference before attempting another payment. A displayed amount, a human acceptance and money actually transferred are three distinct facts.
A further independent exercise concerns an approved quotation that becomes invalid when membership expires during review. Draw the minimal state transitions and identify which time must be checked. The correct design preserves the provisional history, rechecks membership at the action boundary, presents any revised final quote and requests fresh acceptance where necessary. It must not treat the earlier displayed price as irrevocable authority. This solution transfers the idea of evidence-based finality from education into commerce without assuming a model has banking powers.
11. Trust, privacy and accessible disclosure
Streaming source text can carry misleading instructions from third-party web pages or uploaded documents. Treat retrieved material as data until it passes the application’s evidence and tool-authorization checks. Do not convert a quotation such as “send the record now” into a permitted command merely because the model repeats it. Validate tool arguments against the user’s original mandate and a trusted policy, and do not surface privileged prompts or authentication tokens as stream events.
Readers using screen readers, keyboard access or reduced motion settings need usable status and correction announcements. Streaming every new character into an assertive live region can become a flood of interruptions. The product should provide clear stage changes, keyboard-operable controls, a coherent final answer and a stable way to review corrections. The requirements vary by interface. The published WCAG 2.2 standard supplies relevant digital-accessibility criteria, and the accessible agent interfaces chapter covers that distinct implementation problem in greater depth.
Avoid forcing a live connection as the only way to recover important information. A person returning with a different device or unreliable network should be able to inspect current task status through an authenticated fallback. The system must check that the person remains authorised to view the result, especially after consent or account access expires. A stream identifier is not a universal viewing permission, and cached early text should not leak one student’s private details to another user.
12. Release tests and measured outcomes
Before launch, build a test matrix rather than relying on the fact that streaming looks smooth in one demonstration. Include an ordinary verified answer, a source-version conflict, a citation that does not support the statement, a cancelled request, an expired approval, a confirmed tool change, a delayed external receipt, a genuinely unknown outcome, and a disconnect just before a correction event. Record the exact expected view state and authoritative operational state for each case.
Run controlled tests with message duplication, packet interruption and stale generation IDs. A reconnect must not create a new business intent or replay an irreversible write. A human reviewer should examine cases whose text sounds completed although it is not. When a model, source index, tool, or interface is updated, retest the boundary because a changed event order can invalidate assumptions about what the viewer sees.
Measure time to a meaningful first update, preview coverage, correction frequency, actual verified outcomes, unresolved cases by consequence and status-retrieval success. State time window, sample population and units; do not advertise improvements without comparison evidence. The fictional Juniper counts illustrate arithmetic, not measured performance. Real product decisions require actual traces, qualified human assessment and appropriate user research.
13. Limits, uncertainty and governance
A reliable stream protocol cannot prove that a model’s statements are true. A cited source may itself be stale; a signed receipt may describe only command acceptance; a readback may query an outdated replica. A beautiful final view can still conceal an unjust approval process. Treat transport reliability, content support, tool authorization and independent verification as separate responsibilities with named owners.
Some applications should deliberately withhold substantive output until critical checks finish. This may increase perceived waiting but lower the risk that someone acts on incorrect provisional information. Other uses, such as brainstorming or mathematics practice, can safely benefit from visible exploratory stages if their tentative nature is explicit. There is no universal streaming policy; consequence and user understanding determine the appropriate boundary.
The larger transferable distinction is between what words appeared, what trusted evidence was available, and what actually changed outside the model. Current AI applications can produce persuasive statements while being mistaken about any of those. Finality should be earned from evidence and authority, not inferred from the appearance of a last token.
Frequently asked questions
Does the last streamed token mean the task completed?
No. Text generation can finish before citation checks, human approval or external readback. An orchestrator should issue a completion event only when the specified acceptance criteria have actually passed.
Should provisional text be copied or shared?
Treat it as a working suggestion. A reliable interface should identify uncertainty and provide a stable checked version, including visible corrections to consequential claims. For dates, prices, or actions, rely on the verified final state.
Does Server-Sent Events guarantee exactly-once processing?
No. SSE specifies event transport behaviour. The application separately needs stable identities, appropriate deduplication and snapshot reconciliation. External actions need their own idempotency and authority checks.
What happens if someone closes the app after authorising a change?
The server’s task policy determines whether work continues. On return, the client should retrieve the existing intent and its authoritative status, not issue a fresh command to reconstruct the chat. An uncertain action needs reconciliation.
Why not wait and send one final response?
That can be the right choice for high-consequence claims. Lower-risk tasks may benefit from quick progress information or a provisional explanation. The decision is about reader comprehension, consequences and correction handling, not simply maximum speed.
Does this demonstrate artificial superintelligence?
No. These methods apply to limited existing software workflows. Hypothetical artificial superintelligence has not been demonstrated by the transport or checks described here.
Technical source reading
- WHATWG HTML standard: Server-Sent Events — event framing and reconnection behaviour.
- MDN: Using server-sent events — developer examples of event, data, id, and retry fields.
- W3C Web Content Accessibility Guidelines 2.2 — normative success criteria for digital accessibility.
- NIST AI RMF 1.0 — governance, measurement and responsibility for AI-related risk.
- RFC 9110 HTTP Semantics — transport and method concepts relevant to distinguishing requests from effects.
Learning and career pathways
For engineers, connect this chapter to durable agent workflows and independent source-of-truth readback. For UX designers and educators, the How X Works library and Gold Standard of Education connect system discipline to general learning. The habit worth transferring into everyday work is simple: ask whether you have seen a plausible statement or have confirmed what actually happened.