Skip to main content

Problem

Silent failures are the most consistent design gap in the audit. The hung generation state — where the streaming indicator continues with no differentiation between active generation and a frozen one — was observed in four of six products. No product escalates from a generation indicator to a distinct error state.

Prescription

Four requirements: visibility (every failure produces a visible signal), specificity (error messages identify what went wrong at an actionable level), input preservation (prompt never cleared during any error), recovery path (every error state has a clear next action). Four error types with distinct visual treatment and copy.

Design decisions

Watchdog threshold: 8s standard, expandable to 30s for known heavy tasks via backend flag. Error message specificity vs. accuracy — when genuinely unknown, honest vagueness beats fabricated specificity. Minimum viable implementation: input preservation + single retry CTA satisfies the baseline before the full taxonomy.

Tradeoffs

Hung state escalation risks false positives on slow but functional responses. Differentiated visual taxonomy increases implementation surface area. Auto-retry behavior on network errors must handle the case where the connection is still down.

Pattern definition

Problem

Silent failures are the most consistent design gap in the audit. The hung generation state — where the streaming indicator continues with no differentiation between active generation and a frozen one — was observed in four of six products. No product escalates from a generation indicator to a distinct error state.

Prescription

Four requirements: visibility (every failure produces a visible signal), specificity (error messages identify what went wrong at an actionable level), input preservation (prompt never cleared during any error), recovery path (every error state has a clear next action). Four error types with distinct visual treatment and copy.

Design decisions

Watchdog threshold: 8s standard, expandable to 30s for known heavy tasks via backend flag. Error message specificity vs. accuracy — when genuinely unknown, honest vagueness beats fabricated specificity. Minimum viable implementation: input preservation + single retry CTA satisfies the baseline before the full taxonomy.

Tradeoffs

Hung state escalation risks false positives on slow but functional responses. Differentiated visual taxonomy increases implementation surface area. Auto-retry behavior on network errors must handle the case where the connection is still down.

Interactive demo

Audit finding

The hung generation state — where the streaming indicator continues with no visual distinction between active generation and a frozen one — was observed in Claude, ChatGPT, Gemini, and Perplexity. In every case the interface communicated nothing to the user about the failure. No product escalated to an explicit error state. Claude's network error message was the strongest observed: it identified what happened, preserved the input, and provided a clear recovery path.

AI response

Select an error type above. Hung and network errors stream partial content before the watchdog fires.

Preserved

All states

Generation stalled

The response stopped mid-stream. Your prompt has been preserved. Recovery: Resume generation / Copy partial output.

Connection lost

Your network connection dropped. Retrying automatically in 5s. Recovery: Retry now / Copy prompt.

Context length exceeded

The conversation exceeds the current processing window. Trim the oldest messages to continue. Recovery: Auto-trim and resubmit.

Content policy

This request triggers a system safety block. Edit your prompt to continue. Recovery: Edit prompt / View guidelines.