Scope runtime workspace roots to execution environments - #32952
Merged
copyberry[bot] merged 1 commit intoJul 14, 2026
Merged
Conversation
## 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
copyberry
Bot
force-pushed
the
copyberry/codex-internal-to-codex-oss/c6e7a62883c45c676c153055f46a55ee15a323a4
branch
from
July 14, 2026 04:42
3d302ef to
393f645
Compare
copyberry
Bot
deleted the
copyberry/codex-internal-to-codex-oss/c6e7a62883c45c676c153055f46a55ee15a323a4
branch
July 14, 2026 04:43
BlueApple4126
temporarily deployed
to
issue-triage
July 14, 2026 04:50 — with
GitHub Actions
Inactive
BlueApple4126
temporarily deployed
to
issue-triage
July 14, 2026 04:50 — with
GitHub Actions
Inactive
BlueApple4126
temporarily deployed
to
issue-triage
July 14, 2026 04:50 — with
GitHub Actions
Inactive
WilliamClifton-dev
temporarily deployed
to
issue-triage
July 14, 2026 05:04 — with
GitHub Actions
Inactive
WilliamClifton-dev
temporarily deployed
to
issue-triage
July 14, 2026 05:04 — with
GitHub Actions
Inactive
WilliamClifton-dev
temporarily deployed
to
issue-triage
July 14, 2026 05:04 — with
GitHub Actions
Inactive
WilliamClifton-dev
temporarily deployed
to
issue-triage
July 14, 2026 05:05 — with
GitHub Actions
Inactive
CJavierSaldana
temporarily deployed
to
issue-triage
July 14, 2026 05:28 — with
GitHub Actions
Inactive
CJavierSaldana
temporarily deployed
to
issue-triage
July 14, 2026 05:28 — with
GitHub Actions
Inactive
CJavierSaldana
temporarily deployed
to
issue-triage
July 14, 2026 05:28 — with
GitHub Actions
Inactive
CJavierSaldana
temporarily deployed
to
issue-triage
July 14, 2026 05:29 — with
GitHub Actions
Inactive
NullPointer-bug
temporarily deployed
to
issue-triage
July 14, 2026 05:32 — with
GitHub Actions
Inactive
NullPointer-bug
temporarily deployed
to
issue-triage
July 14, 2026 05:32 — with
GitHub Actions
Inactive
NullPointer-bug
temporarily deployed
to
issue-triage
July 14, 2026 05:32 — with
GitHub Actions
Inactive
biaobiaobiao108
temporarily deployed
to
issue-triage
July 14, 2026 05:42 — with
GitHub Actions
Inactive
biaobiaobiao108
temporarily deployed
to
issue-triage
July 14, 2026 05:42 — with
GitHub Actions
Inactive
biaobiaobiao108
temporarily deployed
to
issue-triage
July 14, 2026 05:42 — with
GitHub Actions
Inactive
chumen88888-pixel
temporarily deployed
to
issue-triage
July 14, 2026 05:43 — with
GitHub Actions
Inactive
chumen88888-pixel
temporarily deployed
to
issue-triage
July 14, 2026 05:43 — with
GitHub Actions
Inactive
chumen88888-pixel
temporarily deployed
to
issue-triage
July 14, 2026 05:43 — with
GitHub Actions
Inactive
WangJinyu9188
temporarily deployed
to
issue-triage
July 14, 2026 05:43 — with
GitHub Actions
Inactive
WangJinyu9188
temporarily deployed
to
issue-triage
July 14, 2026 05:43 — with
GitHub Actions
Inactive
WangJinyu9188
temporarily deployed
to
issue-triage
July 14, 2026 05:43 — with
GitHub Actions
Inactive
biaobiaobiao108
temporarily deployed
to
issue-triage
July 14, 2026 05:43 — with
GitHub Actions
Inactive
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Scope runtime workspace roots to execution environments
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
runtimeWorkspaceRootsto each app-server environment selection.Omitted roots default to that environment's
cwd, while an empty list selectsno roots.
permission materialization, and tool sandboxing.
runtimeWorkspaceRootsfield as a compatibility input whenconstructing default environment selections; explicit selections use their
own roots.
Testing
round-tripping.
target environment's roots before sandbox selection.