Repository navigation
New OMP chats default to ACP when the provider satisfies orca-native-chat-v1 #74
Copy link
Copy link
Open
Labels
acp-migrationOMP Native Chat ACP migrationOMP Native Chat ACP migrationphase-BPhase B parity completionPhase B parity completion
Description
Summary
Make new OMP chats ACP structured sessions by default for users with the structured-chat preference. This happens only after every gating parity row passes, and only on hosts whose omp confirms orca-native-chat-v1. Existing legacy sessions and every unmigrated workflow stay explicitly routed to legacy.
Context
44madfire/orca#20: ACP becomes default only after the parity and reliability gates pass; legacy stays an explicit, capability-gated fallback.- Invariant: "For every environment and workflow migrated from legacy OMP Chat to ACP, ACP must preserve or strengthen all existing user-visible and reliability guarantees. Workflows not yet at parity remain explicitly routed to the legacy implementation."
- Transport ownership: "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."
- Routing preference:
prefersStructuredNativeChatByDefault(src/shared/structured-native-chat-launch-route.ts:77@76d1b7b). Availability gate: Structured launch availability per registered agent, with legacy-chat fallback on decline #78. Opt-in and contract negotiation: Register omp acp as an opt-in structured ACP agent behind the availability gate #68. Contract definition: ACP contract orca-native-chat-v1: define, test, and advertise oh-my-pi#17. - A new ACP chat has no PTY, so the legacy in-tab Terminal↔Chat toggle (
src/renderer/src/components/native-chat/native-chat-availability.ts:42-60) is not migrated in v1 (D2). - Mobile: stale builds show "Update to view" for registered-agent chats (
src/main/runtime/rpc/methods/session-tab-agent-status-projection.ts:19,46@76d1b7b) — D4.
Scope
- Default the OMP opt-in on (or remove it). Availability for the default requires
orca-native-chat-v1inagentCapabilities._meta["ohmypi.acp/contracts"]plus the standard capabilities. No other OMP marker is read. - Existing legacy OMP tabs keep their transport.
- Toggle routing (D2): terminal-launched/detected OMP keeps the legacy toggle. ACP OMP chats show an explicit "Terminal view is not available for this chat" notice with an "Open OMP in a terminal tab" action.
- Re-run every gating row on macOS, Linux and Windows; record the results on Tracking: OMP Native Chat → ACP migration (v3 plan) #67.
- Diagnostics name why a host stays legacy. Add a changelog/docs entry.
Non-goals
- No legacy adoption (Post-cutover migration: adopt existing legacy OMP sessions into ACP chat #69), handoff (Post-cutover migration: persisted ACP↔Terminal handoff for OMP chats #84) or retirement (Legacy OMP chat retirement criteria, dead-code removal, upstream submission #77).
- No extension work (OMP ACP dialect: classify and bound the extension surface #75).
Depends on
- Resting model catalog for registered structured agents from their model probe spec #79
- OMP live timeline parity: messages, reasoning, tools, edits, errors, usage #70
- ACP compaction updates → compaction boundary and usage invalidation (provider-neutral) #80
- OMP commands, options and composer over ACP #71
- ACP elicitation forms and OMP approval-policy parity #81
- OMP dialect: mid-turn "Send now" steers via OMP's ACP steer extension #82
- Mobile: render and drive registered structured agents (provider-neutral) #72
- OMP ACP lifecycle: settlement, Stop, crash, restart, status, notifications #73
- Single-writer protection for ACP-held OMP sessions (resume guards, AI Vault ownership) #83
- ACP contract orca-native-chat-v1: define, test, and advertise oh-my-pi#17
Parity rows owned
- P-TOGL-01 (explicit routing of the in-tab toggle workflow). This unit also re-verifies every gating row as the default-on gate.
Acceptance criteria
- Every "Gates cutover" row on Tracking: OMP Native Chat → ACP migration (v3 plan) #67 is checked with a linked passing test.
- A host whose
ompdoes not confirmorca-native-chat-v1stays legacy with a named reason. - Existing legacy OMP chats, WSL, runtime-owned SSH, Windows without start-time proof, terminal-launched and mobile-launched OMP all route exactly as before.
- Terminal OMP tabs keep the Terminal↔Chat toggle. ACP OMP chats show the explicit notice and action, never a silently missing toggle.
- Decisions D1–D14 are recorded on Tracking: OMP Native Chat → ACP migration (v3 plan) #67. The Mobile: render and drive registered structured agents (provider-neutral) #72 mobile build has shipped, or D4 says otherwise.
Required tests
- Contract gating: contract absent → legacy; present → ACP. Opt-in pre-contract behavior unchanged.
- Mixed-version paired host/client; upgrading with legacy OMP chats already open (they stay legacy).
- Real
omp acpend-to-end smoke on macOS, Linux and Windows.
Base branch
acp-migration (44madfire/orca).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
acp-migrationOMP Native Chat ACP migrationOMP Native Chat ACP migrationphase-BPhase B parity completionPhase B parity completion
Activity
[-]Make ACP the default OMP path with explicit legacy fallback[/-][+]Make ACP the default OMP chat path when the parity feature set is present[/+][-]Make ACP the default OMP chat path when the parity feature set is present[/-][+]New OMP chats default to ACP when the provider satisfies orca-native-chat-v1[/+]