Repository navigation
Conversation
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This change introduces per-turn Git baselines and a new cleanup workflow across checkpoint capture, terminal handling, recovery, and outbox execution, so its runtime and persistence impact is broader than a small bug fix. An unresolved concrete concern about abandoned refs and cleanup behavior further requires human verification. Adjust the Minimum Blocking Severity for this repo — including turning it Off — in Settings. You can add or adjust custom eligibility rules. Learn more. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: edbfa5afa3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
cfc65ec to
f5a9e8b
Compare
dfbf577 to
089c235
Compare
9242b91 to
3d81172
Compare
089c235 to
fe951ef
Compare
efd9994 to
6102d00
Compare
9f3403f to
1f25845
Compare
8187b17 to
ada72ce
Compare
f425259 to
cad689b
Compare
e03e376 to
e39429e
Compare
cad689b to
765bf97
Compare
|
Closing this PR in favor of #11528 |



External changes made between V2 turns currently appear in the next turn's changed-files summary and diff, even when the agent edits nothing. For example, committing two new README lines while the thread is idle produces a misleading README.md +2 card on the next no-edit reply.
Capture a separate starting snapshot for each V2 turn and compare the completed snapshot against it for the changed-files summary and individual turn diff. Existing completed checkpoints remain intact for history and restore. Older checkpoints without a starting snapshot retain the previous diff behavior. Multi-turn comparisons continue to use their checkpoint endpoints. Changes made during a turn remain part of that turn's diff; this does not attribute changes by Git author.
A replay-safe
checkpoint.baseline.cleanupeffect reclaims abandoned starting snapshots after non-completed runs, aborted starts, unsuccessful checkpoint capture, and restart recovery. Stopping a run before its provider turn starts queues cleanup in the same transaction as cancellation. Cleanup re-reads the projection, skips active runs and ready checkpoints owned by that run, and preserves a completed run's baseline while capture is still pending. A later turn's baseline at the same ordinal does not prevent cleanup of an abandoned starting snapshot. Ref deletion runs under the workspace lock and is harmless when repeated or when the workspace has no Git repository. Rollback cleanup also removes the starting snapshots associated with discarded checkpoints.Targets the orchestration V2 branch from #2829 (
t3code/codex-turn-mapping), related to #4249, and addresses #10348 for orchestration V2. The separate main backport is outside this PR; this change does not fix the legacy orchestration implementation by itself.Validation:
paginated threads do not support thread/rollback, also reproduced on the unpatched nightly. Full client rollback is not marked as passing.Implemented with GPT-6 through the Codex harness in T3 Code. Earlier review follow-ups were implemented with Opus 5 in T3 Code. Merge integration, history cleanup, and description review used GPT-6 through Codex.