openclaw/docs/concepts
Peter Steinberger 48b0f4edf5
feat(gateway): session worktree targeting, branch listing, and server-side session groups (#103432)
* feat(gateway): session worktree targeting, branch listing, and group catalog

- sessions.create accepts worktreeBaseRef/worktreeName (write scope) and
  execNode (admin); worktree binding persists on the session entry as
  worktree { id, branch, repoRoot } and projects onto session rows with
  execNode so UIs can show checkout/branch/node state
- new worktrees.branches RPC lists local/remote branches (no fetch) for
  base-ref pickers; worktrees.remove now reports snapshotError
- sessions.delete reports preserved dirty checkouts as worktreePreserved
- gateway-owned session group catalog in the shared state DB with
  sessions.groups.list/put/rename/delete; rename/delete update member
  categories server-side without bumping recency; sessions.patch absorbs
  ad-hoc categories into the catalog
- group session display names prefer the human chat title (subject or
  space #channel) over stored compact tokens

Part of #103431

* fix(gateway): route group category updates through the session accessor and regen protocol models

- bulk member-category rename/clear uses applySessionEntryReplacements
  instead of legacy updateSessionStore call sites (session accessor
  boundary guard)
- regenerate Swift GatewayModels for the worktrees.branches schemas,
  snapshotError, and new sessions.create params

Part of #103431

* fix(gateway): resolvable remote branch refs and workspace-scoped branch listing

- worktrees.branches returns remote-only branches remote-qualified
  (origin/feature-a) so every advertised name works as a worktree base ref
- write-scoped worktrees.branches callers are limited to configured agent
  workspaces; other host paths require operator.admin, matching the
  sessions.create cwd bar

Part of #103431

* fix(gateway): guard worktree name reuse by owner and env-scope group transactions

- managedWorktrees.create rejects a caller-chosen name whose live or
  restorable record belongs to a different owner, so write-scoped
  sessions.create cannot bind a session into another session's or a
  manual checkout
- session group catalog writes run their SQLite transaction on the same
  env-scoped handle as their statements, keeping OPENCLAW_STATE_DIR
  overrides atomic and away from the default state DB

Part of #103431
2026-07-10 15:51:35 +01:00
..
active-memory.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
agent-loop.md docs: correct cron self-hosted idle watchdog wording 2026-07-09 14:26:05 +05:30
agent-runtimes.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
agent-workspace.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
agent.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
architecture.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
channel-docking.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
commitments.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
compaction.md fix: replies fail when memory flush is exhausted (#100618) 2026-07-06 06:41:16 +01:00
context-engine.md feat(memory-wiki): isolate vaults per agent (#103349) 2026-07-10 05:19:13 +01:00
context.md fix(context): show transcript conversation in /context map 2026-07-09 16:56:13 +05:30
delegate-architecture.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
dreaming.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
experimental-features.md fix(agents): keep exec visible for lean local models (#101607) 2026-07-07 12:46:26 +01:00
features.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
managed-worktrees.md feat(gateway): session worktree targeting, branch listing, and server-side session groups (#103432) 2026-07-10 15:51:35 +01:00
mantis-slack-desktop-runbook.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
mantis.md ci(mantis): add web UI chat proof lane (#100472) 2026-07-07 10:54:35 +01:00
markdown-formatting.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
memory-builtin.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
memory-honcho.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
memory-qmd.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
memory-search.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
memory.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
message-lifecycle-refactor.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
messages.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
model-failover.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
model-providers.md feat(openai): default new setups to GPT-5.6 (#103581) 2026-07-10 10:22:58 +01:00
models.md feat(openai): default new setups to GPT-5.6 (#103581) 2026-07-10 10:22:58 +01:00
multi-agent.md feat(memory-wiki): isolate vaults per agent (#103349) 2026-07-10 05:19:13 +01:00
oauth.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
parallel-specialist-lanes.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
personal-agent-benchmark-pack.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
presence.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
progress-drafts.md fix(mattermost): preserve text-block boundaries in draft preview (#87322) (#87449) 2026-07-10 14:32:11 +01:00
qa-e2e-automation.md test(qa): migrate channel thread and DM isolation scenarios (#101112) 2026-07-06 17:52:38 -07:00
qa-matrix.md test(qa): migrate channel thread and DM isolation scenarios (#101112) 2026-07-06 17:52:38 -07:00
queue-steering.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
queue.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
retry.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
session-pruning.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
session-tool.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
session.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
soul.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
streaming.md fix(mattermost): preserve text-block boundaries in draft preview (#87322) (#87449) 2026-07-10 14:32:11 +01:00
system-prompt.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
timezone.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
typebox.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
typing-indicators.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
usage-tracking.md feat: show provider plan usage (5h/weekly/credits) in the chat context popover, keep API cost for API billing (#102784) 2026-07-09 15:36:13 +01:00