RFC: MCP exec-runner β the sandbox as an A3 runner target (#592)#595
Draft
ryaneggz wants to merge 1 commit into
Draft
RFC: MCP exec-runner β the sandbox as an A3 runner target (#592)#595ryaneggz wants to merge 1 commit into
ryaneggz wants to merge 1 commit into
Conversation
β¦didate for #592 Companion RFC proposing the openharness sandbox as a remotely-drivable MCP runner by vendoring only the exec-server proxy from mifunedev/sandboxes/ubuntu (one exec_command tool over Streamable HTTP). Maps to axis A3 (fan-out) of the runtime-support RFC (#592) and makes concrete its Β§6 deferred "harness becomes a runner target" option. Decision artifact only β no proxy wired, no image/compose change; the security floor (opt-in, loopback, required API_KEY, pinned SDK, low-priv run-as) gates any future build. Refs #592, #591. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Companion RFC to #592 (Runtime support) proposing the openharness sandbox as a remotely-drivable MCP runner: vendor only the
exec-serverproxy frommifunedev/sandboxes/ubuntuβ a ~100-line Node MCP server exposing a singleexec_commandtool over Streamable HTTP on:3005.This is a decision artifact, not an implementation: no proxy is wired, no image or compose is touched.
Where it fits #592
The mechanism is unambiguously axis A3 (fan-out) β a runner endpoint that lets an external control plane drive N sandboxes over one uniform protocol (MCP). It makes concrete the "the harness becomes a runner target" option that
rfc-runtime-support.mdΒ§6 raises and defers, addingprovider: mcp-httpbeside the Crabbox be/embed/integrate choice.It is the inverse of the existing DebugMCP wiring: there the sandbox is an MCP client dialing out to
:3001; here it hosts an MCP endpoint an outside orchestrator drives.Security floor (gates any future build)
exec_commandis arbitrary RCE, and the sandbox bind-mounts/var/run/docker.sockβ reach extends to the host. Non-negotiable posture, drawn from the third-party-MCP governance checklist:install.mcp_exec_runner); default installs ship nothing new (.oh/templates/full/+init.test.tsstay green).cloudflaredtunnel or explicitforwardPorts; never0.0.0.0.API_KEYrequired when enabled (fail-closed) β do not inherit the upstream keyless default.@modelcontextprotocol/sdk; minimal reviewed config; no auto-granted permissions.executoruser (recommended) vs. the sudo + docker-groupsandboxuser.Contents
.oh/docs/rfcs/rfc-mcp-exec-runner.mdβ the companion RFC (this PR).Held out of this PR (available on request):
.oh/skills/wiki/corpus/mcp-exec-runner.md+ raw snapshot) β kept as local scratch, since the wiki corpus is gitignored-by-default.rfc-runtime-support.md(a Β§4 fit-matrix row + a Β§6provider: mcp-httpoption) β left for the RFC: Runtime support β A1/A2/A3 axes & the "supported runtime" contractΒ #592 author to apply rather than editing their WIP draft in place.Notes
rfc-runtime-support.md, which is the in-flight RFC: Runtime support β A1/A2/A3 axes & the "supported runtime" contractΒ #592 draft (not yet ondevelopment); the relative link resolves once RFC: Runtime support β A1/A2/A3 axes & the "supported runtime" contractΒ #592 lands.ghbody in the RFC Β§7).Refs #592, #591.
π€ Generated with Claude Code