diff --git a/.claude/ux-guidelines.md b/.claude/ux-guidelines.md index 1f16581..72644af 100644 --- a/.claude/ux-guidelines.md +++ b/.claude/ux-guidelines.md @@ -409,3 +409,16 @@ Users should always know what happens next. The investigation should feel continuous rather than page-based. The conversation should flow naturally. + +## Conversation and Reference Lanes + +On desktop, the workspace splits into two persistent lanes: + +- The left lane (approximately two-thirds) is the active conversation area. +- The right lane (approximately one-third) holds supporting reference artefacts. + +The active conversation has a stable spatial home. Question, Response, and History form one continuous interaction lane. History grows downward beneath the active response. Each turn stays part of the same notebook within that lane. + +Supporting artefacts should remain spatially stable while the conversation grows. Desktop width should be used to preserve context, not merely enlarge cards. Text should not be truncated when sufficient readable space exists. + +Mobile remains a natural stacked flow with no horizontal split. diff --git a/components/reasoning-workspace.jsx b/components/reasoning-workspace.jsx index fda0b5a..e7d03bd 100644 --- a/components/reasoning-workspace.jsx +++ b/components/reasoning-workspace.jsx @@ -345,10 +345,7 @@ function InvestigationHistoryCard({ turn }) { const isCollapsed = turn._collapsed; const isAnswered = Boolean(turn.answer?.trim()); - const displayedQuestion = - isCollapsed && turn.question.length > 60 - ? `${turn.question.slice(0, 60)}…` - : turn.question; + const displayedQuestion = turn.question; return (
) : ( <> - {/* ═══════════════ CONVERSATION — vertical flow ═══════════════ */} - {hasSelectedQuestion && ( -
- - {/* Current Investigation — primary focus, full width */} - - - {/* Post-update acknowledgement */} - {updateStatus === "success" && !isUpdating && } - - {/* Response — directly beneath the question */} - {!isUpdating && canAnswer && ( -
-
- -