fix(codex): drop safe-yolo from Codex permission modes (#2183)

* fix(codex): drop safe-yolo from Codex permission modes

Every Codex session runs on the native shared runtime (runCodex is
runSharedCodex), which rejects safe-yolo. The mode stayed in
CODEX_PERMISSION_MODES and six filters hid it again in the web picker,
composer, hub permission-mode route, hapi set-mode and both native
apps. API callers that validate against the flavor catalog (e.g. a
spawn with permissionMode: 'safe-yolo') still passed it through and
only failed inside the runner.

Remove it from the Codex catalog (shared, iOS, Android, fixture) and
delete the filters. autoReview is the native replacement. Safe Yolo
stays for Gemini, Kimi and Copilot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(ios): Codex option list now has four modes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
SSU-WEI HUANG
2026-10-28 12:12:55 +08:00
committed by GitHub
co-authored by Claude Opus 5.5
parent fe2fbb881d
commit ffd950a220
41 changed files with 44 additions and 161 deletions
-2
View File
@@ -124,8 +124,6 @@ Source: `hub/src/web/routes/sessions.ts`; flavor gates in `shared/src/modes.ts`
ownership mode. `/switch` returns HTTP 409 with
`code: 'control_mode_not_applicable'`; do not offer takeover. The remote-only
Codex configuration restrictions above do not apply to these sessions.
Shared Codex rejects `safe-yolo` even though it remains in the historical
Codex permission-mode schema; do not offer it for concurrent sessions.
Shared `/clear` has no global `supersededBySessionId` change; clients other than
the caller stay on the original thread. Fork may return an already-bound shared