Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Needs human review This PR changes runtime behavior by blocking provider account switches that previously succeeded silently (via thread forking). The new validation logic for continuation identity compatibility gates whether sessions can continue, representing a significant behavioral change that should be reviewed by someone familiar with the provider session flow. You can customize Macroscope's approvability policy. Learn more. |
|
Confirmed that this PR addresses a real regression still reproducible on T3 Code v0.0.38. In the observed stopped-session switch between two Claude account instances sharing the same continuation identity, T3 emitted: It then launched Claude with The continuation-identity comparison and the test named One important regression shape to retain when rebasing: exercise the full Could this PR be rebased onto current |
|
pllsssss merge |
|
Note: GPT-6 on behalf of shivam (@shivamhwp). The explicit-cursor shortcut needs to preserve the newer instance-owned conversation guard when rebasing. With an Antigravity thread bound to instance A, Keep the intended explicit-cursor behavior for Codex and Claude while retaining the ownership check for instance-scoped providers. The cross-driver restriction and the existing test's deliberate clearing of the old cursor should remain as authored. The rebase also needs to retain current Codex metadata-only resume parsing and |
What changed
Threads can move between provider instances for different accounts—for example, a proxy-backed Codex account and a personal Codex account. T3 previously discarded the stored resume cursor whenever the instance ID changed, even when both instances used the same continuation storage. Codex could also replace a failed resume with a fresh thread. Together, those paths left the UI transcript intact while silently dropping the provider's native context.
Provider instance switches now compare continuation identities. Compatible Codex and Claude Code instances retain the existing cursor and cwd; incompatible or missing source instances fail before adapter startup and preserve the original binding. Codex resume failures now surface instead of falling back to
thread/start.An explicitly supplied resume cursor remains authoritative. Cursor, Grok, and OpenCode keep instance-scoped continuation identities.
Related: #4766 and #5433.
Validation
pnpm exec vp test run apps/server/src/provider/Layers/CodexSessionRuntime.test.ts apps/server/src/provider/Layers/ProviderService.test.ts apps/server/src/orchestration/Layers/ProviderCommandReactor.test.ts apps/server/src/provider/Layers/CodexAdapter.test.ts— 123 tests passedpnpm exec vp run --filter t3 typecheckgit diff --checkModel: GPT-5.6 Sol · Harness: Codex in T3 Code