Files
openclaw/src/acp
Peter Lee d1163dac16 fix(acp): persist spawn label to target session store instead of requester store (#106241)
* fix(acp): persist spawn label to target session store instead of requester store

When /acp spawn --label <name> creates a cross-agent ACP session (e.g.
from main into cursor or codex), the label was written to the requester's
store partition rather than the spawned session's store.  The write was a
silent no-op because the session key (agent:cursor:acp:<uuid>) did not
exist in the requester's store.  Follow-up commands like /focus <label>
and /acp status <label> then failed with "No session found with label".

persistSpawnedSessionLabel now resolves the canonical store path from the
spawned session key via resolveSessionStorePathForAcp before writing, and
only mutates the in-memory requester session store when both stores are
actually the same.

Fixes #106136.

* fix(acp): export resolveSessionStorePathForAcp for cross-store label persistence

* refactor(acp): extract spawn binding helpers to bindings.ts

* fix(acp): remove unused oxlint-disable after extracting spawn bindings

* chore(acp): prune stale max-lines baseline entry for lifecycle.ts

* test(acp): tighten cross-store spawn label coverage

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-18 06:55:44 +01:00
..