openclaw-code-agent 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,17 +16,27 @@
16
16
  - **Two harnesses, one control plane**. Claude Code and Codex share the same tools, routing, notification pipeline, and worktree strategy model while each backend uses its own native execution substrate.
17
17
  - **One continuation primitive**. `agent_respond` is the only way to continue, approve, revise, or redirect an existing session. Forks still go through `agent_launch(..., resume_session_id=..., fork_session=true)`.
18
18
 
19
- Need the version-pinned ACP breakdown? See [docs/ACP-COMPARISON.md](docs/ACP-COMPARISON.md).
19
+ Need the ACPX vs Codex vs code-agent breakdown? See [docs/ACP-COMPARISON.md](docs/ACP-COMPARISON.md).
20
20
 
21
- ## New In 3.2.0
21
+ ## Boundaries
22
22
 
23
- `3.2.0` is the release that makes the newer worktree and plan-review model feel reliable enough for daily use.
23
+ `openclaw-code-agent` is separate from both OpenClaw's bundled `acpx` runtime plugin and OpenClaw's bundled `codex` plugin.
24
24
 
25
- - **Deterministic completion and approval state**. Terminal notifications and wakes no longer depend on transcript-style summary heuristics, and plan-gated sessions now surface explicit approval/execution state for operators and orchestration logic.
26
- - **Real auto-merge conflict recovery**. `auto-merge` now gets one autonomous conflict-resolution attempt, then retries the merge automatically before escalating back to a preserved branch or PR path.
27
- - **Lifecycle-first worktree cleanup**. Worktree status and cleanup now treat `released` as a first-class resolved state, so rebased, squashed, and cherry-picked work can still be identified and cleaned safely.
28
- - **Safer repository follow-through**. Worktree disk-space validation now checks the correct filesystem on first run and for custom worktree directories, and cross-repo PR auto-targeting now works for upstream-only repos.
29
- - **Stronger release hygiene**. The repo now standardizes on `pnpm` validation, and release automation validates `package.json`, `openclaw.plugin.json`, and the release version together before publish.
25
+ - **ACPX** is OpenClaw's ACP runtime backend for ACP session interoperability.
26
+ - **OpenClaw's bundled `codex` plugin** is the core native Codex provider/harness pair for embedded agent turns.
27
+ - **`openclaw-code-agent`** is the chat orchestration layer that adds plan approval, wake routing, session lifecycle, and worktree/merge/PR policy above its own native Claude Code and Codex harnesses.
28
+
29
+ The shared substrate is often the local `codex` command and Codex App Server, but the responsibilities are different. This plugin is not an ACP server and it does not depend on OpenClaw's bundled Codex provider to expose its own `codex` harness.
30
+
31
+ ## New In 3.2.1
32
+
33
+ `3.2.1` is a maintenance release focused on routing correctness, compatibility metadata, and release/security hygiene around the newer plan-review and worktree model.
34
+
35
+ - **Trusted route resolution for newer OpenClaw contexts**. The plugin now prefers `deliveryContext` and `requesterSenderId` when available, while keeping legacy routing fallbacks for persisted sessions and older fixtures.
36
+ - **Safer verifier execution**. Goal-task verifier commands now drop shell bootstrap hooks like `BASH_ENV` and `ENV` so operator-provided verifier commands run with fewer implicit side effects.
37
+ - **Compatibility and onboarding metadata refresh**. The release raises the external OpenClaw baseline to `v2026.4.14`, verifies against the stable `v2026.4.21` build target, and ships the manifest activation/setup descriptors plus narrower onboarding guidance for first-run setup.
38
+ - **Codex harness policy refresh**. The built-in Codex allowlist now includes `gpt-5.4-pro`.
39
+ - **Stronger security and release hygiene**. Dependency overrides, CI checks, plugin security validation, and release metadata parity checks are all updated to match the shipped package.
30
40
 
31
41
  ## From Prompt To Merged Branch
32
42
 
@@ -65,9 +75,11 @@ Once launched, use `goal_status` / `/goal_status` to inspect progress and `goal_
65
75
 
66
76
  The differentiator is the plan-review loop. Claude Code and Codex both feed the same review UX now: the plugin receives a structured plan artifact, keeps execution blocked until approval, and resumes the same session with `agent_respond(..., approve=true)`. If the user asks for revisions, the revised submission becomes the new actionable review version for that same session, and `approve=true` resolves against that latest version instead of any stale earlier change-request state.
67
77
 
78
+ > Demo note: the GIFs below were recorded on an older build. They still show the overall flow correctly, but they do not include the newer explicit action buttons and some other current thread controls.
79
+
68
80
  <img src="assets/ask-readme.gif" alt="Plan review in ask mode with inline approval controls">
69
81
 
70
- *`ask` mode keeps the human in the loop: the plan lands back in the originating thread, and execution only starts after approval.*
82
+ *`ask` mode keeps the human in the loop: the plan lands back in the originating thread, and execution only starts after approval. The current UI now uses explicit buttons for approval and follow-through, even though the GIF predates that update.*
71
83
 
72
84
  ### Finish Cleanly
73
85
 
@@ -75,7 +87,7 @@ When the task is done, the plugin can leave the branch for review, merge it auto
75
87
 
76
88
  <img src="assets/delegate-readme.gif" alt="Delegated worktree flow with autonomous follow-through">
77
89
 
78
- *The main checkout stays clean. The branch lifecycle happens in the worktree, and the chat thread stays current on what was shipped.*
90
+ *The main checkout stays clean. The branch lifecycle happens in the worktree, and the chat thread stays current on what was shipped. The current UI includes newer buttons and lifecycle affordances that are not visible in this older recording.*
79
91
 
80
92
  ### Worktree Lifecycle
81
93
 
@@ -110,7 +122,19 @@ openclaw plugins enable openclaw-code-agent
110
122
  openclaw gateway restart
111
123
  ```
