mirror of
https://github.com/openai/codex.git
synced 2026-11-13 21:30:47 +00:00
Preserve requested approval reviewers across policy overrides (#59272)
## Why A model requirement can force `auto_review` even when the requested reviewer is `user`. Persisting or sending that effective value back as an explicit choice loses the original selection, so removing the requirement cannot restore it on resume. ## What changed - Retain `requested_approvals_reviewer` separately from the effective reviewer in configuration and thread settings, with a fallback for older histories. - Restore the requested reviewer on resume while applying current model requirements and reviewer allowlists. - Let ordinary TUI turns, continuations, retries, and forks inherit the server's reviewer instead of echoing its effective value as an explicit request. - Preserve a worker's requested reviewer when reloading it rather than inheriting the sender's selection. ## Testing Extend resume coverage for explicit `auto_review`, removal of a model requirement, and a tightened reviewer allowlist. Update TUI assertions for omitted reviewer overrides and verify worker reload preserves its reviewer. GitOrigin-RevId: d8c9c3a7b89e55e63f0e8ae210d6a87cb5547933
This commit is contained in:
@@ -161,6 +161,8 @@ pub struct CodexThreadSettingsOverrides {
|
||||
pub profile_workspace_roots: Option<Vec<ProfileWorkspaceRoot>>,
|
||||
pub approval_policy: Option<AskForApproval>,
|
||||
pub approvals_reviewer: Option<ApprovalsReviewer>,
|
||||
/// Retained selection when restoring an effective reviewer forced by policy.
|
||||
pub requested_approvals_reviewer: Option<ApprovalsReviewer>,
|
||||
pub sandbox_policy: Option<SandboxPolicy>,
|
||||
pub permission_profile: Option<PermissionProfile>,
|
||||
pub active_permission_profile: Option<ActivePermissionProfile>,
|
||||
@@ -877,6 +879,7 @@ impl CodexThread {
|
||||
profile_workspace_roots,
|
||||
approval_policy,
|
||||
approvals_reviewer,
|
||||
requested_approvals_reviewer,
|
||||
sandbox_policy,
|
||||
permission_profile,
|
||||
active_permission_profile,
|
||||
@@ -890,6 +893,7 @@ impl CodexThread {
|
||||
disabled_plugin_ids,
|
||||
} = overrides;
|
||||
SessionSettingsUpdate {
|
||||
requested_approvals_reviewer,
|
||||
turn_extension_init,
|
||||
step_settings: StepSettingsUpdate {
|
||||
model,
|
||||
|
||||
Reference in New Issue
Block a user