Skip to content

Draft alternate exec process split layout#15234

Closed
starr-openai wants to merge 10 commits intomainfrom
starr/exec-process-layout-like-15232-alt
Closed

Draft alternate exec process split layout#15234
starr-openai wants to merge 10 commits intomainfrom
starr/exec-process-layout-like-15232-alt

Conversation

@starr-openai
Copy link
Copy Markdown
Contributor

Summary

Notes

Co-authored-by: Codex noreply@openai.com

starr-openai and others added 10 commits March 19, 2026 14:18
Add a narrow ExecProcess trait for process lifecycle RPCs and expose it
from Environment behind an ExecutorEnvironment trait. Keep the first cut
behavior-preserving by delegating remote mode to the existing
ExecServerClient and returning an unavailable process stub for default
local Environment values.

Co-authored-by: Codex <noreply@openai.com>
Fall back to an in-process exec-server client when no remote URL is
configured, so constructed Environment values have a real process
capability in both local and remote modes.

Co-authored-by: Codex <noreply@openai.com>
Give Environment a real local ExecProcess implementation by default and
keep remote mode selecting the websocket-backed client when configured.
The local implementation lazily initializes an in-process exec-server
client on first use.

Co-authored-by: Codex <noreply@openai.com>
Replace the in-process client wrapper with a local ExecProcess that owns
ExecServerHandler directly and forwards process notifications to the
trait event stream. This keeps the default Environment process path
entirely local instead of routing through ExecServerClient.

Co-authored-by: Codex <noreply@openai.com>
Remove the duplicate direct-handler local process implementation and make
the local ExecProcess path delegate to the existing in-process
ExecServerClient. Keep lazy initialization only to support sync
Environment::default().

Co-authored-by: Codex <noreply@openai.com>
Remove sync Default from Environment, construct the local process client
with connect_in_process() in create(None), and switch the fs-only app
server default to a local filesystem constructor.

Co-authored-by: Codex <noreply@openai.com>
Drop the stale remote_exec_server_client() accessor now that Environment
exposes the process capability directly, and rename the capability getter
to get_executor() on the environment trait and concrete type.

Co-authored-by: Codex <noreply@openai.com>
Remove the temporary Environment::local_filesystem() helper and export
LocalFileSystem so fs-only defaults can construct the local filesystem
directly without going through Environment.

Co-authored-by: Codex <noreply@openai.com>
Apply the pending formatting reorderings and switch the server-side
filesystem default to LocalFileSystem so the current PR compiles again.

Co-authored-by: Codex <noreply@openai.com>
Reshape the exec process seam to mirror the filesystem split style with
separate process, local_process, remote_process, and server/process_handler
modules, and make Environment own an Arc<dyn ExecProcess>.

Co-authored-by: Codex <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant