Repository navigation
Post-cutover migration: persisted ACP↔Terminal handoff for OMP chats #84
Copy link
Copy link
Open
Labels
acp-migrationOMP Native Chat ACP migrationOMP Native Chat ACP migrationphase-CPhase C extensionsPhase C extensions
Description
Summary
Let a user move an OMP conversation between an ACP chat and a terminal OMP in both directions through the persisted session file. This replaces v1's "Open OMP in a terminal tab" notice with real continuity.
Context
44madfire/orca#20non-goal: no same-session hot handoff beyond safe persisted-session migration. v3 rule: "v1 does not change transport ownership for an already-existing legacy OMP session. Existing sessions stay legacy; new supported sessions use ACP. Legacy→ACP adoption is a separate migration feature." v1 routes the in-tab toggle workflow explicitly (D2, New OMP chats default to ACP when the provider satisfies orca-native-chat-v1 #74); this unit strengthens it after cutover.- ACP→Terminal:
omp --resumetakes an absolute file path (packages/coding-agent/src/main.ts@53f253f). The terminal must run under the store identity recorded by Register omp acp as an opt-in structured ACP agent behind the availability gate #68, or later/newand auth land elsewhere (docs/plans/omp-acp-migration/v2/risk-findings/account-home.md). - Terminal→ACP is adoption of a session with newer terminal turns, so it re-imports into a fresh epoch through Post-cutover migration: adopt existing legacy OMP sessions into ACP chat #69 (
src/main/native-chat/agent-session-journal/journal-legacy-import.ts:8-11@76d1b7b).
Scope
- "Continue in Terminal" on an ACP chat: proven close of the ACP child, then
omp --resume <file>in a terminal tab under the recorded profile/agent-dir env. The chat is marked handed off. - "Open in Chat" on a terminal OMP tab: adoption after the PTY agent is proven
exited;unverifiablerefuses. Re-import into a fresh epoch at legacy-decoder fidelity (D8). - Single-writer protection for ACP-held OMP sessions (resume guards, AI Vault ownership) #83 guards remain authoritative throughout.
- The OMP commands, options and composer over ACP #71 TUI-only command message offers Continue in Terminal once this lands.
Non-goals
- No same-process hot toggle.
- No change for legacy terminal tabs that never had a chat.
Depends on
Parity rows owned
- None owned (strengthens P-TOGL-01, which New OMP chats default to ACP when the provider satisfies orca-native-chat-v1 #74 owns).
Acceptance criteria
- Continue in Terminal shows the ACP turns in the TUI, in the same store and profile.
- Open in Chat after terminal turns shows them in chat with no duplicates.
- Neither direction ever runs two writers. A live or unverifiable terminal owner blocks the move.
Required tests
- Round trip ACP → Terminal → ACP with turns on both sides.
- Handoff while a turn runs (Stop first).
- Profile drift between the chat and the terminal environment.
- The terminal process is unverifiable on a paired host.
Base branch
acp-migration (44madfire/orca).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
acp-migrationOMP Native Chat ACP migrationOMP Native Chat ACP migrationphase-CPhase C extensionsPhase C extensions
Activity