112
124
 
113
- This release targets the OpenClaw `v2026.4.9` external plugin contract. `package.json` now carries the plugin API compatibility and build metadata used by modern OpenClaw / ClawHub installs, so keep those fields in sync when bumping the plugin release baseline.
125
+ This release targets the OpenClaw `v2026.4.14` external plugin contract and is verified against the stable `v2026.4.21` build/test target. `package.json` now carries the plugin API compatibility and build metadata used by modern OpenClaw / ClawHub installs, and `openclaw.plugin.json` now advertises the plugin-owned command activation surface plus the onboarding metadata OpenClaw uses during plugin-config setup. Keep those metadata surfaces in sync when bumping the plugin release baseline.
126
+
127
+ The current manifest descriptors stay intentionally narrow: activation advertises only the chat commands this plugin owns, and setup stays minimal with `requiresRuntime: false`. First-run onboarding is driven by the manifest config schema and `uiHints`, not by provider/backend setup descriptors.
128
+
129
+ ### First-Run Onboarding
130
+
131
+ In OpenClaw's Manual setup flow, the plugin should only ask for three first-run decisions:
132
+
133
+ - `defaultWorkdir`: the repo or workspace path you expect to launch from most often
134
+ - `defaultHarness`: whether your default harness is `claude-code` or `codex`
135
+ - `fallbackChannel`: an optional but recommended fully routable notification target for async updates
136
+
137
+ Everything else stays advanced/manual. In particular, `agentChannels`, per-harness model policy, permission defaults, and worktree policy are intentionally deferred until after the first successful launch.
114
138
 
115
139
  Add a minimal config block under `plugins.entries["openclaw-code-agent"]` in `~/.openclaw/openclaw.json`:
116
140
 
@@ -121,9 +145,9 @@ Add a minimal config block under `plugins.entries["openclaw-code-agent"]` in `~/
121
145
  "openclaw-code-agent": {
122
146
  "enabled": true,
123
147
  "config": {
148
+ "defaultWorkdir": "/home/user/project",
149
+ "defaultHarness": "claude-code",
124
150
  "fallbackChannel": "telegram|my-bot|123456789",
125
- "planApproval": "ask",
126
- "defaultWorktreeStrategy": "off",
127
151
  "harnesses": {
128
152
  "claude-code": {
129
153
  "defaultModel": "sonnet",
@@ -131,7 +155,7 @@ Add a minimal config block under `plugins.entries["openclaw-code-agent"]` in `~/
131
155
  },
132
156
  "codex": {
133
157
  "defaultModel": "gpt-5.4",
134
- "allowedModels": ["gpt-5.4"],
158
+ "allowedModels": ["gpt-5.4", "gpt-5.4-pro"],
135
159
  "reasoningEffort": "medium"
136
160
  }
137
161
  }
@@ -142,6 +166,12 @@ Add a minimal config block under `plugins.entries["openclaw-code-agent"]` in `~/
142
166
  }
143
167
  ```
144
168
 
169
+ You can leave the advanced settings at their defaults for the first run. The plugin defaults to:
170
+
171
+ - `permissionMode: "plan"`
172
+ - `planApproval: "ask"`
173
+ - `defaultWorktreeStrategy: "off"`
174
+
145
175
  If you run Codex sessions, keep Codex on the ChatGPT auth path:
146
176
 
147
177
  ```toml
@@ -152,6 +182,17 @@ Put that in `~/.codex/config.toml`.
152
182
 
153
183
  Codex approval behavior is fixed to the supported execution path, and OpenClaw handles review gates through `permissionMode` plus `planApproval`.
154
184
 
185
+ ### Harness Availability Guidance
186
+
187
+ OpenClaw's generic plugin onboarding can prompt for `defaultHarness`, but it does not yet have a plugin-specific readiness panel. Use these checks when choosing the default:
188
+
189
+ - `codex`: choose this only when the `codex` command (or your `OPENCLAW_CODEX_APP_SERVER_COMMAND` override) is available and local Codex auth under `~/.codex` is already working
190
+ - `claude-code`: choose this when the bundled Claude SDK/CLI is installed and you expect Claude Code to be the main path on this machine
191
+
192
+ Codex readiness is the easier one to verify locally because the plugin depends on a resolvable command plus local auth files. Claude Code installation is verifiable, but authenticated usability may still require Claude-side login/account setup the first time you launch a session.
193
+
194
+ This is this plugin's own harness selection, not OpenClaw ACPX runtime selection and not the bundled core `codex` provider toggle. The real prerequisites are the local backend commands and local auth state.
195
+
155
196
  Launch a first session:
156
197
 
157
198
  ```bash
@@ -209,6 +250,7 @@ The chat command surface mirrors the common workflows: `/agent`, `/agent_session
209
250
  | [docs/REFERENCE.md](docs/REFERENCE.md) | Install, config, tools, commands, notifications, routing, worktrees, troubleshooting |
210
251
  | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | Session manager, harness model, notification pipeline, persistence, worktree internals |
211
252
  | [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) | Local setup, repo layout, build/test flow, extension points |
253
+ | [docs/SECURITY.md](docs/SECURITY.md) | Accepted subprocess surfaces, verifier-shell boundary, and current scanner findings |
212
254
  | [docs/ACP-COMPARISON.md](docs/ACP-COMPARISON.md) | Current comparison with OpenClaw core ACP |
213
255
  | [skills/code-agent-orchestration/SKILL.md](skills/code-agent-orchestration/SKILL.md) | Operational skill for orchestrating sessions from an agent |
214
256
  | [CHANGELOG.md](CHANGELOG.md) | Release history |