openclaw/docs/cli
Peter Steinberger 165fd29a4c
fix(doctor): reclaim legacy pnpm runtimes and TMP/TEMP service scratch (#160164)
* fix(update): bound stalled runtime cleanup and reclaim legacy projections

Forward-port retained runtime review corrections from c9de04ac1a. Preserve the recorded watchdog outcome and retained files when workers cannot close, recognize legacy pnpm projections within the same store, and inspect service TMP/TEMP roots without guessing relative paths.

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>

* test(doctor): type the bounded projection iterator fixture

Narrow the first directory entry and declare the generator's undefined return so the synthetic opendir iterator matches Dir's AsyncIterator contract under the core test typecheck.

* fix(update): keep failed recovery barriers nonzero after the output watchdog

A rejected mutation or recovery drain must turn a recorded successful command result into exit 1. Preserve recorded nonzero results and the original result for disposable retained-worker cleanup stalls. Document the distinction and extend the existing real-child exit cases.

PR #160164 follow-up. Before the fix, three new failure cases exited 0 instead of 1; after the fix, all 11 retained-runtime exit cases pass. The regression file took 13.50s wall with --maxWorkers=1. After merging main, the five requested test files pass 79/79 in 99.18s. Core, other, infra, and config-cli typechecks, targeted oxlint, formatting, diff checks, and independent review pass.

The published-driver test file passes 11/11 twice on the original branch and once on main. The reported case takes 7.33s and 6.82s on the branch versus 7.88s on main; its stable finalizer exits naturally without invoking the output watchdog. No PR-specific exit regression reproduced, so no CI-related production or test change was made.

* fix(update): keep nonzero exits and in-flight runtime removal ahead of the watchdog

Preserve a pending nonzero exit when the output watchdog records success. Once retained-runtime directory removal starts, keep it joined through success or error; worker and preparation stalls before removal retain the bounded watchdog behavior. Document the installed-updater behavior.

Real-child regressions failed before the fix for pending exit precedence, interrupted removal, and removal error settlement. Validation: 80 tests across retained-runtime exit/runtime, signal-exit-barrier, and one-shot-exit passed with maxWorkers=2 in 72.86s. The 14-case exit file passed with maxWorkers=1 in 15.73s wall. Core, infra-test, and config-cli-test typechecks, targeted oxlint, oxfmt, and git diff --check passed. Independent P2 autoreview was scoped-clean.

* refactor(update): drop the retained-runtime exit watchdog pending broker settlement split

Remove the watchdog finalizer escape, retirement abort/removal flags, immediate warning path, recorded exit-code state, and watchdog-only process tests. Retained SQLite work and runtime removal stay joined through the existing settlement owner. A mandatory broker settlement versus disposable termination split remains a separate follow-up.

Keep Doctor legacy pnpm projection reclamation and service TMP/TEMP/TMPDIR discovery, including Windows casing and drive-relative paths. Main already preserves failed barriers and pending nonzero exits without watchdog state; retain that implementation and cover those outcomes directly in signal-exit-barrier tests. Recovery docs describe the reduced scope.

Validation: 101 tests passed across six files with maxWorkers=2 (101.54 seconds); core typecheck and state-logging, config-cli, services, and other core test typecheck lanes passed; targeted oxlint and oxfmt passed; Madge found zero cycles; git diff --check passed. Signal barrier cost with maxWorkers=1: seven tests passed, 3.28 seconds command wall (1.74 seconds Vitest). Autoreview against the merged main base was scoped-clean at P1. Native Windows and published-driver upgrade proof were not run in this scoped reduction.

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-09-28 13:48:32 -07:00
..
doctor fix(doctor): hold existing session databases with unknown deletion history (#160129) 2026-09-28 10:58:21 -07:00
gateway fix(daemon): forced reinstall moves an unpinned Bun Gateway service to Node (#160189) 2026-09-28 12:26:32 -07:00
mcp refactor: retire pre-June import and verification compatibility (#156285) 2026-09-23 02:22:22 -07:00
plugins chore(deps): update fs-safe to 0.21.1 (#159882) 2026-09-27 16:11:51 -07:00
policy fix: skip official setup approvals and default to Astra (#145646) 2026-09-12 00:34:25 -07:00
update fix(doctor): reclaim legacy pnpm runtimes and TMP/TEMP service scratch (#160164) 2026-09-28 13:48:32 -07:00
acp.md fix: stop ACP client when terminal input closes (#148611) 2026-09-14 19:20:13 -07:00
agent.md fix(agents): session-ID lookup loses partition ownership (#155741) 2026-09-22 14:03:52 -07:00
agents.md fix(cli): never fall back to local state when a remote Gateway is unreachable (#159223) 2026-09-26 17:22:51 -07:00
approvals.md feat(tools): explain terminal access restrictions (#157014) 2026-09-24 02:53:23 -05:00
attach.md
audit.md refactor: remove Tasks and TaskFlow runtime (#159179) 2026-09-27 10:40:29 -07:00
backup.md fix(update): back up every database before migrations and restore them on rollback (#158163) 2026-09-26 02:30:17 +00:00
browser.md feat(browser): unify local Chrome setup across desktop and terminal (#152057) 2026-09-22 06:28:29 -07:00
channels.md fix(channels): include runtime namespaces in channel logs (#159244) 2026-09-26 17:47:31 -07:00
clawbot.md docs: correct verified accuracy defects in CLI, tools, and automation pages (#143179) 2026-09-09 23:57:06 +09:00
claws.md fix(claws): preserve user files when a workspace scan is incomplete (#154797) 2026-09-22 02:06:28 -07:00
completion.md fix(cli): load plugin commands once when building completion (#160546) 2026-09-28 09:55:10 -07:00
config.md fix(cli): emit JSON errors for invalid config output flags (#159760) 2026-09-27 09:18:06 -07:00
configure.md docs: STE structural cleanup for gateway, cli and concepts (46 audit findings) (#143931) 2026-09-10 18:50:32 +08:00
connect.md fix(cli): explain how to reconnect when openclaw connect has no target on a paired node (#159810) 2026-09-27 15:14:09 -07:00
cron.md fix(cron): report unknown delivery when webhook responses time out (#159840) 2026-09-27 15:36:15 -05:00
daemon.md fix(gateway): support pinned daemon runtime paths (#82290) 2026-09-16 21:20:21 -06:00
dashboard.md fix: preserve dashboard HTTP errors when diagnostics fail (#145227) 2026-09-11 13:46:03 -07:00
devices.md fix(pairing): device join codes ignore gateway.publicOrigin behind public ingress (#159465) 2026-09-27 12:07:50 -07:00
directory.md fix(directory): reject explicitly blank channel selectors (#153731) 2026-09-20 21:40:05 +05:30
dns.md docs: fix 20 link defects confirmed live in the verified backlog (#144133) 2026-09-11 03:48:10 +08:00
docs.md fix(docs): reject malformed search result collections (#145613) 2026-09-12 00:20:46 -07:00
doctor.md fix(usage): prevent refresh OOMs on large SQLite sessions (#156937) 2026-09-24 02:50:28 +00:00
file-transfer.md docs: close the small audit categories (generated, governance, link, split) (#144029) 2026-09-10 21:52:03 +08:00
fleet.md feat(fleet): show the recorded container runtime in status (#144691) 2026-09-19 17:54:21 +01:00
gateway.md docs(gateway): warn that installation starts the service (#139562) 2026-09-10 17:23:20 +05:30
health.md fix(cli): show configured plugin failures in health reports (#118013) 2026-09-27 18:22:09 -07:00
hooks.md docs: STE pass on terminology consistency and run-on sentences (#143770) 2026-09-10 15:51:49 +09:00
index.md feat(users): merge duplicate user profiles (#159889) 2026-09-27 16:18:08 -07:00
infer.md fix(cli): defer inference runtimes until command execution (#158624) 2026-09-26 03:50:34 +00:00
logs.md
mcp.md docs: fix one-way and absolute links across cli, tools, gateway, and channels (#143157) 2026-09-10 07:40:16 +09:00
memory.md fix(memory): retain forget lineage through writer admission (#152902) 2026-09-19 07:43:49 -07:00
message.md perf(cli): skip migration preflight for Gateway message actions (#157448) 2026-09-24 11:10:08 -07:00
migrate.md fix: clarify Codex onboarding migration scope (#151383) 2026-09-21 00:57:52 -07:00
models.md improve(openai): mark Sign in with ChatGPT as Beta (#160011) 2026-09-28 01:39:33 +00:00
node.md fix(node): reconnect after fallback pairing code expires (#159360) 2026-09-26 20:39:25 -07:00
nodes.md fix(cli): reject empty node invocation keys before lookup (#145032) 2026-09-20 15:50:30 +05:30
onboard.md fix(onboarding): reject impossible workspaces and name the failing setup step (#160373) 2026-09-28 04:28:29 -07:00
openclaw.md refactor(runtime): deslop daemon, node host, TUI and runtime hosts (#160454) 2026-09-28 09:20:48 -07:00
pairing.md docs: STE structural cleanup for gateway, cli and concepts (46 audit findings) (#143931) 2026-09-10 18:50:32 +08:00
path.md refactor(channels): deslop smaller channel plugins (#157825) 2026-09-24 22:52:40 -07:00
plugins.md fix(plugins): allow reloads to wait for long-running work (#158688) 2026-09-26 08:08:14 +00:00
policy.md docs: close remaining one-way link findings in cli, plugins, tools, providers (#143855) 2026-09-10 16:15:08 +08:00
promos.md docs: fix one-way and absolute links across cli, tools, gateway, and channels (#143157) 2026-09-10 07:40:16 +09:00
proxy.md fix(proxy): keep capture persistence off the main thread (#158848) 2026-09-26 13:45:36 -07:00
qr.md fix(pairing): device join codes ignore gateway.publicOrigin behind public ingress (#159465) 2026-09-27 12:07:50 -07:00
reset.md fix(reset): remove canonical SQLite session history (#159419) 2026-09-27 17:36:43 -07:00
resume.md
sandbox.md refactor(commands): deslop commands (#158487) 2026-09-26 00:33:06 -07:00
secrets.md fix(doctor): agree with secrets audit on non-secret API-key markers (#156216) 2026-09-23 06:24:20 +00:00
security.md fix: bound filesystem reads and keep sandbox reads responsive (#146654) 2026-09-12 19:41:19 -07:00
sessions.md refactor: remove Tasks and TaskFlow runtime (#159179) 2026-09-27 10:40:29 -07:00
setup.md fix(setup): honor baseline skip-bootstrap (#115945) 2026-09-26 18:15:06 +08:00
skills.md fix(skills): restore usage counts and current Workshop inventory (#151048) 2026-09-18 12:17:09 +05:30
status.md fix(status): warn when the running Gateway Node path is gone (#157190) 2026-09-28 21:19:12 +05:30
system.md docs(cli): document system Gateway port and password options (#139071) 2026-09-10 16:01:11 +05:30
transcripts.md fix(gateway): apply settings without unnecessary restarts (#154792) 2026-09-21 11:50:57 -07:00
triage.md fix(triage): stop reporting failed updates as resolved (#153443) 2026-09-20 02:38:30 -07:00
tui.md docs: close remaining one-way link findings in cli, plugins, tools, providers (#143855) 2026-09-10 16:15:08 +08:00
uninstall.md docs: fix one-way and absolute links across cli, tools, gateway, and channels (#143157) 2026-09-10 07:40:16 +09:00
update.md fix: updates report plugin failures as database errors (#160436) 2026-09-28 11:04:23 -07:00
users.md feat(users): merge duplicate user profiles (#159889) 2026-09-27 16:18:08 -07:00
voicecall.md docs(plugins): remove obsolete Gateway restart guidance (#146516) 2026-09-12 16:48:13 -07:00
webhooks.md refactor: retire the TaskFlow Webhooks plugin (#158225) 2026-09-25 20:29:15 -07:00
wiki.md
workboard.md refactor: remove Tasks and TaskFlow runtime (#159179) 2026-09-27 10:40:29 -07:00
worker.md perf(nodes): keep prompt caching effective for sessions on nodes (#160179) 2026-09-28 10:31:33 -07:00