Repository navigation
Unify Environment preparation across managed and user machines - #246
Merged
Merged
Conversation
SaladDay
marked this pull request as ready for review
September 29, 2026 18:24
SaladDay
force-pushed
the
codex/unified-environment-preparation-20260930
branch
from
September 29, 2026 18:28
2649489 to
70e6f70
Compare
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.
Hosted and user-managed machines now use the same frozen Environment preparation input and Runtime operations. A self-hosted Session can use
x_agents_core.environmentfor a Template, uploaded Skills/Plugins, files, env, packages or setup; it no longer needs a managed allocation to prepare.Preparation ownership moves from RuntimeAllocation to Environment. The common worker checks authorization and Harness availability, settles failed or unknown work without replay, and keeps connection, preparation and execution readiness separate. Runtime snapshots explicit local tool variables, preserves the operator source, and reuses the snapshot after reconnect. Disabled/restricted network requests reject before allocation.
Validation
make checkcompleted all stages before two Web tests failed with browserERR_NETWORK_CHANGED; both passed on targeted replay. The remaining catalog/docs/example/MiniMax targets then passed. Integration and credential-inheritance regression tests passed after merging main.4b97c11fagainst main9b735aa1. All required CI passed at4b97c11f: full core-check (make check), official-client, and native Linux/macOS/Windows checks.contracts/agents-api/environment-preparation-qualification.mdfor evidence scope and failed-attempt exclusions.Scope and limits
No compatibility layer, historical backfill, automatic environment destruction or migration of user data. No new image/structured-output/tool-discovery or public HTTP MCP qualification; those are separate changes. No Windows manual machine test, no Claude installation on the Mac, and no E2B/microsandbox requalification in this PR. Live runs did not download npm/Python dependencies; their existing mechanism tests remain in the suite.
The database schema moves initialization state to Environment (migration 090). Existing disposable test installations must be explicitly rebuilt if needed; this change does not automatically rebuild or delete them.
Creation intent retains caller input once: valid multi-file extension requests stay within the existing request-size budget. The pinned hosted-failure response and generated API description remain unchanged.
Preparation-only extensions can inherit a saved Agent model provider or a managed deployment default without resubmitting credentials. HTTP Session-creation regressions cover both environment owners and still reject deployment credentials for self-hosted Sessions.