Skip to content

Retry safety-buffered turns on a forked thread - #33207

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/adb49da8236e9212ef0082e033e6f715986b5cd9
Jul 15, 2026
Merged

Retry safety-buffered turns on a forked thread#33207
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/adb49da8236e9212ef0082e033e6f715986b5cd9

Conversation

@copyberry

@copyberry copyberry Bot commented Jul 15, 2026

Copy link
Copy Markdown

Retry safety-buffered turns on a forked thread

Why

Retrying a safety-buffered turn by rolling back the active thread rewrites the
source conversation and requires the TUI to repair its local transcript state.

What changed

  • Interrupt the buffered turn, then fork after the preceding completed turn and
    submit the prompt on the new thread with the faster model and low reasoning
    effort.
  • Start a new thread when the buffered request is the conversation's first turn.
  • Preserve committed steering input in the retry, leave the source thread
    intact, and restore the prompt alongside any existing draft if branching
    fails.
  • Do not offer the retry action for side conversations or stale and in-progress
    turns.

Testing

Added coverage for retries with prior context, first-turn retries, committed
steering input, branch failures, existing composer drafts and attachments, and
side conversations.

## Why

Retrying a safety-buffered turn by rolling back the active thread rewrites the
source conversation and requires the TUI to repair its local transcript state.

## What changed

- Interrupt the buffered turn, then fork after the preceding completed turn and
  submit the prompt on the new thread with the faster model and low reasoning
  effort.
- Start a new thread when the buffered request is the conversation's first turn.
- Preserve committed steering input in the retry, leave the source thread
  intact, and restore the prompt alongside any existing draft if branching
  fails.
- Do not offer the retry action for side conversations or stale and in-progress
  turns.

## Testing

Added coverage for retries with prior context, first-turn retries, committed
steering input, branch failures, existing composer drafts and attachments, and
side conversations.

GitOrigin-RevId: adb49da8236e9212ef0082e033e6f715986b5cd9
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/adb49da8236e9212ef0082e033e6f715986b5cd9 branch from 61ec943 to 9cddda7 Compare July 15, 2026 02:04
@copyberry
copyberry Bot merged commit 9cddda7 into main Jul 15, 2026
14 of 32 checks passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/adb49da8236e9212ef0082e033e6f715986b5cd9 branch July 15, 2026 02:06
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

1 participant