---
description: Fix issues found during code review
argument-hint: <feature-slug>
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, Task
---

Fix review issues for feature: $ARGUMENTS

## Instructions

### 1. Load Review Findings

Read `.sdlc/features/$ARGUMENTS/review.md` to get the full list of findings.

### 2. Parse Findings by Severity

Collect all findings into severity buckets:
1. **BLOCKER** -- must fix, cannot ship without these
2. **WARNING** -- should fix, quality concerns
3. **SUGGESTION** -- nice to have improvements

### 3. Fix Blockers First

For each blocker:
1. Read the file at the specified location
2. Understand the issue and why it matters
3. Apply the proper fix (not a quick patch)
4. Run tests to verify the fix does not break anything:

```bash
go test ./... 2>/dev/null || true
```

### 4. Fix Warnings

After all blockers are resolved, fix warnings using the same process.

### 5. Address Suggestions

Apply suggestions that improve clarity or maintainability without significant risk.

### 6. Update Review Report

Update `.sdlc/features/$ARGUMENTS/review.md` with resolution notes for each finding:

```markdown
- [x] [FILE:LINE] [Description] -- **RESOLVED:** [what was done]
```

### 7. Run Full Test Suite

```bash
go test ./... 2>/dev/null || true
```

All tests must pass after all fixes are applied.

### 8. Update Artifact Status

After all fixes are applied and tests pass, re-evaluate the review:

- If **all blockers are resolved** and tests pass: mark as passed
  ```bash
  sdlc artifact pass $ARGUMENTS review
  ```
- If **blockers remain unresolved**: keep as needs-fix
  ```bash
  sdlc artifact needs-fix $ARGUMENTS review
  ```

### 9. Report

Summarize: findings fixed by severity, files modified, test results, and artifact status.

## Critical Rules

- ALWAYS fix all blockers -- they are non-negotiable
- ALWAYS run tests after each fix, not just at the end
- NEVER close a finding without actually fixing it
- NEVER introduce new issues while fixing existing ones
- ALWAYS update the review report with resolution notes
- ALWAYS set the artifact status after fixing (pass if all blockers resolved)
