Add hybrid research copilot workspace

This commit is contained in:
2026-03-14 19:32:00 -04:00
parent 7a42d73a48
commit 2ee9a549a3
27 changed files with 2864 additions and 323 deletions

View File

@@ -93,6 +93,20 @@ Use this ordering for most product pages:
- Controls typically use `rounded-xl`.
- Default panel padding is `p-4` on mobile and `sm:p-5` or `sm:p-6` on larger screens.
### Research workspace modes
The research product now supports two layout modes for the same ticker-scoped workspace:
- `Workspace`: the default operating mode. Keep memo authoring, library management, and uploads in the primary column with the copilot docked as a sticky secondary rail.
- `Copilot Focus`: a deep-work mode. The conversation becomes the primary surface and memo, library, and packet views move into secondary tabs.
Rules:
- The active ticker must remain visible in both modes.
- Mode switches should preserve the same local state, draft state, and copilot session.
- Secondary surfaces in focus mode should feel adjacent, not modal. Use tabbed panel switching rather than route changes for memo, library, and packet context.
- Avoid introducing a second page shell for focus mode. The user should feel they are still inside the research workspace.
## Typography
### Font roles
@@ -231,6 +245,53 @@ Panel rules:
Reference implementation: `components/ui/panel.tsx`
### Research copilot panels
Copilot surfaces should feel like analytical instruments, not consumer chat.
Use the docked copilot rail for:
- cited Q&A tied to the current ticker
- short follow-up turns during memo work
- pinning or attaching evidence while staying in the main workspace
Use the focus copilot surface for:
- multi-turn investigative sessions
- long answers with multiple citations
- review-first drafting into memo or notes
Copilot panel rules:
- Keep header copy operational and concise.
- Show context chips for ticker, target memo section, and pinned evidence count.
- Source toggles should be compact and behave like tool filters, not marketing pills.
- Message cards should differentiate user and assistant turns with surface treatment, not bright color.
- Empty states should suggest concrete research questions rather than generic onboarding copy.
### Citation cards
Citation cards are evidence controls, not decorative footnotes.
Rules:
- Lead with the citation index and source label.
- Keep excerpts short and scan-friendly.
- Present actions inline: `Open`, `Pin` or `Unpin`, and `Attach`.
- Use the same card rhythm inside docked and focus copilot modes.
- If a citation cannot be attached because no artifact exists, disable the attach action instead of hiding it.
### Review-first AI write flows
AI-generated content may propose note drafts, memo-section drafts, or background brief jobs, but it must not silently mutate user-authored research state.
Rules:
- Suggested actions should be explicit buttons on assistant messages.
- Drafting into notes or memo sections should populate editable client form state first.
- Persistence should happen only through the existing note or memo save actions.
- Long-running synthesis should route through the task/notification system instead of blocking the conversation thread.
### Status pills and tags
Status pills should be compact, uppercase, and visually coded, but the text label must remain meaningful on its own.