Files
codex/codex-rs/core/tests/remote_env_windows
pakrym-oai 393f64565a Scope runtime workspace roots to execution environments (#32952)
## Why

Multi-environment turns can run against different filesystems, so a single
thread-wide workspace-root list cannot accurately describe every selected
environment.

## What changed

- Add optional `runtimeWorkspaceRoots` to each app-server environment selection.
  Omitted roots default to that environment's `cwd`, while an empty list selects
  no roots.
- Carry environment-native roots through turn selection, model-visible context,
  permission materialization, and tool sandboxing.
- Keep the top-level `runtimeWorkspaceRoots` field as a compatibility input when
  constructing default environment selections; explicit selections use their
  own roots.

## Testing

- Cover thread and turn API defaults, overrides, empty roots, and schema
  round-tripping.
- Verify foreign roots remain model-visible and remote execution applies the
  target environment's roots before sandbox selection.

GitOrigin-RevId: c6e7a62883c45c676c153055f46a55ee15a323a4
2026-07-14 04:41:08 +00:00
..

Windows remote-environment test

This Bazel-only test_codex integration test runs a Windows exec-server fixture under pinned Wine and exercises the normal model tool-call and remote-execution path.

Running the test

bazel test \
  //codex-rs/core/tests/remote_env_windows:smoke-test \
  --test_output=errors

No system Wine is required. Every process gets a fresh WINEPREFIX and isolated wineserver.

Current limitations

  • ConPTY/TTY behavior is not yet covered.
  • Wine loads shared objects and PE DLLs at runtime, so the host must still provide the declared compatible glibc version.
  • The target is intentionally limited to x86-64 for simplicity. It can expand if we find aarch64-specific behavior worth testing.