Skip to content

Gate stable environment tool exposure behind a feature flag - #50962

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/68c6240fb3adf85d7f9b407804d4823c515abfdc
Oct 4, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/68c6240fb3adf85d7f9b407804d4823c515abfdc

Conversation

@copyberry

@copyberry copyberry Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Gate stable environment tool exposure behind a feature flag

What changed

Add the default-off stable_environment_tools feature flag. When enabled, advertise environment-backed tools before an executor is ready, keep environment selectors stable as readiness changes, and include the shell and login parameters. Execution still requires a usable environment and its policy.

When disabled, expose environment-backed tools only when a usable environment exists, derive selectors from usable environments, and condition shell parameters on the execution configuration. Restore tool-specific unavailable-environment errors and skip the environment readiness check for write_stdin.

Testing

Parameterize the empty-environment tool availability test for both flag states, check that commands require a ready transport by default, and explicitly opt tests that rely on stable tool exposure into the feature.

## What changed

Add the default-off `stable_environment_tools` feature flag. When enabled, advertise environment-backed tools before an executor is ready, keep environment selectors stable as readiness changes, and include the `shell` and `login` parameters. Execution still requires a usable environment and its policy.

When disabled, expose environment-backed tools only when a usable environment exists, derive selectors from usable environments, and condition shell parameters on the execution configuration. Restore tool-specific unavailable-environment errors and skip the environment readiness check for `write_stdin`.

## Testing

Parameterize the empty-environment tool availability test for both flag states, check that commands require a ready transport by default, and explicitly opt tests that rely on stable tool exposure into the feature.

GitOrigin-RevId: 68c6240fb3adf85d7f9b407804d4823c515abfdc
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/68c6240fb3adf85d7f9b407804d4823c515abfdc branch from 89edefe to 335c7f8 Compare October 4, 2026 21:08
@copyberry
copyberry Bot merged commit 335c7f8 into main Oct 4, 2026
1 check passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/68c6240fb3adf85d7f9b407804d4823c515abfdc branch October 4, 2026 21:08
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 4, 2026
@jcshartz
jcshartz deployed to issue-triage October 4, 2026 21:15 — with GitHub Actions Active
@jcshartz
jcshartz deployed to issue-triage October 4, 2026 21:15 — with GitHub Actions Active
@jcshartz
jcshartz deployed to issue-triage October 4, 2026 21:15 — with GitHub Actions Active
@jcshartz
jcshartz deployed to issue-triage October 4, 2026 21:16 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
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