Skip to content

refactor: delete exec-server and move execve wrapper into shell-escalation#12632

Merged
bolinfest merged 1 commit intomainfrom
pr12632
Feb 24, 2026
Merged

refactor: delete exec-server and move execve wrapper into shell-escalation#12632
bolinfest merged 1 commit intomainfrom
pr12632

Conversation

@bolinfest
Copy link
Copy Markdown
Collaborator

@bolinfest bolinfest commented Feb 24, 2026

Why

We already plan to remove the shell-tool MCP path, and doing that cleanup first makes the follow-on shell-escalation work much simpler.

This change removes the last remaining reason to keep codex-rs/exec-server around by moving the codex-execve-wrapper binary and shared shell test fixtures to the crates/tests that now own that functionality.

What Changed

Delete codex-rs/exec-server

  • Remove the exec-server crate, including the MCP server binary, MCP-specific modules, and its test support/test suite
  • Remove exec-server from the codex-rs workspace and update Cargo.lock

Move codex-execve-wrapper into codex-rs/shell-escalation

  • Move the wrapper implementation into shell-escalation (src/unix/execve_wrapper.rs)
  • Add the codex-execve-wrapper binary entrypoint under shell-escalation/src/bin/
  • Update shell-escalation exports/module layout so the wrapper entrypoint is hosted there
  • Move the wrapper README content from exec-server to shell-escalation/README.md

Move shared shell test fixtures to app-server

  • Move the DotSlash bash/zsh test fixtures from exec-server/tests/suite/ to app-server/tests/suite/
  • Update app-server zsh-fork tests to reference the new fixture paths

Keep shell-tool-mcp as a shell-assets package

  • Update .github/workflows/shell-tool-mcp.yml packaging so the npm artifact contains only patched Bash/Zsh payloads (no Rust binaries)
  • Update shell-tool-mcp/package.json, shell-tool-mcp/src/index.ts, and docs to reflect the shell-assets-only package shape
  • shell-tool-mcp-ci.yml does not need changes because it is already JS-only

Verification

  • cargo shear
  • cargo clippy -p codex-shell-escalation --tests
  • just clippy

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a14abcb915

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 417 to 420
- metadata
- rust-binaries
- bash-linux
- bash-darwin
- zsh-linux
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0 Badge Restore Rust binaries as package prerequisites

The package job no longer depends on any Rust binary build, so its staged vendor/ payload is assembled only from Bash/Zsh artifacts. The published launcher still requires vendor/<target>/codex-exec-mcp-server and codex-execve-wrapper at startup (shell-tool-mcp/src/index.ts throws Required binary missing when they are absent), so this workflow now produces npm tarballs that install but fail immediately at runtime on all platforms.

Useful? React with 👍 / 👎.

@bolinfest bolinfest force-pushed the pr12632 branch 5 times, most recently from b1f51a2 to fcf0efa Compare February 24, 2026 03:38
@bolinfest bolinfest changed the title refactor: remove exec-server MCP shell tool support refactor: delete exec-server and move execve wrapper into shell-escalation Feb 24, 2026
@bolinfest bolinfest requested a review from pakrym-oai February 24, 2026 03:49
@bolinfest bolinfest enabled auto-merge (squash) February 24, 2026 03:53
@bolinfest bolinfest disabled auto-merge February 24, 2026 04:10
@bolinfest bolinfest merged commit 38f84b6 into main Feb 24, 2026
63 of 75 checks passed
@bolinfest bolinfest deleted the pr12632 branch February 24, 2026 04:10
@github-actions github-actions bot locked and limited conversation to collaborators Feb 24, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants