Repository navigation
ACP elicitation forms and OMP approval-policy parity #81
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
Support ACP elicitation/create forms as Orca question/approval items (provider-neutral) and make OMP approval prompts follow the user's OMP policy, so questions, approvals and plan proposals behave as in legacy chat.
Context
44madfire/orca#20: questions/approvals/interactions parity; exactly-once interaction responses.- Orca's
initializeadvertises onlyfsandterminal(src/main/acp/acp-session-runtime.ts:107@76d1b7b) and handles noelicitation/create. - Without
elicitation.formOMP strips theasktool (interactivePromptsgate,packages/coding-agent/src/modes/acp/acp-agent.ts:1227@53f253f), resolves extension select/confirm/input as empty, and auto-approves plan proposals (:2020). - OMP's ACP gate requests permission for every bash/edit/delete/move unless an explicit yolo opt-in is set, while the TUI default policy is yolo (
packages/coding-agent/src/session/session-tools.ts:911-928,packages/coding-agent/src/session/acp-permission-gate.ts:7-12@53f253f). - Orca answers permissions after a journal compare-and-set and auto-allows under full access (
src/main/acp/acp-structured-acquire.ts:133-149@76d1b7b).
Scope
- Generic, standard ACP: advertise
elicitation.forminclientCapabilities(probed normally; no OMP marker); map select, confirm, text input and multi-question forms onto existing question/approval journal items with commit-before-reply; decline on Stop/steer/close; decline unsupported schemas (never hang). - OMP: opt in; plan proposals shown as a decision.
- Approval policy: when the provider confirms
orca-native-chat-v1(Register omp acp as an opt-in structured ACP agent behind the availability gate #68 negotiation), OMP decides when to ask exactly as the TUI does (ACP permission gate follows the configured approval policy for orca-native-chat-v1 clients oh-my-pi#14); Orca full access maps to OMP's explicit auto-approve launch flag rather than answeringallow_once. - Status is
blockedwhile any request is pending.
Non-goals
- No renderer plugin surface; no URL elicitation; no Grok behavior change.
Depends on
- Register omp acp as an opt-in structured ACP agent behind the availability gate #68
- ACP permission gate follows the configured approval policy for orca-native-chat-v1 clients oh-my-pi#14
Parity rows owned
- P-APPR-01, P-APPR-02, P-APPR-03, P-INTR-01, P-PLAN-02.
Acceptance criteria
- Model
askquestions render as question cards and the answer reaches OMP once. - Default-config OMP prompts for approval exactly when the TUI would; full access never prompts.
- Plan proposals wait for the user's decision.
- Stop with an open question/approval declines it once and ends the turn.
- Status is
blockedwhile waiting, on desktop and mobile.
Required tests
- Round-trip for each form kind.
- Desktop and mobile answering the same request → one reply, one refusal.
- Answer after Stop → refused; malformed schema → declined.
- Permission request and elicitation concurrently; reattach with a pending request → withdrawn.
Base branch
acp-migration (44madfire/orca).
Metadata
Metadata
Assignees
Labels
acp-migrationOMP Native Chat ACP migrationOMP Native Chat ACP migrationphase-BPhase B parity completionPhase B parity completion
Activity