Skip to content

Commit 50bafd3

Browse files
committed
docs: align supervised git update handoff docs
1 parent 2ff541f commit 50bafd3

2 files changed

Lines changed: 18 additions & 16 deletions

File tree

docs/cli/update.md

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -124,21 +124,23 @@ When a local managed Gateway service is installed and restart is enabled,
124124
package-manager and git-checkout updates stop the running service before
125125
replacing the package tree or mutating the checkout/build output. The updater
126126
then refreshes the service metadata from the updated install, restarts the
127-
service, and verifies the restarted Gateway reports the expected version before
128-
reporting `Gateway: restarted and verified.`. On macOS, the post-update check
129-
also verifies the LaunchAgent is loaded/running for the active profile and the
130-
configured loopback port is healthy. If the plist is installed but launchd is
131-
not supervising it, OpenClaw re-bootstraps the LaunchAgent automatically, then
132-
reruns the health/version/channel readiness checks. A fresh bootstrap loads the
133-
RunAtLoad job directly, so update recovery does not immediately `kickstart -k`
134-
the newly spawned Gateway. If the Gateway still does not become healthy, the
135-
command exits non-zero and prints the restart log path plus explicit restart,
136-
reinstall, and package rollback instructions. If restart cannot run, the command
137-
prints `Gateway: restart skipped (...)` or `Gateway: restart failed: ...` with a
138-
manual `openclaw gateway restart` hint. With `--no-restart`, package
139-
replacement or git rebuild still runs but the managed service is not stopped or
140-
restarted, so the running Gateway may keep old code until you restart it
141-
manually.
127+
service, and verifies the restarted Gateway before reporting
128+
`Gateway: restarted and verified.`. Package-manager updates additionally verify
129+
the restarted Gateway reports the expected package version; git-checkout updates
130+
verify gateway health and service readiness after the rebuild. On macOS, the
131+
post-update check also verifies the LaunchAgent is loaded/running for the active
132+
profile and the configured loopback port is healthy. If the plist is installed
133+
but launchd is not supervising it, OpenClaw re-bootstraps the LaunchAgent
134+
automatically, then reruns the health/version/channel readiness checks. A fresh
135+
bootstrap loads the RunAtLoad job directly, so update recovery does not
136+
immediately `kickstart -k` the newly spawned Gateway. If the Gateway still does
137+
not become healthy, the command exits non-zero and prints the restart log path
138+
plus explicit restart, reinstall, and package rollback instructions. If restart
139+
cannot run, the command prints `Gateway: restart skipped (...)` or
140+
`Gateway: restart failed: ...` with a manual `openclaw gateway restart` hint.
141+
With `--no-restart`, package replacement or git rebuild still runs but the
142+
managed service is not stopped or restarted, so the running Gateway may keep old
143+
code until you restart it manually.
142144

143145
### Control-plane response shape
144146

docs/gateway/protocol.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ enumeration of `src/gateway/server-methods/*.ts`.
409409
- `config.apply` validates + replaces the full config payload.
410410
- `config.schema` returns the live config schema payload used by Control UI and CLI tooling: schema, `uiHints`, version, and generation metadata, including plugin + channel schema metadata when the runtime can load it. The schema includes field `title` / `description` metadata derived from the same labels and help text used by the UI, including nested object, wildcard, array-item, and `anyOf` / `oneOf` / `allOf` composition branches when matching field documentation exists.
411411
- `config.schema.lookup` returns a path-scoped lookup payload for one config path: normalized path, a shallow schema node, matched hint + `hintPath`, optional `reloadKind`, and immediate child summaries for UI/CLI drill-down. `reloadKind` is one of `restart`, `hot`, or `none` and mirrors the Gateway config reload planner for the requested path. Lookup schema nodes keep the user-facing docs and common validation fields (`title`, `description`, `type`, `enum`, `const`, `format`, `pattern`, numeric/string/array/object bounds, and flags like `additionalProperties`, `deprecated`, `readOnly`, `writeOnly`). Child summaries expose `key`, normalized `path`, `type`, `required`, `hasChildren`, optional `reloadKind`, plus the matched `hint` / `hintPath`.
412-
- `update.run` runs the gateway update flow and schedules a restart only when the update itself succeeded; callers with a session can include `continuationMessage` so startup resumes one follow-up agent turn through the restart continuation queue. Package-manager updates from the control plane use a detached managed-service handoff instead of replacing the package tree inside the live Gateway. A started handoff returns `ok: true` with `result.reason: "managed-service-handoff-started"` and `handoff.status: "started"`; unavailable or failed handoffs return `ok: false` with `managed-service-handoff-unavailable` or `managed-service-handoff-failed`, plus `handoff.command` when a manual shell update is required. During a started handoff, the restart sentinel may briefly report `stats.reason: "restart-health-pending"`; the continuation is delayed until the CLI verifies the restarted Gateway and writes the final `ok` sentinel.
412+
- `update.run` runs the gateway update flow and schedules a restart only when the update itself succeeded; callers with a session can include `continuationMessage` so startup resumes one follow-up agent turn through the restart continuation queue. Package-manager updates and supervised git-checkout updates from the control plane use a detached managed-service handoff instead of replacing the package tree or mutating checkout/build output inside the live Gateway. A started handoff returns `ok: true` with `result.reason: "managed-service-handoff-started"` and `handoff.status: "started"`; unavailable or failed handoffs return `ok: false` with `managed-service-handoff-unavailable` or `managed-service-handoff-failed`, plus `handoff.command` when a manual shell update is required. During a started handoff, the restart sentinel may briefly report `stats.reason: "restart-health-pending"`; the continuation is delayed until the CLI verifies the restarted Gateway and writes the final `ok` sentinel.
413413
- `update.status` returns the latest cached update restart sentinel, including the post-restart running version when available.
414414
- `wizard.start`, `wizard.next`, `wizard.status`, and `wizard.cancel` expose the onboarding wizard over WS RPC.
415415

0 commit comments

Comments
 (0)