# Task: Analyze Work Conflicts

> 🎯 **Claude Task Implementation** - Detect file conflicts between parallel work items using Claude's intelligence

## Description

Analyzes user-specified work items to identify potential file conflicts and group them into optimal execution waves. This prevents merge conflicts by ensuring agents working on the same files don't run simultaneously.

## Claude Task Implementation

This task uses Claude's analysis capabilities rather than bash scripts to predict file conflicts intelligently.

## Input

User command with work items:

```bash
/parallel-dev "Fix auth.js login bug" bg-login "Add dashboard charts" ft-dash "Style auth.js forms" ui-auth
```

## Analysis Process

### Step 1: Parse Work Items

Extract work items from user input:

- Work Item 1: "Fix auth.js login bug" → worktree: bg-login
- Work Item 2: "Add dashboard charts" → worktree: ft-dash
- Work Item 3: "Style auth.js forms" → worktree: ui-auth

### Step 2: Predict File Impact (Claude Intelligence)

For each work item, analyze the description to predict:

```
ANALYSIS TASK: File Impact Prediction

WORK DESCRIPTION: [User's exact description]

Analyze this work description and predict:

1. **Primary Files**: Which specific files will be modified?
2. **Test Files**: What test files will be created/updated?
3. **Related Components**: What system components are affected?
4. **Confidence Level**: How certain are these predictions?

Consider common patterns:
- "Fix [filename]" → likely modifies that specific file
- "Add [feature]" → likely creates new files + configuration
- "Style [component]" → likely modifies CSS/styling files
- "Update [module]" → likely modifies existing module files

Respond in this format:
FILES_TO_MODIFY:
- path/to/file1.js
- path/to/file2.css
- tests/file1.test.js

CONFIDENCE: High|Medium|Low
REASONING: [Brief explanation of prediction logic]
```

### Step 3: Build Conflict Matrix

Compare predicted file lists between work items:

```
Example Analysis:
bg-login: auth.js, login.component.js, auth.test.js (HIGH confidence)
ft-dash: dashboard.js, charts.component.js, dashboard.test.js (HIGH confidence)
ui-auth: auth.css, auth.js, login.component.js, auth.form.js (MEDIUM confidence)

Conflict Detection:
bg-login ↔ ui-auth: CONFLICT (auth.js, login.component.js)
bg-login ↔ ft-dash: NO CONFLICT
ft-dash ↔ ui-auth: NO CONFLICT
```

### Step 4: Generate Wave Plan

Group non-conflicting items into waves:

```
Wave Strategy:
Wave 1: ft-dash, bg-login     (no shared files)
Wave 2: ui-auth               (conflicts with bg-login)

Alternative (if user prefers different priority):
Wave 1: ft-dash, ui-auth      (no shared files)
Wave 2: bg-login              (conflicts with ui-auth)
```

## Implementation Notes

### Claude-Based Analysis

This task leverages Claude's natural language understanding to:

- Parse work descriptions intelligently
- Predict file modifications based on context
- Understand software development patterns
- Provide confidence assessments

### Conflict Detection Logic

```
Simple Overlap Detection:
for each work_item_1 in work_items:
  for each work_item_2 in work_items:
    if work_item_1 != work_item_2:
      shared_files = intersection(files_1, files_2)
      if shared_files:
        conflicts.add((work_item_1, work_item_2, shared_files))
```

### Wave Planning Algorithm

```
Greedy Wave Assignment:
1. Start with all unassigned work items
2. Create new wave with first unassigned item
3. Add all non-conflicting items to same wave
4. Repeat until all items assigned
5. Optimize for maximum parallelism
```

## Output Format

### Analysis Report

```markdown
# Parallel Development Analysis

## Work Items

1. **bg-login**: Fix auth.js login bug
2. **ft-dash**: Add dashboard charts
3. **ui-auth**: Style auth.js forms

## File Impact Predictions

### bg-login (High Confidence)

- **Files**: auth.js, login.component.js, auth.test.js
- **Reasoning**: Fixing login bug directly targets auth system files

### ft-dash (High Confidence)

- **Files**: dashboard.js, charts.component.js, dashboard.test.js
- **Reasoning**: Adding charts creates new dashboard components

### ui-auth (Medium Confidence)

- **Files**: auth.css, auth.js, login.component.js, auth.form.js
- **Reasoning**: Styling auth forms touches CSS and form components

## Conflict Analysis

| Item 1   | Item 2  | Conflicts | Shared Files                |
| -------- | ------- | --------- | --------------------------- |
| bg-login | ft-dash | ❌ None   | -                           |
| bg-login | ui-auth | ⚠️ Yes    | auth.js, login.component.js |
| ft-dash  | ui-auth | ❌ None   | -                           |

## Recommended Wave Plan

### Wave 1 (Parallel Execution)

- **ft-dash**: Add dashboard charts
- **bg-login**: Fix auth.js login bug

### Wave 2 (Sequential Execution)

- **ui-auth**: Style auth.js forms

## Execution Strategy

1. Deploy ft-dash + bg-login concurrently (no conflicts)
2. Wait for both to complete
3. Deploy ui-auth (builds on bg-login changes)
```

### JSON Output for System

```json
{
  "analysis": {
    "work_items": [
      {
        "id": "bg-login",
        "description": "Fix auth.js login bug",
        "predicted_files": ["auth.js", "login.component.js", "auth.test.js"],
        "confidence": "high"
      },
      {
        "id": "ft-dash",
        "description": "Add dashboard charts",
        "predicted_files": [
          "dashboard.js",
          "charts.component.js",
          "dashboard.test.js"
        ],
        "confidence": "high"
      },
      {
        "id": "ui-auth",
        "description": "Style auth.js forms",
        "predicted_files": [
          "auth.css",
          "auth.js",
          "login.component.js",
          "auth.form.js"
        ],
        "confidence": "medium"
      }
    ],
    "conflicts": [
      {
        "items": ["bg-login", "ui-auth"],
        "shared_files": ["auth.js", "login.component.js"],
        "severity": "medium"
      }
    ],
    "wave_plan": {
      "wave_1": ["ft-dash", "bg-login"],
      "wave_2": ["ui-auth"]
    }
  },
  "execution_ready": true
}
```

## Benefits

1. **Intelligent Prediction**: Uses Claude's understanding of software development
2. **Context Awareness**: Analyzes work descriptions rather than just filenames
3. **Conflict Prevention**: Prevents merge conflicts before they occur
4. **Optimized Parallelism**: Maximizes concurrent work within safety constraints
5. **User Transparency**: Shows reasoning behind wave decisions

This Claude-native approach provides intelligent conflict detection while maintaining simplicity and reliability.
