Skip to content

Mobile: render and drive registered structured agents (provider-neutral) #72

Open

Description

@44madfire

Summary

Teach the mobile app to render and drive structured chats of any agent its host lists, then advertise the registered-agents capability, so OMP ACP chats keep everything mobile does for legacy OMP chat today.

Context

  • 44madfire/orca#20: existing remote/mobile support is the floor. v1 review finding 3 is confirmed and widened.
  • Today mobile drives legacy OMP chat end to end: eligibility (mobile/src/session/mobile-native-chat-eligibility.ts), transcript stream nativeChat.readSession/subscribe (src/main/runtime/rpc/methods/native-chat.ts:78,108 @76d1b7b), send via terminal write, Stop as paced Escapes (mobile/src/session/use-mobile-native-chat-stop.ts:102), approvals/answers as keystrokes, OMP model picker (mobile/src/session/use-mobile-native-chat-session-options.ts:73).
  • Mobile renders no registered agent: no registered-agents capability (mobile/src/transport/mobile-runtime-client-capabilities.ts:16), structured tabs only for Claude/Codex (mobile-native-chat-eligibility.ts:54, src/shared/agent-session-provider-handle.ts:57), host shows "Update to view" (src/main/runtime/rpc/methods/session-tab-agent-status-projection.ts:19,46 @76d1b7b). Launches from mobile are downgraded (src/main/runtime/rpc/methods/agent-launch.ts:87-97).
  • Rules: docs/reference/remote-wire-compatibility.md (capability-negotiated host behavior), docs/reference/agent-status-store.md (one status store).

Scope

  • Structured tab resolution for any host-listed agent using its capability record; send, Stop, approvals/questions (including ACP elicitation forms and OMP approval-policy parity #81 items when present), model/effort pickers from host options, session slash commands, context ring, image affordance per capability.
  • Advertise the registered-agents capability only with all of the above in place.
  • Status projection for registered agents.

Non-goals

  • No new stream opcodes; no host behavior change for clients without the capability.

Depends on

Parity rows owned

  • P-MOBL-01, P-MOBL-02.

Acceptance criteria

  • On an updated mobile build an OMP ACP chat can be read, sent to, stopped, answered, model-switched and slash-commanded — each at least what legacy mobile does.
  • Grok chats render the same way.
  • A mobile build without this change sees today's projection, and mobile-launched OMP still opens terminal/legacy chat.
  • Mobile shows OMP ACP status transitions including blocked.

Required tests

  • Capability negotiation both ways (old mobile/new host, new mobile/old host).
  • Tab projection with mixed agents; destructive mutations only on renderable tabs.
  • Send during disconnect is never resent automatically; Stop from mobile while desktop answers an approval.

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