---
description: kadaiB の全 Issue の再現手順をなぞり直し、テストを実行して、未解決の Issue と落ちているテストを表にまとめます
argument-hint: なし
allowed-tools: Read, Write, Glob, Grep, Bash(./mvnw test:*), Bash(cd kadaiB && ./mvnw test:*)
---

# /regression-check 手順書

課題B の修正が一通り終わったあとに使います。直したつもりの箇所が本当に直っているか、直したことで別の箇所が壊れていないかを、1本で確認します。

## 1. Issue を全部読む

1. `Glob` で `kadaiB/issues/ISSUE_*.md` を列挙します（`ISSUE_TEMPLATE.md` は除きます）。
2. 各 Issue の `## 現象` `## 期待する動作` `## 発生箇所` `## 再現手順` を読みます。
3. 再現手順に書かれた操作を、コードを読むことでなぞります。ブラウザ操作は代行できないため、次のように置き換えて判定します。

| 再現手順の書かれ方 | コード上での確認方法 |
|---|---|
| 一覧から特定の備品の詳細を開く | 対象データを `kadaiB/src/main/resources/data.sql` で確認し、`EquipmentServiceImpl` の該当メソッドがその値でどう動くかを読む |
| 存在しないIDのURLを直接開く | `findById` の `Optional` の扱いを読む |
| 一覧の表示を確認する | `EquipmentServiceImpl` の判定メソッドと `templates/list.html` の表示条件を突き合わせる |

判定は「解決」「未解決」「判定できず」の3値です。コードから読み取れないものは、無理に「解決」と書かず「判定できず」にし、人が画面で確かめる手順を書き添えます。

## 2. テストを実行する

`kadaiB` フォルダでテストを実行します。

- Mac / Git Bash: `cd kadaiB && ./mvnw test`
- Windows PowerShell: `cd kadaiB` のあと `.\mvnw.cmd test`

実行結果から次を取り出します。

- `BUILD SUCCESS` か `BUILD FAILURE` か
- `Tests run: N, Failures: N, Errors: N, Skipped: N` の数値
- 失敗したテストのクラス名・メソッド名・失敗理由の1行目

実行に3分以上かかる、または依存の取得に失敗する場合は、そこで打ち切って「実行できず」と記録し、原因（ネットワーク、初回ビルドなど）を書きます。

## 3. 結果を書き出す

`.work/B_regression.md` に次の形式で書きます。

```markdown
# 課題B 再確認の結果

実行日時: <YYYY-MM-DD HH:MM>

## Issue ごとの再現可否

| Issue | 現象の要約 | 再現するか | 判定 | 根拠 |
|---|---|---|---|---|
| ISSUE_001 | 備考が未設定の備品の詳細で500エラー | しない | 解決 | EquipmentServiceImpl.java 74行 で null チェックが入っている |
| ISSUE_002 | 在庫5個の備品に要補充が出ない | する | 未解決 | EquipmentServiceImpl.java 54行 が `<` のまま |

## テスト結果

| 項目 | 値 |
|---|---|
| 結果 | BUILD SUCCESS |
| 実行 | 4件 |
| 失敗 | 0件 |
| エラー | 0件 |

### 落ちているテスト

| クラス | メソッド | 失敗理由の1行目 |
|---|---|---|

## 未解決のもの

- <未解決の Issue と、次にやること>

## 人間に確認してほしいこと

- <画面で確かめる必要があるもの。コードからは判定できなかったもの>
```

## 4. 報告する

`.work/B_regression.md` の内容を、会話の中で次の3行にまとめて報告します。

1. 未解決の Issue が何件あるか、その Issue 番号
2. テストが緑か、落ちているなら何件か
3. 人が画面で確かめる必要があるものが何件あるか

最後に、CLAUDE.md の `## 応答の最後に必ず出すもの` に従って実行サマリーを出します。

## やらないこと

- このコマンドの中でコードを修正すること（確認専用です。直すのは次の依頼で行います）
- `data.sql` の変更
- テストを通すためにテストコードを書き換えること
