Skip to content

Reuse unchanged history snapshots when resuming threads - #49600

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/e1fd7aee6ef2b30f41951e6b7e6b01c3e1420cab
Sep 30, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/e1fd7aee6ef2b30f41951e6b7e6b01c3e1420cab

Conversation

@copyberry

@copyberry copyberry Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Reuse unchanged history snapshots when resuming threads

Why

Resuming a thread rereads persisted history even when a preloaded snapshot is unchanged. Reusing that snapshot must still account for writes committed before writer ownership is acquired.

What changed

  • Carry optional, non-serialized revisions from stored history and model context through thread and agent resume paths.
  • Validate the revision under writer ownership and reuse the shared snapshot when it matches. Reload stored history when the revision is missing or changed, while preserving explicit history overrides.
  • Resolve the selected rollout before loading context, validate compressed snapshots before materialization, and enforce archived-thread restrictions on canonical paths.

Testing

Extend coverage for snapshot reuse and late-write refresh in legacy and paginated histories, compressed rollout reuse, archived rollout symlinks, and cold child restoration that includes edits made after preloading history.

## Why

Resuming a thread rereads persisted history even when a preloaded snapshot is unchanged. Reusing that snapshot must still account for writes committed before writer ownership is acquired.

## What changed

- Carry optional, non-serialized revisions from stored history and model context through thread and agent resume paths.
- Validate the revision under writer ownership and reuse the shared snapshot when it matches. Reload stored history when the revision is missing or changed, while preserving explicit history overrides.
- Resolve the selected rollout before loading context, validate compressed snapshots before materialization, and enforce archived-thread restrictions on canonical paths.

## Testing

Extend coverage for snapshot reuse and late-write refresh in legacy and paginated histories, compressed rollout reuse, archived rollout symlinks, and cold child restoration that includes edits made after preloading history.

GitOrigin-RevId: e1fd7aee6ef2b30f41951e6b7e6b01c3e1420cab
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/e1fd7aee6ef2b30f41951e6b7e6b01c3e1420cab branch from e2aa4f1 to 92bc601 Compare September 30, 2026 11:59
@copyberry
copyberry Bot merged commit 92bc601 into main Sep 30, 2026
1 check passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/e1fd7aee6ef2b30f41951e6b7e6b01c3e1420cab branch September 30, 2026 11:59
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 30, 2026
@Mrchen116
Mrchen116 deployed to issue-triage September 30, 2026 12:02 — with GitHub Actions Active
@Mrchen116
Mrchen116 deployed to issue-triage September 30, 2026 12:02 — with GitHub Actions Active
@Mrchen116
Mrchen116 deployed to issue-triage September 30, 2026 12:02 — with GitHub Actions Active
@Mrchen116
Mrchen116 deployed to issue-triage September 30, 2026 12:03 — with GitHub Actions Active
@a24881885
a24881885 deployed to issue-triage September 30, 2026 12:03 — with GitHub Actions Active
@a24881885
a24881885 deployed to issue-triage September 30, 2026 12:03 — with GitHub Actions Active
@a24881885
a24881885 deployed to issue-triage September 30, 2026 12:03 — with GitHub Actions Active
@cab79
cab79 deployed to issue-triage September 30, 2026 12:11 — with GitHub Actions Active
@cab79
cab79 deployed to issue-triage September 30, 2026 12:11 — with GitHub Actions Active
@cab79
cab79 deployed to issue-triage September 30, 2026 12:11 — with GitHub Actions Active
@Mrchen116
Mrchen116 deployed to issue-triage September 30, 2026 12:12 — with GitHub Actions Active
@Mrchen116
Mrchen116 deployed to issue-triage September 30, 2026 12:12 — with GitHub Actions Active
@Mrchen116
Mrchen116 deployed to issue-triage September 30, 2026 12:12 — with GitHub Actions Active
@cab79
cab79 deployed to issue-triage September 30, 2026 12:13 — with GitHub Actions Active
@Mrchen116
Mrchen116 deployed to issue-triage September 30, 2026 12:13 — with GitHub Actions Active
@jancellor
jancellor deployed to issue-triage September 30, 2026 12:23 — with GitHub Actions Active
@a1local
a1local deployed to issue-triage September 30, 2026 12:45 — with GitHub Actions Active
@a1local
a1local deployed to issue-triage September 30, 2026 12:45 — with GitHub Actions Active
@a1local
a1local deployed to issue-triage September 30, 2026 12:45 — with GitHub Actions Active
@JBMOS
JBMOS deployed to issue-triage September 30, 2026 12:54 — with GitHub Actions Active
@JBMOS
JBMOS deployed to issue-triage September 30, 2026 12:54 — with GitHub Actions Active
@JBMOS
JBMOS deployed to issue-triage September 30, 2026 12:54 — with GitHub Actions Active
@Brad-M2K
Brad-M2K deployed to issue-triage September 30, 2026 12:56 — with GitHub Actions Active
@Brad-M2K
Brad-M2K deployed to issue-triage September 30, 2026 12:56 — with GitHub Actions Active
@Brad-M2K
Brad-M2K deployed to issue-triage September 30, 2026 12:56 — with GitHub Actions Active
@ch-f
ch-f deployed to issue-triage September 30, 2026 12:57 — with GitHub Actions Active
@ch-f
ch-f deployed to issue-triage September 30, 2026 12:57 — with GitHub Actions Active
@Brad-M2K
Brad-M2K deployed to issue-triage September 30, 2026 12:58 — with GitHub Actions Active
@ch-f
ch-f deployed to issue-triage September 30, 2026 12:59 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
issue-triage — 92bc601a Deployed Sep 30, 2026 by ryh842487118-bot via Generate label suggestions #50172
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.