mirror of
https://github.com/openai/codex.git
synced 2026-11-14 21:40:39 +00:00
Persist explicit user goal edits in model history (#49598)
## Why User goal edits and clears need to reach the model as user instructions, including when a thread is unloaded or history is being compacted. Automatic goal lifecycle updates must not supply user authorization. ## What changed - Add optional `origin` values of `user` and `automatic` to `thread/goal/set` and `thread/goal/clear`, and mark TUI goal requests as user actions. Omitted origins do not supply user authorization. - Persist explicit user objective, status, and clear instructions before changing goal state. Recording failures leave goal state unchanged. - Coordinate goal edits with thread resume, reload stored history under writer ownership, and preserve edits accepted after the compaction input snapshot. - Update generated protocol schemas and TypeScript and Python bindings. ## Testing Add coverage for user edits and clears on loaded and unloaded threads, concurrent path-based resume, exclusion of automatic goals from user instructions, preservation of edits during compaction, and recording failures that leave goal state unchanged. GitOrigin-RevId: d779d7c678a0c32a6ef76975dbe5b1400d1df245
This commit is contained in:
@@ -755,8 +755,7 @@ impl CodexThread {
|
||||
&self,
|
||||
update: crate::context::UserGoalUpdate,
|
||||
) -> CodexResult<()> {
|
||||
self.session.record_user_goal_update(update).await;
|
||||
self.checkpoint_preparation().await?;
|
||||
self.session.record_user_goal_update(update).await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user