feat(codex): support workspace-directory plugins#104188
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 11, 2026, 12:02 PM ET / 16:02 UTC. Summary PR surface: Source +99, Tests +462, Docs +97, Generated 0. Total +658 across 14 files. Reproducibility: yes. Current main accepts only Review metrics: 1 noteworthy metric.
Stored data model Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review detailsBest possible solution: Land the constrained exact-ID, preinstalled, no-install workspace path only after a native Codex owner explicitly accepts the compatibility and account-scoped plugin trust boundary. Do we have a high-confidence way to reproduce the issue? Yes. Current main accepts only Is this the best way to solve the issue? Yes, subject to owner approval. Extending the existing inventory, ownership, approval, default-deny policy, and binding path is narrower and safer than creating a parallel private-plugin model. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 4b33199a65af. Label changesLabel justifications:
Evidence reviewedPR surface: Source +99, Tests +462, Docs +97, Generated 0. Total +658 across 14 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (10 earlier review cycles; latest 8 shown)
|
a2ac4de to
ef6766d
Compare
|
Compatible-server live proof completed on the pre-rebase source; it was not rerun after rebase.
After this proof, the branch was rebased onto current Human trust-boundary decision still requested. Code and unit evidence—not the payload-free live trace—supports exact-ID, preinstalled-and-enabled workspace admission where enabled app IDs must be both owned by |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
Exact-current-head live proof now supersedes the earlier pre-rebase run.
This closes the contributor-owned exact-head compatibility-proof gap. The remaining ClawSweeper gate is the explicit maintainer product/security decision on the constrained account-scoped workspace-plugin boundary. |
ef6766d to
c69db57
Compare
* feat(codex): support workspace directory plugins * fix(codex): contain workspace catalog failures * chore(config): refresh documentation baseline
Closes #104176
AI-assisted: yes. I reviewed and understand the resulting code and behavior.
What Problem This Solves
Operators could configure native Codex plugins only from the curated marketplace. Plugins already active in an account-scoped workspace catalog could not be selected for Codex harness turns.
Why This Change Was Made
This extends the existing native-plugin policy and inventory flow with the
workspace-directorymarketplace. Workspace entries use their exact catalog ID, reuse the current remote detail and app-readiness paths, and must already be installed and enabled. OpenClaw never installs workspace plugins; curated installation behavior is unchanged.User Impact
Operators can expose an explicitly allowlisted workspace-directory plugin to Codex turns with the same default-deny app policy, approval handling, and session binding used by curated plugins.
Evidence
plugin/install.codex review --base origin/mainwas run using the desktop Codex CLI.ef6766d98910e6406a8c8f4e898df4348b47632c(OpenClaw 2026.7.2 (ef6766d)). The exact-head image was constructed on remote BuildBox and transferred without rebuilding; the Gateway and TUI ran inside Mac-local Docker Desktop, while Codex app-server0.144.0-alpha.4ran natively on the Mac. Two exact-ID workspace plugins were already installed, enabled, and app-accessible; separate fresh TUI sessions completed their bounded read-onlycodex_appstool calls. The redacted method trace recorded 8plugin/list, 13plugin/read, 3app/list, twothread/start/turn/start/turn/completedlifecycles, and zeroplugin/installcalls. No query rows, catalog IDs, credentials, or returned internal data are included here.c69db576848cb6a936a695ead5bd42b35028a5f1rebases the same implementation ontomainand refreshes the generated config baseline.git range-diffconfirmed that the production/runtime implementation replayed unchanged; the live scenarios exercise that unchanged implementation.pnpm config:docs:checkon the rebased implementation.Trust-boundary decision requested
Code and unit evidence, rather than the payload-free live trace, supports this proposed boundary: workspace plugins are admitted only by operator-configured exact catalog ID; each must already be installed and enabled; OpenClaw enables only app IDs owned by
plugin/readand currently accessible throughapp/list; all other apps stay default-denied; wildcard/display-name matching and workspaceplugin/installare not introduced. Please explicitly approve or reject that boundary.