Skip to content

fix(orca): document Linux headless runtime and correct misleading install hint#620

Closed
e-jung wants to merge 3 commits into
kunchenguid:mainfrom
e-jung:fm/fm-orca-linux-docs-d3
Closed

fix(orca): document Linux headless runtime and correct misleading install hint#620
e-jung wants to merge 3 commits into
kunchenguid:mainfrom
e-jung:fm/fm-orca-linux-docs-d3

Conversation

@e-jung

@e-jung e-jung commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Intent

Ship a documentation-only correction establishing Linux/headless Orca as a supported Firstmate runtime shape. The docs previously claimed Orca is macOS-only and pointed at 'brew install orca' (which is Plotly's graphing-library cask, not the Orca agentic CLI). The change is limited to docs/orca-backend.md and stale Orca comparisons in docs/cmux-backend.md. orca-backend.md gains a 'Runtime shapes' subsection documenting the collocated Linux topology (Firstmate + project clones + Orca worktrees + terminals + headless 'orca serve' runtime all on one Linux host; Mac/mobile clients pair as viewers only and never execute tasks), records only empirically verified facts (date 2026-07-15, Orca 1.4.141, Linux aarch64, the exact 'orca serve --help' text, 'orca status --json' output, and the full lifecycle primitives' JSON shapes), replaces the macOS-only/brew prerequisites with accurate macOS-desktop and Linux-headless setup paths, and adds Linux evidence to the Verification section. cmux-backend.md drops comparisons asserting Orca shares cmux's macOS-only/GUI-first posture. Deliberately out of scope: no remote-Mac execution (no Design B split-runtime), no new config files, and no code or behavior changes - the adapter already has zero macOS-specific assumptions.

What Changed

  • Documents Orca as a two-shape runtime in docs/orca-backend.md — the macOS desktop app and a headless orca serve process on a collocated Linux host — adding a "Runtime shapes" subsection with Linux (Orca 1.4.141) verification evidence, and drops stale macOS-only/GUI-first comparisons against Orca from docs/cmux-backend.md and the firstmate-orca skill.
  • Fixes the missing-orca diagnostic in bin/fm-bootstrap.sh: removes orca from install_cmd() (which emitted brew install orca, i.e. Plotly's graphing library rather than the CLI) and routes it through manual_install_url() to point at docs/orca-backend.md, so fm-bootstrap install orca now fails with actionable guidance instead of evaluating a wrong command.
  • Updates tests/fm-bootstrap.test.sh to assert the new MISSING_MANUAL guidance and adds test_orca_install_requires_manual_action covering the fail-closed install path.

Risk Assessment

✅ Low: Clean documentation-only change confined to two docs files; every code-related factual claim (50 fake-Orca tests, agent_alive=unknown, no macOS assumptions in the adapter, lifecycle primitives, JSON shapes, local-path/no-remote-runtime justification) was verified accurate against the source, the cmux comparisons are internally consistent, and all required-intent constraints are met with no forbidden behavior added.

Testing

Completed 1 recorded test check.

  • Outcome: ⚠️ 1 error across 1 run (19m48s)

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

✅ **Review** - passed

✅ No issues found.

⚠️ **Test** - 1 error
  • 🚨 tests failed with exit code 1
  • command -v tmux >/dev/null || { echo "tmux is required for e2e tests" >&2; exit 1; }; tmux -V; rc=0; for t in tests/*.test.sh; do echo "== $t =="; bash "$t" || rc=1; done; exit "$rc"
🔧 **Document** - 1 issue found → auto-fixed ✅
  • ⚠️ bin/fm-bootstrap.sh:316 - The bootstrap install-hint helper install_cmd() still emits brew install orca as the missing-tool instruction for the orca CLI (and tests/fm-bootstrap.test.sh:352 asserts that exact output). The now-corrected authoritative doc docs/orca-backend.md:16 explicitly warns that brew install orca installs Plotly's graphing library, NOT the Orca agentic CLI — so the missing-orca diagnostic actively misleads a captain who is missing the CLI, pointing them at the wrong package. This is genuine staleness surfaced by the doc correction (before it, docs and code both said brew install orca and agreed; now the docs say it is wrong while the code still emits it). Not fixed here because it requires editing executable code plus its test, which is out of scope for a documentation-only change and explicitly forbidden by the change's intent ("no code or behavior changes"). Fix would be a follow-up: change the orca branch of install_cmd() (and its assertion in tests/fm-bootstrap.test.sh) to a non-brew instruction pointing at Orca's own distribution.

🔧 Fix: Correct misleading orca install hint to point at setup doc
✅ Re-checked - no issues remain.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

e-jung added 3 commits July 15, 2026 19:04
…-only claims

Orca runs on macOS (desktop app) and Linux (headless `orca serve`), but
the docs stated it was macOS-only and pointed at `brew install orca`
(Plotly's graphing library, not the agentic CLI).

- docs/orca-backend.md: add a Runtime shapes subsection documenting the
  collocated Linux topology (Firstmate + repos + worktrees + headless
  `orca serve` on one host; Mac/mobile as paired viewers), record the
  empirically verified Linux facts (date, Orca 1.4.141, commands, JSON
  output), replace macOS-only/brew prerequisites, and add Linux evidence
  to the Verification section.
- docs/cmux-backend.md: drop stale comparisons asserting Orca shares
  cmux's macOS-only/GUI-first posture.

Documentation only; no code, config, or behavior changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant