mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-01 15:03:57 +08:00
6.9 KiB
6.9 KiB
Discovery
One-Liner
The Discovery page tracks multi-perspective discovery sessions, displaying findings from various analysis angles with real-time updates and export capabilities.
Pain Points Solved
| Pain Point | Current State | Discovery Solution |
|---|---|---|
| No insight visibility | Can't see analysis results | Dedicated page for discovery sessions |
| Stale data | Manual refresh required | Auto-refresh every 3 seconds |
| Unstructured findings | Hard to navigate results | Split pane with session list and findings detail |
| No export | Can't save findings | Export all or selected findings |
| Missing context | Don't know related issues | Link findings to related issues |
Page Overview
Location: ccw/frontend/src/pages/DiscoveryPage.tsx
Purpose: Track discovery sessions and view findings from multiple perspectives (Product, Technical, Quality, Risk, Coverage, etc.).
Access: Navigation → Issues → Discovery tab OR directly via /discovery route
Layout
+--------------------------------------------------------------------------+
| Discovery Title |
+--------------------------------------------------------------------------+
| Stats Cards |
| +-------------+ +-------------+ +-------------+ +-------------+ |
| | Total | | Completed | | Running | | Total | |
| | Sessions | | Sessions | | Sessions | | Findings | |
| +-------------+ +-------------+ +-------------+ +-------------+ |
+--------------------------------------------------------------------------+
| Split Pane (3:1 ratio) |
| +-----------------------+ +------------------------------------------+ |
| | Session List (1/3) | | Findings Detail (2/3) | |
| | | | | |
| | - DiscoveryCard | | - Filters | |
| | (status, findings) | | - Findings list | |
| | | | - Export buttons | |
| | - Multiple sessions | | - Related issues links | |
| +-----------------------+ +------------------------------------------+ |
+--------------------------------------------------------------------------+
Core Features
| Feature | Description |
|---|---|
| Stats Cards | Four metric cards showing total sessions, completed sessions, running sessions, and total findings count |
| Session List | Left panel with discovery session cards showing status, findings count, and creation time |
| Findings Detail | Right panel displaying detailed findings for the selected session |
| Auto-Refresh | Data refreshes every 3 seconds to show real-time progress |
| Findings Filters | Filter findings by perspective, category, or other attributes |
| Export Findings | Export all findings or only selected findings to file |
| Related Issues | Click on findings to navigate to related issues in the Issues panel |
| Status Badges | Visual indicators for session status (completed, running, pending) |
| Loading Skeletons | Skeleton placeholders during data fetch |
| Empty States | Friendly message when no discovery sessions exist |
Usage Guide
Basic Workflow
- View All Sessions: Browse all discovery sessions in the left panel
- Select Session: Click a session card to view its findings in the right panel
- Filter Findings: Use filter controls to narrow down findings by category
- Export Findings: Click "Export All" or "Export Selected" to save findings
- Navigate to Issues: Click on a finding to view related issues
- Monitor Progress: Watch running sessions update in real-time (3s auto-refresh)
Key Interactions
| Interaction | How to Use |
|---|---|
| Select session | Click a discovery card in the left panel to load its findings |
| Filter findings | Use filter controls in the findings detail panel to narrow results |
| Export all findings | Click "Export All" to download all findings for current session |
| Export selected findings | Select specific findings, click "Export Selected" |
| Navigate to issue | Click on a finding to open related issue in Issues panel |
| Auto-refresh | Data updates automatically every 3 seconds (no manual action needed) |
Session Status
| Status | Icon | Description |
|---|---|---|
| Completed | Green checkmark | Discovery session finished successfully |
| Running | Amber spinner | Discovery session is actively running |
| Pending | Gray clock | Discovery session is queued or not started |
| Failed | Red X | Discovery session encountered an error |
Finding Types
Findings can include various perspectives:
- Product - Market fit, user value, business viability
- Technical - Feasibility, tech debt, performance, security
- Quality - Completeness, testability, consistency
- Risk - Risk identification, dependencies, failure modes
- Coverage - Requirement completeness vs discovery context
Components Reference
Main Components
| Component | Location | Purpose |
|---|---|---|
DiscoveryPage |
@/pages/DiscoveryPage.tsx |
Main discovery tracking page |
DiscoveryCard |
@/components/issue/discovery/DiscoveryCard.tsx |
Session card in list |
DiscoveryDetail |
@/components/issue/discovery/DiscoveryDetail.tsx |
Findings detail view with filters and export |
State Management
-
Local state:
- None (all data from hooks)
-
Custom hooks:
useIssueDiscovery- Discovery sessions and findings data- Returns:
sessions,activeSession,findings,filters,isLoadingSessions,isLoadingFindings,error - Methods:
setFilters,selectSession,exportFindings,exportSelectedFindings
- Returns:
useIssues- Related issues data for finding navigation
Configuration
Auto-Refresh Interval
The discovery page automatically refreshes every 3 seconds:
const { sessions, findings, /* ... */ } = useIssueDiscovery({
refetchInterval: 3000 // 3 seconds
});
Export Options
| Export Type | Description |
|---|---|
| Export All | Export all findings from the selected session |
| Export Selected | Export only the findings that are currently selected/checked |
Related Links
- Issue Hub - Unified issues, queue, and discovery management
- Queue - Issue execution queue management
- Issues Panel - Issue list and GitHub sync
- Terminal Dashboard - Real-time session monitoring