Files
Claude-Code-Workflow/.claude/skills/workflow-tdd/phases/03-test-coverage-analysis.md
catlog22 80b7dfc817 feat: Add roles for issue resolution pipeline including planner, reviewer, integrator, and implementer
- Implemented `planner` role for solution design and task decomposition using issue-plan-agent.
- Introduced `reviewer` role for solution review, technical feasibility validation, and risk assessment.
- Created `integrator` role for queue formation and conflict detection using issue-queue-agent.
- Added `implementer` role for code implementation and test verification via code-developer.
- Defined message types and role boundaries for each role to ensure clear responsibilities.
- Established a team configuration file to manage roles, pipelines, and collaboration patterns for the issue processing pipeline.
2026-02-15 13:51:50 +08:00

7.0 KiB

Phase 3: Test Coverage Analysis

Analyze existing test coverage, detect test framework, and identify coverage gaps.

Objective

  • Analyze existing codebase for test patterns and conventions
  • Detect current test coverage and framework
  • Identify related components and integration points
  • Generate test-context-package.json

Core Philosophy

  • Agent Delegation: Delegate all test coverage analysis to test-context-search-agent for autonomous execution
  • Detection-First: Check for existing test-context-package before executing
  • Coverage-First: Analyze existing test coverage before planning new tests
  • Source Context Loading: Import implementation summaries from source session
  • Standardized Output: Generate .workflow/active/{session}/.process/test-context-package.json

Execution

Step 3.1: Test-Context-Package Detection

Execute First - Check if valid package already exists:

const testContextPath = `.workflow/active/${sessionId}/.process/test-context-package.json`;

if (file_exists(testContextPath)) {
  const existing = Read(testContextPath);

  // Validate package belongs to current session
  if (existing?.metadata?.test_session_id === sessionId) {
    console.log("Valid test-context-package found for session:", sessionId);
    console.log("Coverage Stats:", existing.test_coverage.coverage_stats);
    console.log("Framework:", existing.test_framework.framework);
    console.log("Missing Tests:", existing.test_coverage.missing_tests.length);
    // Skip execution, store variable and proceed
    testContextPath_var = testContextPath;
    return; // Early exit - skip Steps 3.2-3.3
  }
}

Step 3.2: Invoke Test-Context-Search Agent

Only execute if Step 3.1 finds no valid package

Task(
  subagent_type="test-context-search-agent",
  run_in_background=false,
  description="Gather test coverage context",
  prompt=`

## Execution Mode
**PLAN MODE** (Comprehensive) - Full Phase 1-3 execution

## Session Information
- **Test Session ID**: ${sessionId}
- **Output Path**: .workflow/active/${sessionId}/.process/test-context-package.json

## Mission
Execute complete test-context-search-agent workflow for test generation planning:

### Phase 1: Session Validation & Source Context Loading
1. **Detection**: Check for existing test-context-package (early exit if valid)
2. **Test Session Validation**: Load test session metadata, extract source_session reference
3. **Source Context Loading**: Load source session implementation summaries, changed files, tech stack

### Phase 2: Test Coverage Analysis
Execute coverage discovery:
- **Track 1**: Existing test discovery (find *.test.*, *.spec.* files)
- **Track 2**: Coverage gap analysis (match implementation files to test files)
- **Track 3**: Coverage statistics (calculate percentages, identify gaps by module)

### Phase 3: Framework Detection & Packaging
1. Framework identification from package.json/requirements.txt
2. Convention analysis from existing test patterns
3. Generate and validate test-context-package.json

## Output Requirements
Complete test-context-package.json with:
- **metadata**: test_session_id, source_session_id, task_type, complexity
- **source_context**: implementation_summaries, tech_stack, project_patterns
- **test_coverage**: existing_tests[], missing_tests[], coverage_stats
- **test_framework**: framework, version, test_pattern, conventions
- **assets**: implementation_summary[], existing_test[], source_code[] with priorities
- **focus_areas**: Test generation guidance based on coverage gaps

## Quality Validation
Before completion verify:
- [ ] Valid JSON format with all required fields
- [ ] Source session context loaded successfully
- [ ] Test coverage gaps identified
- [ ] Test framework detected (or marked as 'unknown')
- [ ] Coverage percentage calculated correctly
- [ ] Missing tests catalogued with priority
- [ ] Execution time < 30 seconds (< 60s for large codebases)

Execute autonomously following agent documentation.
Report completion with coverage statistics.
`
)

Step 3.3: Output Verification

After agent completes, verify output:

// Verify file was created
const outputPath = `.workflow/active/${sessionId}/.process/test-context-package.json`;
if (!file_exists(outputPath)) {
  throw new Error("Agent failed to generate test-context-package.json");
}

// Load and display summary
const testContext = JSON.parse(Read(outputPath));
console.log("Test context package generated successfully");
console.log("Coverage:", testContext.test_coverage.coverage_stats.coverage_percentage + "%");
console.log("Tests to generate:", testContext.test_coverage.missing_tests.length);

// Store variable for subsequent phases
testContextPath_var = outputPath;

TodoWrite Update (Phase 3 Skill executed - tasks attached)

[
  {"content": "Phase 1: Session Discovery", "status": "completed", "activeForm": "Executing session discovery"},
  {"content": "Phase 2: Context Gathering", "status": "completed", "activeForm": "Executing context gathering"},
  {"content": "Phase 3: Test Coverage Analysis", "status": "in_progress", "activeForm": "Executing test coverage analysis"},
  {"content": "  -> Detect test framework and conventions", "status": "in_progress", "activeForm": "Detecting test framework"},
  {"content": "  -> Analyze existing test coverage", "status": "pending", "activeForm": "Analyzing test coverage"},
  {"content": "  -> Identify coverage gaps", "status": "pending", "activeForm": "Identifying coverage gaps"},
  {"content": "Phase 5: TDD Task Generation", "status": "pending", "activeForm": "Executing TDD task generation"},
  {"content": "Phase 6: TDD Structure Validation", "status": "pending", "activeForm": "Validating TDD structure"}
]

Note: Agent execution attaches test-context-search's 3 tasks. Orchestrator executes these tasks.

Next Action: Tasks attached -> Execute Phase 3.1-3.3 sequentially

TodoWrite Update (Phase 3 completed - tasks collapsed)

[
  {"content": "Phase 1: Session Discovery", "status": "completed", "activeForm": "Executing session discovery"},
  {"content": "Phase 2: Context Gathering", "status": "completed", "activeForm": "Executing context gathering"},
  {"content": "Phase 3: Test Coverage Analysis", "status": "completed", "activeForm": "Executing test coverage analysis"},
  {"content": "Phase 5: TDD Task Generation", "status": "pending", "activeForm": "Executing TDD task generation"},
  {"content": "Phase 6: TDD Structure Validation", "status": "pending", "activeForm": "Validating TDD structure"}
]

Note: Phase 3 tasks completed and collapsed to summary.

After Phase 3: Return to user showing test coverage results, then auto-continue to Phase 4/5 (depending on conflict_risk)

Output

  • Variable: testContextPath (path to test-context-package.json)
  • TodoWrite: Mark Phase 3 completed

Next Phase

Based on conflictRisk from Phase 2: