fix(agents): harden bootstrap and ACP session routing

This commit is contained in:
Peter Steinberger
2026-04-28 20:47:24 +01:00
parent 3ae69498e2
commit 0dcab4e347
10 changed files with 108 additions and 10 deletions

View File

@@ -22,6 +22,12 @@ On the first agent run, OpenClaw bootstraps the workspace (default
- Writes identity + preferences to `IDENTITY.md`, `USER.md`, `SOUL.md`.
- Removes `BOOTSTRAP.md` when finished so it only runs once.
For embedded/local model runs, OpenClaw keeps `BOOTSTRAP.md` out of the
privileged system context. On the primary interactive first run, it still passes
the file contents in the user prompt so models that do not reliably call the
`read` tool can complete the ritual. If the current run cannot safely access the
workspace, the agent gets a limited bootstrap note instead of a generic greeting.
## Skipping bootstrapping
To skip this for a pre-seeded workspace, run `openclaw onboard --skip-bootstrap`.

View File

@@ -142,6 +142,7 @@ Quick `/acp` flow from chat:
<AccordionGroup>
<Accordion title="Lifecycle details">
- Spawn creates or resumes an ACP runtime session, records ACP metadata in the OpenClaw session store, and may create a background task when the run is parent-owned.
- Parent-owned ACP sessions are treated as background work even when the runtime session is persistent; completion and cross-surface delivery go through the parent task notifier rather than acting like a normal user-facing chat session.
- Bound follow-up messages go directly to the ACP session until the binding is closed, unfocused, reset, or expired.
- Gateway commands stay local. `/acp ...`, `/status`, and `/unfocus` are never sent as normal prompt text to a bound ACP harness.
- `cancel` aborts the active turn when the backend supports cancellation; it does not delete the binding or session metadata.