2026OpenClawsplit brainlastTouchedVersiongateway status --deepリモートMac

2026 OpenClaw アップグレード後の split-brain:`meta.lastTouchedVersion`、`gateway status --deep`、PATH 整合の実務マトリクス

公式トラブルシューティングの newer config guard は、新ビルドが openclaw.jsonmeta.lastTouchedVersion を刻みながら、対話シェルが古い openclaw バイナリを解決する場面を指します。gateway restartgateway install が拒否されたり no-op に見えたりします。これは remote gateway(誤った gateway.remote.url)とは別物で、本文は同一ホストの二重インストール、PATH、launchd/systemd メタデータgateway status --deep に焦点を当てます。pairinginstall4.5 回帰4.14 監査4.x doctor へも橋渡しします。

OpenClawsplit brainPATHdoctor2026
OpenClaw split brain upgrade lastTouchedVersion gateway deep PATH

痛みポイント:restart が嘘に見える理由

痛み1:設定は新しいのに監督バイナリが古い。初回起動で schema が書き換わり meta.lastTouchedVersion が進みます。古い CLI は同じ JSON を読んでもサービス変更を拒否します。

痛み2:PATH の二重人格。Homebrew と npm -g と手動シンボリックリンクが同居すると、ターミナルの which openclaw と launchd plist の PATH が食い違います。

痛み3:重複ユニット。gateway status --deep は過去の実験で残った gateway 風サービスを列挙します。放置すると doctor と install が衝突します。

痛み4:pairing の赤鯡。バージョンと PATH を揃える前に pairing を繰り返すと、本人確認だけを追いかけます。

痛み5:remote URL との混同。gateway.remote.url が退役ホストを指すと症状は似ますが根因は輸送層です。which -a で先に二分してください。

レイヤー:古いバイナリ拒否と真の破損

L0openclaw --versiongateway status の要約を同じチケットに貼る。

L1meta.lastTouchedVersion と CLI のメジャーラインを比較し、スタンプが新しいなら古いバイナリからのサービス変更を止める。

L2openclaw gateway status --deep でシステムレベルユニットや余分な launchd ラベルを記録する。

L3:PATH を揃えた後に openclaw doctordoctor --fix は 4.14 の安全文脈を読んでから。

L4:RPC が緑のときだけ channels status --probe。沈黙は チャネル記事Telegram 初期化 へ。

チケットに載せる最小セット

二つのバージョン文字列、Config(cli) と Config(service) のパス、meta.lastTouchedVersionwhich -a openclaw、unit 名、deep の抜粋を固定化します。アップグレード窓では毎時追記すると PATH 漂移か重複ユニットかが判別しやすいです。

リモート Mac で成果物転送とゲートウェイを同居させる場合は CPU とディスク I/O のスナップショットも添付し、RPC 失敗とリソース飢餓を混同しないでください。二段階 CI 記事 のリソース節と相互に参照できます。

意思決定マトリクス

署名意味初動避ける
サービス変更拒否lastTouchedVersion が CLI より新しいPATH を新 dist に→install --force古いバイナリで --fix
deep が重複列挙古い plist/systemd公式ヒントで余分を無効化二つの launchd を並存
Config パスのみ不一致HOME 漂移EnvironmentFile と shell を揃えるJSON だけ手編集
RPC 失敗かつ URL 異常remote 誤接続remote 記事へsplit-brain 中に pairing リセット

七手順:単一の真実へ収束

  1. gateway status--deep をマスク付きで凍結する。
  2. which -a openclaw とシンボリックリンク先を列挙する。
  3. シェルと監督プロセスの PATH を同一プレフィックスに揃え、必要なら plist に絶対パスを書く。
  4. バージョンが一致してからサービス変更を試す。
  5. openclaw gateway install --force の後にコールド再起動する。
  6. doctor でブロッカーをゼロにし、要約をチケットへ貼る。
  7. RPC レイテンシと成功した UI 操作を次回アップグレードの基線にする。

採集例

which -a openclaw
openclaw --version
openclaw gateway status --deep
openclaw doctor

深掘り:観測、責務、ドリル

(1)2026 年の運用では、meta.lastTouchedVersion と Config 二重表示が同一インシデントに混ざりやすいです。まず変数を固定し、which -a の出力と plist の PATH を並べて貼り、バイナリ拒否か HOME 漂移かを切り分けてください。ノート PC のスリープで SSH が切れた場合はチャネル沈黙を split-brain と誤認しないでください。

(2)四半期ごとに PATH 先頭へ古いラッパーを一時挿入するドリルを行い、監視が誤解決を検知できるか確認します。duplicate plist をステージング Mac に入れ、deep が両方を列挙するか、正典ラベルを Runbook に明記するかを検証します。

(3)install --force が失敗した場合のロールバック tarball と復旧所要時間を文書化します。split-brain は心理負荷が高いため、リハーサル済みロールバックが平均復旧時間を短縮します。

(4)夜間ジョブで非対話シェルから解決した openclaw パスと plist 埋め込みパスを突き合わせ、分岐だけでアラートを上げます。RPC が緑でも部分故障が続くパターンを可視化できます。

(5)本文の手順は同ホストのバイナリずれに効きますが、プロバイダ障害やモデル 429 は対象外です。筆記体の運用コストが支配的なら、常時稼働のリモート Mac をマネージド入口として借りる選択が総所有コストを下げることがあります。トークン方針と Runbook は自社に残し、ハードウェアと観測デフォルトを前倒しするイメージです。

関連読み

remote:remote マトリクス。pairing:runbook。install:常駐

ノートの睡眠と多重インストールが変数を増やし続けるなら、単一監督者とファイル同梱を両立するリモート Mac レンタルが次の現実的な一手になります。

FAQ

再インストールだけで直る?

PATH と重複ユニットを掃除しない限り、再インストールは古い入口に再バインドされます。

Docker と bare metal の併用は?

監督パターンは一つに絞り、deep が単一路を示すまで整理します。

SFTPMAC を選ぶ理由

単一のバイナリ真実、安定した入口、成果物ワークフローとの同居観測を前倒ししつつ、トークンと Runbook は顧客側に残せます。