Skip to content

feat: continue conversations across providers - #210

Merged
IchenDEV merged 2 commits into
mainfrom
codex/provider-switch-continuity
Aug 31, 2026
Merged

feat: continue conversations across providers#210
IchenDEV merged 2 commits into
mainfrom
codex/provider-switch-continuity

Conversation

@IchenDEV

Copy link
Copy Markdown
Owner

Summary

  • switch an existing idle Session to another provider in place while preserving its id, transcript, policies, and workspace
  • initialize and persist the replacement atomically, fence stale callbacks, roll back safely, and send only bounded provider-neutral continuation context
  • retain the current unified provider/model picker, lock unsafe states, and synchronize focused panes, background panes, plugins, and the TUI
  • add a real-provider canary that requires a non-empty durable transcript and continuity-key recall across every switch

Verification

  • cargo test -p codetwo-core
  • cargo test -p codetwo-core --test engine_provider_switch
  • cargo check --workspace --all-targets
  • cargo test -p codetwo-tui provider_change_reconciles_the_active_tui_shell
  • bun test tests/sceneChip.test.tsx tests/canvasDesktop.test.ts
  • bun run build:renderer
  • live Codex -> Grok -> Cursor -> Codex continuity canary
  • live OpenCode -> Kimi -> OpenCode continuity canary
  • in-app Browser smoke check of the unified picker with a clean console
  • documentation, SDLC, worktree, and diff Gates

Boundaries

Provider-native cursor, model, config, goal, tool, and MCP state are intentionally reset instead of migrated. Switching is rejected during active turns, user-input waits, concurrent switches, or managed Task leases. This PR does not authorize merge, release, or deployment.

…-continuity

# Conflicts:
#	apps/desktop/src/App.tsx
#	apps/desktop/src/session/Composer.tsx
#	apps/desktop/src/session/config.ts
#	apps/desktop/tests/sceneChip.test.tsx
@IchenDEV
IchenDEV merged commit 964792a into main Aug 31, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant