Skip to content

New OMP chats default to ACP when the provider satisfies orca-native-chat-v1 #74

Open

Description

@44madfire

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-v1 in agentCapabilities._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

Depends on

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

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 acp end-to-end smoke on macOS, Linux and Windows.

Base branch

acp-migration (44madfire/orca).

Activity

  1. changed the title [-]Make ACP the default OMP path with explicit legacy fallback[/-] [+]Make ACP the default OMP chat path when the parity feature set is present[/+] on Oct 7, 2026
  2. changed the title [-]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[/+] on Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    acp-migrationOMP Native Chat ACP migrationphase-BPhase B parity completion

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions