githubnext/chopinPublic

Let's compose rich plans together

Refine analysis result copy, popover and touch details

Result lines read as verb phrases with the card title as the object and the
whole sentence is the link. Option replaces Proposal. The popover drops the
duplicate chips, links cards from its excerpt rows, strips Markdown from
quotes, keeps job details in Diagnostics with plain failed-job copy, sits
clear of the message, and scrolls Diagnostics into view. Details is named
by its outcome, appears on touch only for notable messages, prefetches when
idle and recovers from a failed chunk load.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
C5MAMaggie Appleton and Claude Opus 5.5 authored
2363e47Patch
Parent01efd79
17 files changed+323-145
StackedSplit
apps/web/src/conversation-plan/analysis-details.tsx+24 −32
apps/web/src/conversation-plan/analysis-labels.ts+1 −1
apps/web/src/conversation-plan/analysis-overview.test.tsx+1 −1
apps/web/src/conversation-plan/analysis-overview.tsx+32 −12
apps/web/src/conversation-plan/links.test.ts+1 −1
apps/web/src/conversation-plan/links.ts+1 −1
apps/web/src/conversation-plan/markers.test.tsx+5 −5
apps/web/src/conversation-plan/markers.tsx+100 −44
apps/web/src/conversation-plan/outcome.test.ts+34 −8
apps/web/src/conversation-plan/outcome.ts+43 −26
apps/web/src/conversation-plan/planner-job-diagnostics.tsx+51 −0
apps/web/src/theme.css+12 −0
e2e/conversation-plan-jobs.e2e.ts+5 −1
e2e/conversation-plan-ui.e2e.ts+3 −3
e2e/decision-prose.e2e.ts+2 −2
e2e/source/analysis-host-linked.native.ts+4 −4
e2e/source/analysis-host.native.ts+4 −4