バグを直す・既存機能を変更する
うまく動かない操作を、別の人が同じように試せる形にします。エラー文は要約せず、そのまま添えると原因を探しやすくなります。
1. 発生条件を書く
端末、画面、入力値、押したボタン、実際の結果を並べます。期待した結果も書きます。
2. 原因を確認する
関係するファイルと処理を調べてもらい、原因が再現条件を説明できるか確認します。
3. 修正と確認を頼む
修正後に同じ操作を試します。隣の機能にも影響がないか確認し、変更差分を見ます。
~/manual-demo $ codex exec "calc.test.js の3つ目のテストが落ちる。割引率が1を超えたら例外を投げるはずが、そうなっていない。原因を調べて直して。他のテストは壊さないで。"diff --git a/calc.js b/calc.js@@ -4,6 +4,9 @@ function withTax(price, rate) { } // 割引後の価格を出す(割引率は 0〜1) function discount(price, off) {+ if (off > 1) {+ throw new RangeError('割引率は1以下である必要があります');+ } return price - price * off; } 原因は discount() に割引率のチェックがなかったことです。calc.js:6 を修正し、off > 1 で RangeError を投げるようにしました。 Jest が未導入のため、Node.js の簡易ハーネスで既存3テストと境界値(0・1・1をわずかに超える値)を検証し、全6件成功しました。
コピーして使える依頼文
[操作]をすると[結果]になります。期待は[期待結果]。エラーは[全文]。原因を調べて修正し、この再現手順と関連機能を確認して。変更ファイルと確認結果も教えて。
この依頼文だと、こう返ってきます
原因が分かりました。修正して、確認まで済んでいます。
原因
検索欄に全角スペースだけを入れると、空欄として扱われずに検索が実行され、結果が0件になっていました。src/search.js の trim() が半角空白しか除いていないためです。
修正内容
・src/search.js:31 — 全角空白も除くように変更
確認したこと
・全角スペースだけを入力 → 全件表示に戻ります(再現手順どおり)
・半角スペースだけ → 同じく全件表示(元の挙動を維持)
・通常の検索語 → これまでどおり動作
・npm test → 全24件 成功
変更したファイルはこの1つだけです。絞り込み機能も同じ関数を使っているため、あわせて確認しました。
実際の返答はそのときの資料や状況で変わります。形の目安として載せています。
完成チェック
- 同じ操作で再発しない
- 変更の理由が分かる