Environment: Codex managed workspace-write sandbox on macOS; cli-dispatch 4.27.0; target is already a linked worktree (in-place mode). Reproduction used cli-dispatch-run with an explicit --cwd and --verify commands.\n\nObserved failures before any worker product edit:\n\n1. Default session root: mkdir under ~/.cache/cli-dispatch/sessions fails with Operation not permitted. Setting XDG_CACHE_HOME to /private/tmp works around this.\n2. ds backend: configured/default model deepseek-v4-pro is rejected with claude-code:unrecognized_model. Session f4d0ac14-a3f5-4298-a135-1e47e8464541.\n3. cx backend: cx-stream line 382 tries /dev/fd/63 and fails with Operation not permitted under the managed sandbox. Session dir cx-1787914515-72240.\n4. ag backend model propagation/config: cli-dispatch-run --model claude-sonnet-4-6 initially reached ag-stream as gemini-3.6-flash-high because source_config sources config after environment assignment even though its comment says env wins. With CLI_DISPATCH_CONFIG pointed to a nonexistent file, Sonnet remained selected, but model validation still warned it was unlisted because agy models emits tab-separated slug plus display name and model_key compares the entire line. The run then failed conversation discovery (discover-fail-20260828135753-2704), alongside denied writes under ~/.gemini.\n\nExpected: deterministic runner should either work in this managed sandbox or fail once with a clear actionable compatibility verdict; explicit --model must win over config and a valid tab-listed model slug must validate.\n\nNo product files were changed by these failed runner attempts. A direct claude -p --model sonnet fallback completed the task.
Environment: Codex managed workspace-write sandbox on macOS; cli-dispatch 4.27.0; target is already a linked worktree (in-place mode). Reproduction used cli-dispatch-run with an explicit --cwd and --verify commands.\n\nObserved failures before any worker product edit:\n\n1. Default session root: mkdir under ~/.cache/cli-dispatch/sessions fails with Operation not permitted. Setting XDG_CACHE_HOME to /private/tmp works around this.\n2. ds backend: configured/default model deepseek-v4-pro is rejected with claude-code:unrecognized_model. Session f4d0ac14-a3f5-4298-a135-1e47e8464541.\n3. cx backend: cx-stream line 382 tries /dev/fd/63 and fails with Operation not permitted under the managed sandbox. Session dir cx-1787914515-72240.\n4. ag backend model propagation/config: cli-dispatch-run --model claude-sonnet-4-6 initially reached ag-stream as gemini-3.6-flash-high because source_config sources config after environment assignment even though its comment says env wins. With CLI_DISPATCH_CONFIG pointed to a nonexistent file, Sonnet remained selected, but model validation still warned it was unlisted because agy models emits tab-separated slug plus display name and model_key compares the entire line. The run then failed conversation discovery (discover-fail-20260828135753-2704), alongside denied writes under ~/.gemini.\n\nExpected: deterministic runner should either work in this managed sandbox or fail once with a clear actionable compatibility verdict; explicit --model must win over config and a valid tab-listed model slug must validate.\n\nNo product files were changed by these failed runner attempts. A direct claude -p --model sonnet fallback completed the task.