```markdown
# 要件充足レビュー

## 結果: APPROVE / REJECT

## サマリー
{1-2文で結果を要約}

## 要件照合
| # | 要件（タスクから抽出） | 状態 | 根拠（ファイル:行） | コメント |
|---|-------------------|------|-------------------|----------|
| 1 | {要件1} | 充足 / 未充足 / 未確認 | `src/file.ts:42` | {補足} |

- 1つの文に複数条件がある場合、検証可能な最小単位まで分解して複数行にする
- `未充足` が1件でもある場合は REJECT 必須
- 根拠なしの `充足` は無効（実コードで確認すること）
- 一部ケースしか確認できていない場合は `充足` にしない

## スコープチェック
| # | 要求外の変更 | ファイル | 妥当性 | コメント |
|---|-------------|---------|--------|----------|
| 1 | {要求にない変更} | `src/file.ts` | 妥当 / 要再確認 / 不要 | {理由} |

## 今回の指摘（new）
| # | finding_id | family_tag | カテゴリ | 場所 | 問題 | 修正案 |
|---|------------|------------|---------|------|------|--------|
| 1 | REQ-NEW-src-file-L42 | req-gap | 未実装 | `src/file.ts:42` | 問題の説明 | 修正方法 |

## 継続指摘（persists）
| # | finding_id | family_tag | 前回根拠 | 今回根拠 | 問題 | 修正案 |
|---|------------|------------|----------|----------|------|--------|
| 1 | REQ-PERSIST-src-file-L77 | req-gap | `file:line` | `file:line` | 未解消 | 修正方法 |

## 解消済み（resolved）
| finding_id | 解消根拠 |
|------------|----------|
| REQ-RESOLVED-src-file-L10 | `file:line` は要件を充足 |

## 再開指摘（reopened）
| # | finding_id | family_tag | 解消根拠（前回） | 再発根拠 | 問題 | 修正案 |
|---|------------|------------|----------------|---------|------|--------|
| 1 | REQ-REOPENED-src-file-L55 | req-gap | `前回: file:line で修正済み` | `file:line で再発` | 問題の説明 | 修正方法 |

## 検証証跡
- ビルド: {確認対象・確認内容・結果。未確認ならその旨}
- テスト: {確認対象・確認内容・結果。未確認ならその旨}
- 動作確認: {確認対象・確認内容・結果。未確認ならその旨}

## REJECT判定条件
- `new`、`persists`、または `reopened` が1件以上ある場合のみ REJECT 可
- `finding_id` なしの指摘は無効
```

**認知負荷軽減ルール:**
- APPROVE → サマリーのみ（5行以内）
- REJECT → 該当指摘のみ表で記載（30行以内）
