Repository navigation
OMP commands, options and composer over ACP #71
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
Give every legacy OMP slash command a defined ACP outcome, switch models over config options, and keep composer behaviors (mentions, file/image references) at parity.
Context
44madfire/orca#20parity rows: model switching, thinking/session options, slash commands, local commands such as/usage, skills/autocomplete, attachments.- Legacy catalog: 22 OMP commands (
src/shared/native-chat-slash-commands.ts:100-126@76d1b7b), all host-claimed because OMP has no profile (src/shared/native-chat-agent-profiles.ts:104-113);/contextanswered locally (:117),/usagetyped into the TUI (:118). - Structured composer answers every claimed command except model/effort/clear/compact with "not available" (
src/shared/structured-agent-session-composer.ts:136-140,179-181@76d1b7b). - OMP ACP executes builtins with a text-mode
handleand forwards everything else — TUI-only builtins, their aliases and unknown tokens — to the model as prompt text withstopReason: end_turn(packages/coding-agent/src/slash-commands/acp-builtins.ts:53-54,59-70,packages/coding-agent/src/modes/acp/acp-agent.ts:1025@53f253f). - Verified by source and live
omp acp18.6.3 probes (docs/plans/omp-acp-migration/v2/risk-findings/acp-commands.md): of the 22 catalog commands, 11 are handled (model, switch, compact, session, rename, context, usage, fast, tools, jobs, export) and 11 are TUI-only (clear, new, resume, fork, branch, tree, git, settings, extensions, hotkeys, plan —builtin-modes.ts:326-345has onlyhandleTui). Forwarded commands produced fabricated outcomes ("Screen cleared" with history intact) and real tool calls (/plan16,/rewind28 over 90 s)./compact <text>treats any argument as focus and really compacts (same as the TUI);/export <file>writes into the session cwd;/trace(advertised, not in the catalog) starts a loopback stats server. - OMP ACP plan mode is a session mode:
session/set_modeplan, offered when OMP's plan setting is on (acp-agent.ts:746-755,1829-1839@53f253f). - Model/effort writes use
session/set_config_optionwhen the agent offers the selects (src/main/acp/acp-structured-options.ts:91-101@76d1b7b); OMP offersmodelandthinking/thought_level(acp-agent.ts:1739-1786@53f253f). - Without image input the structured composer references images by path (
src/renderer/src/components/native-chat/use-native-chat-resolved-path-attachments.ts:19-20,122-123@76d1b7b); legacy uses OMP's file-URI form for paths with both quote kinds (src/shared/agent-image-paste.ts:43-56).
Scope
- OMP profile for the structured transport: exactly the 11 handled catalog commands pass through as text;
/modeland/switchopen Orca's picker (an argument applies through config). /planstays claimed and toggles ACP plan mode viasession/set_mode(explicit message when OMP does not offer theplanmode); never sent as text.- TUI-only commands stay claimed:
/newopens a new OMP chat tab; resume/fork/branch/tree/git/settings/extensions/hotkeys and the/rewindalias show an explicit message with an "Open OMP in a terminal tab" action, which starts a separate session (replaced by Continue in Terminal once Post-cutover migration: persisted ACP↔Terminal handoff for OMP chats #84 lands, post-cutover);/clearpasses through once ACP: reject TUI-only slash commands explicitly; implement /clear in text mode oh-my-pi#15 implements it (claimed with a message before). /traceclaimed with a message (loopback server side effect);/export <file>shows where the file was written.- Slash menu merges the catalog with
available_commands_update(non-catalog OMP commands are expansion); mobile gets the agent-answered subset. - Legacy PTY chat claim behavior and skills discovery stay unchanged.
- Composer:
@mention autocomplete and path references verified for OMP, including the file-URI quoting case.
Non-goals
- Skills (Native image prompts for ACP agents + OMP skills #76), native image blocks (Native image prompts for ACP agents + OMP skills #76), effort-at-rest (expansion).
Depends on
- Register omp acp as an opt-in structured ACP agent behind the availability gate #68
- ACP: reject TUI-only slash commands explicitly; implement /clear in text mode oh-my-pi#15
Parity rows owned
- P-MSWC-02, P-SCMD-01, P-SCMD-02, P-SKIL-02, P-ATTC-01, P-PLAN-01, P-LCMD-01, P-LCMD-02.
Acceptance criteria
- Each of the 22 legacy commands executes in OMP, opens an Orca surface, or shows an explicit message; none reaches the model as prompt text.
-
/contextand/usageanswers appear in the chat. -
/plantoggles plan mode throughsession/set_mode, never as prompt text;/model <id>and picker changes apply to the next turn and survive reattach. -
/rewindand/tracenever reach OMP;/export <file>writes inside the workspace and the chat shows the path. - Dropped images/files become
@pathmentions OMP resolves, including Windows paths with spaces and both quote kinds. - Legacy PTY chat command behavior is unchanged.
Required tests
- Table-driven outcome test over the 22 commands +
/rewind+ an unknown token +/compact <text>(asserts focus compaction, not an error) +/export <file>(asserts location) +/trace(asserts the claim message), against a scripted OMP, plus one recorded real-omp acprun. /planwith OMP's plan setting on and off.- Unknown
/tokenstays blocked; a command sent mid-turn. /modelwith ambiguous label; restore of a picked model after reattach.- Path quoting cases; legacy claimed-set snapshot unchanged.
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
[-]Drive prompt, model, commands, and approvals over ACP[/-][+]OMP commands, options and composer over ACP[/+]