Files
Claude-Code-Workflow/docs/features/discovery.md

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

  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:

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