Problem
The Codex launcher inserts Relay provider and hook overrides immediately after the host executable. When the caller launches codex exec with additional --config values in the exec command scope, Codex resolves that nested scope independently and can fall back to the default OpenAI provider. The agent run succeeds, but its provider traffic bypasses Relay.
Reproduction
Prepare a transparent Codex launch whose original argv includes codex exec --config <caller-setting>. The prepared argv currently places model_provider="nemo-relay-openai" before exec, while the caller setting remains after it. The active exec scope consequently does not retain the Relay provider override. The same problem applies to codex exec resume.
Expected behavior
Relay-generated provider and hook overrides should be inserted into the active Codex command scope: after exec, or after exec resume for resumed sessions. Caller-supplied command-scoped configuration must not cause transparent provider traffic to bypass Relay.
Proposed validation
Add launcher regressions for both exec --config ... and exec resume --config ..., asserting that Relay overrides and caller configuration occupy the same active command scope.
Problem
The Codex launcher inserts Relay provider and hook overrides immediately after the host executable. When the caller launches
codex execwith additional--configvalues in theexeccommand scope, Codex resolves that nested scope independently and can fall back to the default OpenAI provider. The agent run succeeds, but its provider traffic bypasses Relay.Reproduction
Prepare a transparent Codex launch whose original argv includes
codex exec --config <caller-setting>. The prepared argv currently placesmodel_provider="nemo-relay-openai"beforeexec, while the caller setting remains after it. The activeexecscope consequently does not retain the Relay provider override. The same problem applies tocodex exec resume.Expected behavior
Relay-generated provider and hook overrides should be inserted into the active Codex command scope: after
exec, or afterexec resumefor resumed sessions. Caller-supplied command-scoped configuration must not cause transparent provider traffic to bypass Relay.Proposed validation
Add launcher regressions for both
exec --config ...andexec resume --config ..., asserting that Relay overrides and caller configuration occupy the same active command scope.