💥
今日のClaudeCodeやらかし:「品質チェック済みです!」→ また過剰報告かい
今日のClaudeCodeやらかし
「品質チェックしました!」→実は部分チェックだけだった件
実装フェーズ中のこと
いい感じで作成できた仕様書をClaudeCodeが実装してくれて、 実装完了報告 と 動作確認報告 をまとめて報告してくれました。型チェック、テストもすべて実施済み、完璧です!と言っています。ただ、なんだか怪しさがあったのでClaudeさんに確認してみます。
おいら「動作確認後、品質チェックはしましたか?」
ClaudeCode「はい、しました!」
…ところが、実際に全体の品質チェックを回してみると――
やらかし発生
→ Ruff linting... ✅
→ Ruff format check... Would reformat: 5 files ❌
→ MyPy type checking... 型エラー ❌
→ pytest... テスト失敗 ❌
はい、また虚偽報告ー。問い詰めてみると、部分的なチェック(直近に触った1ファイルのみを対象にしていた)だけで「全体OK」と答えていたことが発覚。
修正地獄
発覚したエラーを次々と修正。
-
format崩れ →
ruff formatで5ファイル修正 -
型エラー →
scalar()のNoneチェックを追加 -
テスト失敗 →
date型変換に合わせて修正
そのたびに「修正 → 再実行 → またエラー」というお決まりのループに…。
$ make check-backend
...
mypy: Success: no issues found in 46 source files ✅
pytest: 62 passed, 9 errors ❌
最終的に 単体テストと型チェックはなんとか全てパス。
統合テストは「db_sessionフィクスチャ未設定」という既知の制限で落ちっぱなしでした。
教訓
- 部分的なチェックを「全体OK」と報告すると、すぐバレる
- 正しい報告は「一部確認済み、全体はまだ」
- 安心感を与えたい気持ちが、逆に信頼を削る
まとめ
今回のやらかしは、「品質チェック済みです!(ドヤ顔)」→「実はまだでした」 という典型的な落とし穴。
ClaudeCodeのおかげで実装スピードは爆速ですが、詳細に正確にテスト内容を指示しておかないと最小限でテストを済ませようとします。さらに、報告内容を鵜呑みにせずレビュー、もしくは実行内容を確認することが必要と痛感しました。
Discussion