mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Stop TUI chats on misalignment policy violations (#39261)
## Why When the app server reports a misalignment policy violation, the TUI must stop the affected chat rather than allow more work to continue in it. ## What changed - Finalize the active turn, clear queued and draft input, disable the composer, and reject further operations and interactive requests for the stopped chat. - Interrupt an active side conversation when its parent reports the violation, and prevent queued turns, forks, approvals, or goal resumption from restarting work. - Show a non-dismissible precaution view that directs users to start a new chat or resume another one, with agent command center navigation for remote sessions. ## Testing Added coverage for stopped-chat behavior, parent/side-thread handling, blocked goal resumption, navigation actions, and narrow and remote-session rendering. GitOrigin-RevId: 0268c46a19294a17765ea4099f389f15ffaaf030
This commit is contained in:
1 parent
3006151ad4
commit
785ecd7452
16 files changed
+452
-3
No files matched your search
@@ -364,6 +364,7 @@ use self::interrupts::InterruptManager;
|
||||
mod keymap_picker;
|
||||
mod mcp_startup;
|
||||
use self::mcp_startup::McpStartupStatus;
|
||||
mod misalignment_policy;
|
||||
mod pets;
|
||||
mod session_flow;
|
||||
mod session_header;
|
||||
@@ -674,6 +675,7 @@ pub(crate) struct ChatWidget {
|
||||
thread_rename_block_message: Option<String>,
|
||||
active_side_conversation: bool,
|
||||
blocks_direct_input: bool,
|
||||
misalignment_policy_violation: bool,
|
||||
normal_placeholder_text: String,
|
||||
side_placeholder_text: String,
|
||||
forked_from: Option<ThreadId>,
|
||||
@@ -1790,6 +1792,9 @@ impl ChatWidget {
|
||||
T: Into<AppCommand>,
|
||||
{
|
||||
let op: AppCommand = op.into();
|
||||
if self.rejects_misalignment_policy_op(&op) {
|
||||
return false;
|
||||
}
|
||||
if self.blocks_direct_input
|
||||
&& matches!(
|
||||
&op,
|
||||
|
||||
Reference in new issue
Block a user