mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-01 15:03:57 +08:00
164 lines
6.9 KiB
Markdown
164 lines
6.9 KiB
Markdown
# 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
|
|
|
|
1. **View All Sessions**: Browse all discovery sessions in the left panel
|
|
2. **Select Session**: Click a session card to view its findings in the right panel
|
|
3. **Filter Findings**: Use filter controls to narrow down findings by category
|
|
4. **Export Findings**: Click "Export All" or "Export Selected" to save findings
|
|
5. **Navigate to Issues**: Click on a finding to view related issues
|
|
6. **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`
|
|
- `useIssues` - Related issues data for finding navigation
|
|
|
|
---
|
|
|
|
## Configuration
|
|
|
|
### Auto-Refresh Interval
|
|
|
|
The discovery page automatically refreshes every 3 seconds:
|
|
|
|
```typescript
|
|
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](/features/issue-hub) - Unified issues, queue, and discovery management
|
|
- [Queue](/features/queue) - Issue execution queue management
|
|
- [Issues Panel](/features/issue-hub) - Issue list and GitHub sync
|
|
- [Terminal Dashboard](/features/terminal-dashboard) - Real-time session monitoring
|