Files
orca/docs
Jinwoo-HandOrca ad7ec5775e wip(mobile): server-authoritative phone-fit state machine + post-scrollback resubscribe
Adds a server-authoritative state machine for mobile terminal layout:
applyLayout is the sole writer of layouts/fit-override; enqueueLayout
serializes per-PTY work behind an async queue with monotonic seq.
Mobile clients filter stale events using seq.

Race fixes:
- TerminalWebView exposes awaitReady() so post-scrollback measure
  waits for term.open + renderService population before measuring.
- handleTerminalWebReady awaits measureViewportOnce before subscribe
  so the first subscribe carries viewport.
- Post-scrollback path resubscribes when scrollback dims don't match
  the measured viewport (covers the alreadyMeasured race).
- terminal.setDisplayMode RPC carries an optional viewport so toggling
  to auto on a viewport-less subscriber record patches the record
  before applyMobileDisplayMode runs.
- sendEncrypted detects ws desync (state=connected but readyState!=OPEN)
  and force-reconnects.

Schema collapse: drop 'phone' from TerminalSetDisplayMode mode enum
(now 'auto' | 'desktop'); narrow mobileDisplayModes to Map<string,'desktop'>;
auto = absence.

Connection-health scaffolding: lastConnectedAt, classifyConnection,
unreachableHint (UI not wired).

Co-authored-by: Orca <help@stably.ai>
2026-05-06 20:09:27 -04:00
..

Orca CLI Docs

Keep this folder focused on the durable references for Orca's public CLI and runtime model.

Keep These Docs

  • orca-cli-focused-v1-status.md
    • What is actually implemented and intentionally in scope now.
  • orca-cli-v1-spec.md
    • The public CLI contract, selector grammar, JSON envelope, and command semantics.
  • orca-runtime-layer-design.md
    • Why the runtime layer exists and which boundaries it owns.
  • orca-cli-bundled-distribution.md
    • How the bundled desktop-app distribution and PATH registration model works.

Why The Folder Is Small

Earlier design and implementation work produced several planning and evaluation docs. Those were useful while the feature was taking shape, but they were intentionally removed once the implementation converged so future readers are not forced to choose between multiple overlapping sources of truth.