openclaw/docs
Peter Steinberger e98c7dfbcb
feat(cloud-workers): session placement, dispatch, and worker turn routing (#106332)
* feat(gateway-protocol): add session placement schema

Closed state discriminator for session execution placement (local/requested/provisioning/syncing/starting/active/draining/reconciling/reclaimed/failed), sessions.dispatch params, and worker-admission transcript/live cursor extensions. Swift protocol models mirror the schema.

* feat(state): add worker session placement table

worker_session_placements rows carry placement state, transition generation, worker ownership metadata, ACK cursors, and the turn claim columns used for atomic admission.

* feat(cloud-workers): add durable placement state machine store

SQLite-backed placement store split by concern: state table (placement-state), discriminated record types + shape invariants (placement-record), row codec + CAS transition values (placement-row-codec), atomic turn-claim admission/release/waiters (placement-turn-claims), and lifecycle CAS transitions (placement-store).

* feat(cloud-workers): sync workspaces and attach sessions to worker environments

Environment service session attachment + turn credentials, tunnel workspace commands over a dedicated SSH runner, and git/plain workspace sync into $HOME/.openclaw-worker/workspaces with an immutable manifest. Symlink escapes are rejected locally before transfer (macOS openrsync stat-fails them opaquely) and again by the remote manifest guard.

* feat(worker): run one-shot embedded turns from launch descriptors

Worker runtime executes a single embedded turn from a stdin launch descriptor and reports completed/failed/fenced on stdout for the gateway launcher. Terminal lifecycle live events are deferred past the final transcript flush; transcript projection helpers are shared via transcript-message instead of duplicated in the runtime.

* feat(cloud-workers): dispatch placements and route worker turns

Dispatch service drives local->requested->provisioning->syncing->starting->active with failure teardown (placement-dispatch-failure) and restart/runtime recovery incl. lost-worker reclaim (placement-dispatch-recovery). Worker turn launcher claims the placement turn atomically, builds a windowed launch descriptor (worker-turn-payload), runs the remote one-shot worker, and reconciles the committed transcript; agent runners route turns through the session placement admission provider.

* feat(gateway): expose session placement RPCs and startup reconciliation

sessions.dispatch RPC with lifecycle admission barriers, operator-facing placement projection on session listings, placement-aware session reset guard, and startup/interval reconciliation wiring for worker placements.
2026-07-13 08:03:53 -07:00
..
.generated feat(nodes): continue Claude catalog sessions on paired nodes via streaming CLI agent runs (#105833) 2026-07-13 07:39:22 -07:00
.i18n fix(docs): localize Russian plugin terminology 2026-07-13 03:34:26 -04:00
announcements docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
assets docs(readme): trim banner whitespace for a more compact hero 2026-07-09 14:53:52 -07:00
automation docs: harden Gmail hook guidance 2026-07-12 22:42:48 -07:00
channels improve(ui): move Devices into Settings and redesign the device inventory (#106055) 2026-07-13 03:18:17 -07:00
clawhub docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
cli feat(cloud-workers): session placement, dispatch, and worker turn routing (#106332) 2026-07-13 08:03:53 -07:00
concepts feat(worktrees): configurable cleanup limits (max count, max total size) with Settings UI (#106224) 2026-07-13 06:00:33 -07:00
debug docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
diagnostics docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
gateway feat(cloud-workers): session placement, dispatch, and worker turn routing (#106332) 2026-07-13 08:03:53 -07:00
help fix(sqlite): reject runtimes vulnerable to WAL corruption (#106065) 2026-07-13 13:59:00 +08:00
images
install fix(sqlite): serialize offline maintenance with gateway (#106210) 2026-07-13 18:15:32 +08:00
maturity chore(repo): remove stale repository artifacts (#103152) 2026-07-10 05:28:12 +05:30
nodes feat(nodes): continue Claude catalog sessions on paired nodes via streaming CLI agent runs (#105833) 2026-07-13 07:39:22 -07:00
plan refactor: flip sessions and transcripts to sqlite storage (#98236) 2026-07-11 14:50:37 -07:00
platforms feat: Linux desktop companion app with auto-install, Gateway lifecycle, and Control UI window (#106352) 2026-07-13 05:17:27 -07:00
plugins fix(voice-call): restrict classic streaming to Twilio (#102887) 2026-07-13 05:33:16 -07:00
providers feat(nodes): continue Claude catalog sessions on paired nodes via streaming CLI agent runs (#105833) 2026-07-13 07:39:22 -07:00
refactor fix(sqlite): reject runtimes vulnerable to WAL corruption (#106065) 2026-07-13 13:59:00 +08:00
reference fix(memory): respect QMD timeout for memory_search (#95757) 2026-07-13 00:05:13 -07:00
releases docs: publish release notes for v2026.6.11 (#98319) 2026-06-30 19:42:12 -06:00
security docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
snippets/plugin-publish docs: restore source-backed contract details (#100182) 2026-07-05 01:26:25 -04:00
specs feat: unify external sessions with native catalog pagination (#104717) 2026-07-11 17:26:26 -07:00
start fix(sqlite): reject runtimes vulnerable to WAL corruption (#106065) 2026-07-13 13:59:00 +08:00
tools feat(xai): add native streaming TTS (#103993) 2026-07-13 06:08:28 -07:00
web feat(control-ui): agent identity editor, Settings-homed Agents page, scalable chip switcher (#106058) 2026-07-13 04:03:26 -07:00
agent-runtime-architecture.md fix(openai): align auth availability with effective routes (#104685) 2026-07-11 15:26:48 -07:00
AGENTS.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
auth-credential-semantics.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
brave-search.md
ci.md chore(ci): enforce changed-file TypeScript LOC ratchet (#106387) 2026-07-13 07:20:32 -07:00
CLAUDE.md
date-time.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
docs.json feat(onepassword): optional 1Password secrets broker plugin (#106133) 2026-07-13 03:12:47 -07:00
docs_map.md feat(worktrees): configurable cleanup limits (max count, max total size) with Settings UI (#106224) 2026-07-13 06:00:33 -07:00
index.md fix(sqlite): reject runtimes vulnerable to WAL corruption (#106065) 2026-07-13 13:59:00 +08:00
logging.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
nav-tabs-underline.js docs: document repo support scripts 2026-06-04 08:01:15 -04:00
network.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
openclaw-agent-runtime.md refactor: flip sessions and transcripts to sqlite storage (#98236) 2026-07-11 14:50:37 -07:00
perplexity.md
prose.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
style.css docs: clarify maturity scorecard scoring (#96594) 2026-06-24 17:32:08 -07:00
tts.md
vps.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
whatsapp-openclaw.jpg