feat: make bundled Codex runtime authoritative#612
Merged
Conversation
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.
Summary
REPOPROMPT_CODEX_EXECUTABLEoverride, gated to the0.144.6app-server contract floorWhy
PR2 bundled a pinned Codex runtime. This PR makes that runtime the application authority so user PATH drift, stale global CLIs, and mismatched config/state no longer silently influence RepoPrompt sessions. Explicit external overrides remain available for advanced testing but must satisfy the same app-server contract.
Reliability and performance
CODEX_HOME/CODEX_SQLITE_HOMEValidation
CodexRuntimeAuthorityTests: 7/7 passedCodexIntegrationConfigurationTests: 22/22 passedCodexMCPBootstrapReadinessTests: 3/3 passedmake dev-lint: passedmake dev-swift-build PRODUCT=all: passed forRepoPromptandrepoprompt-mcpFull-suite note
The one-hour root
swift testlane timed out after 3600 seconds with failures in unrelated Codemap, ContextBuilder, and durable-artifact timing/concurrency tests. Every Codex suite reached by that run passed, including all PR-specific suites above. No unrelated test code was changed to mask the baseline failures.Architecture
This preserves the existing one app-server process per tab/session model. It does not introduce a shared app-server process or a Codex source fork.