Skip to content

ACP elicitation forms and OMP approval-policy parity #81

Open

Description

@44madfire

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 initialize advertises only fs and terminal (src/main/acp/acp-session-runtime.ts:107 @76d1b7b) and handles no elicitation/create.
  • Without elicitation.form OMP strips the ask tool (interactivePrompts gate, 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

Non-goals

  • No renderer plugin surface; no URL elicitation; no Grok behavior change.

Depends on

Parity rows owned

  • P-APPR-01, P-APPR-02, P-APPR-03, P-INTR-01, P-PLAN-02.

Acceptance criteria

  • Model ask questions 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 blocked while 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

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