diff --git a/docs/design/ui-contract/20260718-showcase-receipt/after-click-through-verified.png b/docs/design/ui-contract/20260718-showcase-receipt/after-click-through-verified.png new file mode 100644 index 000000000..dbe6760b7 Binary files /dev/null and b/docs/design/ui-contract/20260718-showcase-receipt/after-click-through-verified.png differ diff --git a/docs/design/ui-contract/20260718-showcase-receipt/after-example-destination-showcase.png b/docs/design/ui-contract/20260718-showcase-receipt/after-example-destination-showcase.png new file mode 100644 index 000000000..92227afed Binary files /dev/null and b/docs/design/ui-contract/20260718-showcase-receipt/after-example-destination-showcase.png differ diff --git a/docs/design/ui-contract/20260718-showcase-receipt/before-example-destination-qa-receipt.png b/docs/design/ui-contract/20260718-showcase-receipt/before-example-destination-qa-receipt.png new file mode 100644 index 000000000..ed2855944 Binary files /dev/null and b/docs/design/ui-contract/20260718-showcase-receipt/before-example-destination-qa-receipt.png differ diff --git a/docs/design/ui-contract/20260718-showcase-receipt/manifest.json b/docs/design/ui-contract/20260718-showcase-receipt/manifest.json new file mode 100644 index 000000000..c64a5a2d9 --- /dev/null +++ b/docs/design/ui-contract/20260718-showcase-receipt/manifest.json @@ -0,0 +1,10 @@ +{ + "schema": "nodebench-ui-contract-v1", + "capturedAt": "2026-07-18T00:45:00Z", + "slice": "showcase-receipt", + "app": "nodebench-ai (landing example destination, /redesign/chat)", + "notes": "The landing's one-click answered example now lands on a showcase-grade receipt instead of yesterday's QA-run prompt. New receipt /r/42c0i81fzxr0 was minted through the REAL pipeline (chatRuns:mintShowcaseRun, internalMutation invoked via the sanctioned npx-convex-run deploy-key path, founder-owned, deep tier): 'Compare Anthropic and OpenAI on enterprise agent strategy...' - Deep dive, 5 sources, 24.0s, <$0.01, full research-run stages and runtime board, carried into a live composer. Nothing fabricated. after-click-through-verified.png is the actual click destination captured post-swap (dest URL asserted = /r/42c0i81fzxr0).", + "pages": [ + { "route": "/redesign/chat -> example click", "viewport": { "width": 1440, "height": 900 }, "theme": "dark", "before": "before-example-destination-qa-receipt.png", "after": "after-example-destination-showcase.png" } + ] +} diff --git a/src/features/redesign/components/ChatEmptyState.tsx b/src/features/redesign/components/ChatEmptyState.tsx index b3e78bb9d..91667b6df 100644 --- a/src/features/redesign/components/ChatEmptyState.tsx +++ b/src/features/redesign/components/ChatEmptyState.tsx @@ -171,8 +171,10 @@ export function ChatEmptyState({ onPick, starters = STARTERS }: ChatEmptyStatePr evidence rows, model, cost, deterministic hash — reachable in one click with no account and no spend. The route carries the answer into a live composer, so the example IS a usable starting point. - Swap the hash when a stronger showcase receipt is minted. */} - + This receipt was minted through the real pipeline via + chatRuns:mintShowcaseRun (deep tier, founder-owned); re-mint and + swap the hash here when the example ages. */} + See a real answered example, receipts included →