Skip to content

Implement robust orchestration primitives and connected-server workers - #9925

Merged
OrcaWin merged 27 commits into
mainfrom
orchestration-improve
Jul 27, 2026
Merged

OrcaWin merged 27 commits into
mainfrom
orchestration-improve

Conversation

@OrcaWin

@OrcaWin OrcaWin commented Jul 22, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • add lightweight Runs as durable namespaces and coordinator inboxes, with crash-safe FIFO delivery, consumer fencing, durable questions, and explicit succeeded/failed worker outcomes
  • add durable mutation receipts and exact Dispatch capabilities so lifecycle reports, retries, stop/abandon races, and uncertain remote outcomes stay idempotent or explicitly unknown
  • add composed worker-start/show/read/stop/abandon flows for current, existing, child, and top-level worktrees while preserving low-level worktree and terminal commands
  • run new-worktree setup by default, keep the normal start-immediately policy non-gating, and honor repository wait-for-setup policy when configured
  • add connected Orca server federation through worker-start --on <saved-environment>, keeping Run/Task truth on the home server while authenticated lifecycle, questions, control mail, recovery, and output cross the server boundary
  • add exact structured Codex/Claude worker output when Orca can prove the provider session, with opaque source-pinned cursors and bounded labeled terminal fallback
  • update CLI help and orchestration skill guidance with the explicit agent-owned loop, batch inbox handling, setup defaults, multi-server recipes, and conditional recovery
  • track implementation, findings, and physical acceptance evidence in ORCHESTRATION_IMPLEMENTATION_CHECKLIST.md

Design boundaries

This intentionally does not add a dashboard, scheduler, automatic placement or retry, capacity allocator, commit/integration tracking, filesystem access enforcement, generalized ACLs, Run replication/failover, dead letters, or a universal provider-session abstraction. Agents still choose decomposition, placement, concurrency, conflict avoidance, and recovery.

For federation, the Run home owns orchestration state. A connected worker server owns exact resources, an authenticated Dispatch attachment, and durable relay state. Runtime UUIDs are epochs; saved-server public-key fingerprints pin peer identity.

Screenshots

Not applicable. This PR adds runtime, CLI, and skill primitives and intentionally makes no product UI changes.

Testing

  • repository-configured orchestration/federation/remote-client/skill selection: 35 files, 465 tests
  • full Node, CLI, and web typecheck
  • full lint, reliability, max-lines, manifest, and localization gates
  • relay, CLI, Electron/Vite, and web production builds
  • bundled-skill verification, formatting, and git diff --check
  • real Mac Run home to Windows worker and Windows Run home to Mac worker
  • successful and failed completion, question/reply, stable Dispatch follow-up, setup behavior, exact structured output, stop, disconnect/reconnect, and duplicate suppression
  • peer-identity and exact-worker-process fencing
  • rebased onto current origin/main, including a wire-level regression for bounded encrypted orchestration requests

AI review report

Multiple independent read-only reviews covered agent ergonomics, federation/recovery, skill guidance, and the final branch. All actionable review threads are resolved. The final reviewer reported no remaining correctness issue.

Cross-platform review explicitly covered macOS, Linux, and Windows path handling, shell behavior, connected-server routing, native/WSL/SSH execution boundaries, and Electron runtime differences. This PR changes no UI or keyboard shortcuts.

Security audit

  • lifecycle mutation requires the exact Dispatch capability and runtime-attested worker identity
  • connected-server requests pin the saved peer identity
  • stale processes, replaced processes, and foreign profiles are rejected
  • capability tokens and transcript paths are not exposed by worker output
  • unknown transport outcomes are surfaced without automatic replay

Notes

All planned implementation phases are complete. Exact structured worker output is no longer deferred: Orca selects a proven Codex/Claude transcript when available and otherwise returns bounded terminal output with a typed fallback reason.

Local CLI installation can warn when the current user cannot replace /usr/local/bin/orca-dev; that does not affect the CLI build artifact or CI.

@coderabbitai

coderabbitai Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The pull request adds Run-scoped orchestration, durable inbox delivery, question threads, mutation receipts, worker lifecycle management, federation relay and recovery, structured worker reports, and capability-aware RPC transport. It updates CLI handlers, command specifications, help text, skill guidance, development wrappers, runtime behavior, database migrations, and extensive unit/integration coverage. Documentation and implementation ledgers describe the orchestration phases, contracts, acceptance criteria, and progress history.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 3.90% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title is concise and matches the main change: orchestration primitives and connected-server worker support.
Description check ✅ Passed The description covers the required sections and includes summary, testing, AI review, security, and notes with cross-platform coverage.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 9

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/cli/help.ts (1)

88-103: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Expose the worker lifecycle commands in root help.

The new Run commands are listed, but the normal supervised workflow’s worker-start and related worker-show/worker-read/worker-stop/worker-abandon commands remain undiscoverable through orca --help. Add them beside the other orchestration commands.

src/main/runtime/orca-runtime.ts (1)

17126-17200: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

setupReceipt.state is inconsistent between the local and remote worktree-create paths, and doesn't distinguish a policy-declined run from a real spawn failure.

The local path (createManagedWorktree, ~17191-17197) explicitly maps effectiveDecision === 'skip' to 'skipped', but even there a hook that exists yet wasn't run only because shouldRunSetupForCreate declined it (repo setupRunPolicy, decision 'inherit') falls through to didSpawnSetup ? 'running' : 'spawn_failed' — reporting 'spawn_failed' for a setup that was never attempted. The remote path (createManagedRemoteWorktree, ~17531-17535) is missing the 'skip' branch entirely, so an explicit setupDecision: 'skip' on a remote worktree create can report 'not_configured' or 'spawn_failed' instead of 'skipped'. Given the PR's stated goal of "truthful worker outcomes," this receipt should report the same semantics for both paths.

🩹 Proposed fix: mirror the local `'skip'` branch in the remote path
     const setupReceipt = {
       requested: (args.runHooks ? 'run' : (args.setupDecision ?? 'inherit')) as
         | 'run'
         | 'skip'
         | 'inherit',
       hookFound: Boolean(result.setup),
       startupPolicy: result.setup?.waitForAgentStartup
         ? ('wait-for-setup' as const)
         : ('start-immediately' as const),
       state: !result.setup
         ? ('not_configured' as const)
+        : (args.runHooks ? 'run' : (args.setupDecision ?? 'inherit')) === 'skip'
+          ? ('skipped' as const)
           : didSpawnSetup
             ? ('running' as const)
             : ('spawn_failed' as const)
     }

Also applies to: 17522-17540

🧹 Nitpick comments (6)
src/cli/runtime/client.ts (2)

249-263: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add a "why" comment for the check/dispatch special-casing.

The rationale for treating orchestration.check as a mutation only when ack is present, and orchestration.dispatch as a mutation unless dryRun, isn't obvious from the code alone.

As per path instructions: "Add concise, preferably one-line comments only for non-obvious code, explaining why rather than how."

📝 Suggested comments
 function isOrchestrationMutation(method: string, params: unknown): boolean {
+  // Why: `check` only mutates state when it acknowledges a delivery (--ack);
+  // a plain read/poll needs no recovery id.
   if (method === 'orchestration.check') {
     return Boolean(
       params && typeof params === 'object' && typeof (params as { ack?: unknown }).ack === 'string'
     )
   }
+  // Why: `--dry-run` dispatch never mutates state, so it's excluded.
   if (method === 'orchestration.dispatch') {

54-58: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Orchestration envelope type is duplicated inline across three files. The { orchestrationCapability?: string; orchestrationRequestId?: string } shape is repeated independently instead of sharing one type, risking drift as fields are added (this shape also appears in src/shared/remote-runtime-client.ts's sendRemoteRuntimeRequest).

  • src/cli/runtime/client.ts#L54-L58: import/use a shared OrchestrationEnvelope type for the options/envelope shape instead of the inline literal.
  • src/cli/runtime/transport.ts#L11-L12: use the same shared type for sendRequest's envelope parameter.
  • src/cli/runtime/websocket-transport.ts#L12-L13: use the same shared type for sendWebSocketRequest's envelope parameter.
src/cli/specs/orchestration.ts (1)

40-73: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

allowedFlags includes flags that the usage help string never documents. Users relying on --help/usage text won't discover these accepted flags.

  • src/cli/specs/orchestration.ts#L40-L73: send's allowedFlags includes 'dispatch-capability', but the usage string omits --dispatch-capability; add it to the usage text.
  • src/cli/specs/orchestration.ts#L180-L200: ask's allowedFlags includes 'dispatch-capability', but the usage string omits it; add it to the usage text.
  • src/cli/specs/orchestration-worker-specs.ts#L5-L35: worker-start's allowedFlags includes 'display-name' and 'comment', but the usage string only shows --name; add --display-name/--comment to the usage text.
src/main/runtime/rpc/methods/orchestration-worker-control.ts (1)

13-13: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

WorkerDispatchParams is defined identically in two files. Both independently declare z.object({ dispatch: requiredString('Missing --dispatch') }), risking divergence (e.g. inconsistent error messages) as the schema evolves.

  • src/main/runtime/rpc/methods/orchestration-worker-control.ts#L13-L13: import a shared WorkerDispatchParams from a common schemas module instead of redeclaring it.
  • src/main/runtime/rpc/methods/orchestration-worker-stop.ts#L11-L11: import the same shared schema.
src/main/ipc/runtime-environment-transport-routing.ts (1)

109-120: 🚀 Performance & Scalability | 🔵 Trivial

Envelope-bearing calls always pay for a fresh one-shot WebSocket handshake.

When envelope is set, this branch always uses sendRemoteRuntimeRequest (new handshake per call) rather than the cached-connection or shared-control paths used by other methods. If federation lifecycle/question relay traffic is frequent, this adds per-call connection setup latency. Worth confirming this is an accepted trade-off (envelope auth isn't threaded through the persistent shared-control channel) rather than an oversight, and considering connection reuse for envelope calls later if call volume grows.

src/main/runtime/orchestration/db.ts (1)

194-198: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

messages CHECK omits 'question' in createTables().

The canonical table definition allows heartbeat but not question, even though createQuestion() inserts type: 'question'. It currently works only because the omission forces the v9 rebuild (Line 552 !messagesTypeCheckAllowsQuestion()) to fire on every fresh database, doing an unnecessary DROP/recreate. Add 'question' here so the authoritative schema matches the intended state and fresh DBs skip the rebuild.

♻️ Add 'question' to the canonical CHECK
           CHECK(type IN (
             'status', 'dispatch', 'worker_done', 'merge_ready',
-            'escalation', 'handoff', 'decision_gate', 'heartbeat'
+            'escalation', 'handoff', 'decision_gate', 'question', 'heartbeat'
           )),

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ce27697d-882f-43d0-95b6-ecb6eb598488

📥 Commits

Reviewing files that changed from the base of the PR and between 39b124c and a71f1a7.

⛔ Files ignored due to path filters (1)
  • src/main/runtime/orchestration/__snapshots__/preamble.test.ts.snap is excluded by !**/*.snap
📒 Files selected for processing (76)
  • ORCHESTRATION_IMPLEMENTATION_CHECKLIST.md
  • config/scripts/orchestration-skill-guidance.test.mjs
  • resources/skills/current-manifest.json
  • resources/skills/release-mapping.json
  • resources/skills/snapshot-registry.json
  • skill-guides/orchestration.md
  • skills/orchestration/SKILL.md
  • src/cli/bundled-skill-guides.ts
  • src/cli/handlers/orchestration-lifecycle-rejection.test.ts
  • src/cli/handlers/orchestration-run-cli.test.ts
  • src/cli/handlers/orchestration.test.ts
  • src/cli/handlers/orchestration.ts
  • src/cli/help.ts
  • src/cli/index.test.ts
  • src/cli/runtime-client.test.ts
  • src/cli/runtime/client.ts
  • src/cli/runtime/transport.ts
  • src/cli/runtime/websocket-transport.ts
  • src/cli/specs/orchestration-worker-specs.ts
  • src/cli/specs/orchestration.ts
  • src/main/index.ts
  • src/main/ipc/runtime-environment-shared-control-support.ts
  • src/main/ipc/runtime-environment-transport-routing.ts
  • src/main/runtime/orca-runtime.test.ts
  • src/main/runtime/orca-runtime.ts
  • src/main/runtime/orchestration-cli-subprocess.test.ts
  • src/main/runtime/orchestration/coordinator.test.ts
  • src/main/runtime/orchestration/coordinator.ts
  • src/main/runtime/orchestration/db.test.ts
  • src/main/runtime/orchestration/db.ts
  • src/main/runtime/orchestration/environment-transport.ts
  • src/main/runtime/orchestration/federation-sync.ts
  • src/main/runtime/orchestration/formatter.test.ts
  • src/main/runtime/orchestration/lifecycle-reconciliation.test.ts
  • src/main/runtime/orchestration/lifecycle-reconciliation.ts
  • src/main/runtime/orchestration/orchestration-db-permissions.test.ts
  • src/main/runtime/orchestration/orchestration-error.ts
  • src/main/runtime/orchestration/orchestration-mutation-question-db.test.ts
  • src/main/runtime/orchestration/orchestration-run-delivery-db.test.ts
  • src/main/runtime/orchestration/orchestration-worker-dispatch-db.test.ts
  • src/main/runtime/orchestration/preamble.test.ts
  • src/main/runtime/orchestration/preamble.ts
  • src/main/runtime/orchestration/types.ts
  • src/main/runtime/rpc/core.ts
  • src/main/runtime/rpc/dispatcher.ts
  • src/main/runtime/rpc/errors.ts
  • src/main/runtime/rpc/methods/orchestration-federated-worker-start.ts
  • src/main/runtime/rpc/methods/orchestration-federation-control.ts
  • src/main/runtime/rpc/methods/orchestration-federation-effects.ts
  • src/main/runtime/rpc/methods/orchestration-federation-methods.ts
  • src/main/runtime/rpc/methods/orchestration-federation-relay.ts
  • src/main/runtime/rpc/methods/orchestration-federation.test.ts
  • src/main/runtime/rpc/methods/orchestration-federation.ts
  • src/main/runtime/rpc/methods/orchestration-runs.ts
  • src/main/runtime/rpc/methods/orchestration-worker-control.ts
  • src/main/runtime/rpc/methods/orchestration-worker-methods.ts
  • src/main/runtime/rpc/methods/orchestration-worker-observation.ts
  • src/main/runtime/rpc/methods/orchestration-worker-start-schema.ts
  • src/main/runtime/rpc/methods/orchestration-worker-stop.ts
  • src/main/runtime/rpc/methods/orchestration-worker-topology.ts
  • src/main/runtime/rpc/methods/orchestration-workers-new-worktree.test.ts
  • src/main/runtime/rpc/methods/orchestration-workers-recovery.test.ts
  • src/main/runtime/rpc/methods/orchestration-workers.ts
  • src/main/runtime/rpc/methods/orchestration.test.ts
  • src/main/runtime/rpc/methods/orchestration.ts
  • src/main/runtime/rpc/orchestration-mutation-executor.ts
  • src/main/runtime/rpc/orchestration-mutation-ledger.test.ts
  • src/main/runtime/rpc/runtime-feature-interaction.ts
  • src/main/ssh/ssh-remote-cli-error-response.ts
  • src/main/ssh/ssh-remote-orca-cli.test.ts
  • src/main/ssh/ssh-remote-orca-cli.ts
  • src/main/ssh/ssh-remote-orchestration-send.test.ts
  • src/main/ssh/ssh-remote-orchestration-send.ts
  • src/shared/protocol-version.ts
  • src/shared/remote-runtime-client.ts
  • src/shared/types.ts

Comment thread skill-guides/orchestration.md Resolved
Comment thread src/main/runtime/orca-runtime.test.ts Resolved
Comment thread src/main/runtime/orca-runtime.ts Resolved
Comment thread src/main/runtime/orca-runtime.ts Resolved
Comment thread src/main/runtime/orchestration/db.ts Resolved

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
ORCHESTRATION_IMPLEMENTATION_CHECKLIST.md (1)

71-73: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Update the stale acknowledgment guidance.

Line [73] says the consume-before-response crash window remains until explicit acknowledgment ships, but Lines [119-123] document that acknowledgment is already implemented. Reword this item to describe the current replay/acknowledgment behavior rather than a future feature.


ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 2b31e63b-5507-4545-9e6f-bf76b24f8f65

📥 Commits

Reviewing files that changed from the base of the PR and between 61b00ad and d0a1036.

📒 Files selected for processing (7)
  • ORCHESTRATION_IMPLEMENTATION_CHECKLIST.md
  • config/scripts/orca-dev-bin.test.mjs
  • config/scripts/orca-dev.mjs
  • src/cli/handlers/orchestration.ts
  • src/cli/index.test.ts
  • src/shared/agent-prompt-injection.test.ts
  • src/shared/agent-prompt-injection.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
config/scripts/dev-cli-terminal-wrapper.test.mjs (1)

8-22: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Assert the out/bin copies too.

These tests only validate userDataPath/cli/bin, but config/scripts/run-electron-vite-dev.mjs puts the returned binDir first on PATH. Assert that each out/bin wrapper matches the profile copy so the Windows routing regression cannot recur unnoticed.

Proposed test addition
-    prepareDevCliTerminalWrappers({
+    const { binDir } = prepareDevCliTerminalWrappers({
       repoRoot: root,
       userDataPath,
       electronExecutable: path.join(root, 'electron.exe'),
       platform: 'win32'
     })
@@
     expect(readFileSync(path.join(userDataPath, 'cli', 'bin', 'orca.cmd'), 'utf8')).toBe(wrapper)
+    expect(readFileSync(path.join(binDir, 'orca-dev.cmd'), 'utf8')).toBe(wrapper)
+    expect(readFileSync(path.join(binDir, 'orca.cmd'), 'utf8')).toBe(wrapper)

Also applies to: 25-41


ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 75261024-4062-41a4-be32-21e008d55861

📥 Commits

Reviewing files that changed from the base of the PR and between d0a1036 and 42fd22f.

📒 Files selected for processing (5)
  • ORCHESTRATION_IMPLEMENTATION_CHECKLIST.md
  • config/scripts/dev-cli-terminal-wrapper.mjs
  • config/scripts/dev-cli-terminal-wrapper.test.mjs
  • config/scripts/orca-dev.mjs
  • config/scripts/run-electron-vite-dev.mjs

@AmethystLiang AmethystLiang added the orca-remote-server Remote Orca Server / orca serve / paired remote runtime label Jul 22, 2026
@AmethystLiang
AmethystLiang self-requested a review July 22, 2026 20:50
@OrcaWin
OrcaWin force-pushed the orchestration-improve branch 2 times, most recently from 8dd0d1b to 58c0365 Compare July 25, 2026 05:08
@OrcaWin

OrcaWin commented Jul 25, 2026

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 25, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 21239489-ea24-4938-89bf-113269e7cfff

📥 Commits

Reviewing files that changed from the base of the PR and between 42fd22f and 58c0365.

📒 Files selected for processing (25)
  • ORCHESTRATION_IMPLEMENTATION_CHECKLIST.md
  • ORCHESTRATION_STRUCTURED_OUTPUT_DESIGN.md
  • config/scripts/dev-cli-terminal-wrapper.mjs
  • config/scripts/dev-cli-terminal-wrapper.test.mjs
  • config/scripts/orca-dev-bin.test.mjs
  • config/scripts/orca-dev.mjs
  • config/scripts/orchestration-skill-guidance.test.mjs
  • config/scripts/run-electron-vite-dev.mjs
  • docs/orchestration-primitives.html
  • skill-guides/orchestration.md
  • src/cli/bundled-skill-guides.ts
  • src/cli/handlers/orchestration-lifecycle-rejection.test.ts
  • src/cli/handlers/orchestration-run-cli.test.ts
  • src/cli/handlers/orchestration-timeout-cli.test.ts
  • src/cli/handlers/orchestration-worker-cli.test.ts
  • src/cli/handlers/orchestration.test.ts
  • src/cli/handlers/orchestration.ts
  • src/cli/help.ts
  • src/cli/index.test.ts
  • src/cli/runtime-client.test.ts
  • src/cli/runtime/client.ts
  • src/cli/runtime/transport.ts
  • src/cli/runtime/websocket-transport.ts
  • src/cli/specs/orchestration-worker-specs.ts
  • src/cli/specs/orchestration.ts
🚧 Files skipped from review as they are similar to previous changes (19)
  • src/cli/runtime/websocket-transport.ts
  • src/cli/handlers/orchestration-lifecycle-rejection.test.ts
  • src/cli/specs/orchestration-worker-specs.ts
  • config/scripts/orca-dev-bin.test.mjs
  • config/scripts/dev-cli-terminal-wrapper.mjs
  • src/cli/help.ts
  • src/cli/handlers/orchestration-run-cli.test.ts
  • config/scripts/orca-dev.mjs
  • src/cli/runtime/transport.ts
  • config/scripts/run-electron-vite-dev.mjs
  • config/scripts/orchestration-skill-guidance.test.mjs
  • src/cli/handlers/orchestration-timeout-cli.test.ts
  • src/cli/bundled-skill-guides.ts
  • src/cli/runtime/client.ts
  • skill-guides/orchestration.md
  • src/cli/handlers/orchestration.test.ts
  • src/cli/specs/orchestration.ts
  • src/cli/handlers/orchestration.ts
  • config/scripts/dev-cli-terminal-wrapper.test.mjs

Comment thread docs/orchestration-primitives.html Resolved
@Jinwoo-H
Jinwoo-H force-pushed the orchestration-improve branch from e8b0257 to 6a6189e Compare July 25, 2026 23:45
@OrcaWin
OrcaWin force-pushed the orchestration-improve branch from b69477d to 817261f Compare July 27, 2026 00:16
@OrcaWin
OrcaWin force-pushed the orchestration-improve branch from 817261f to 68ba7c4 Compare July 27, 2026 18:25
@OrcaWin
OrcaWin merged commit cd05f2f into main Jul 27, 2026
7 checks passed
@OrcaWin
OrcaWin deleted the orchestration-improve branch July 27, 2026 19:31
scastanoh21 added a commit to scastanoh21/orca that referenced this pull request Jul 27, 2026
Resolve conflicts from main's lazy CLI dispatch refactor (#? handler-group
manifest) and orchestration-envelope client changes (stablyai#9925):

- dispatch.ts: adopt main's manifest-driven routing; register the updater
  commands by adding a `{ name: 'updater', keys: ['version','update'] }` group
  to handler-group-manifest.ts (verified by handler-group-manifest.test.ts).
- client.ts: keep both the remote-server-update imports and main's new
  orchestration-envelope imports. Extract the remote status→CliStatus mapping to
  remote-cli-status.ts to stay under the max-lines budget (no baseline/disable).

Updater reconciliation (revision long-poll + install-mode/SSH gate) is intact.
Verified: tc:cli, tc:node, oxlint, and the scoped CLI/updater/manifest vitest
suites pass (312 CLI tests green).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
zpyoung pushed a commit to zpyoung/orca that referenced this pull request Jul 29, 2026
…r workers (stablyai#9925)"

This reverts commit cd05f2f for the
v1.4.160-rc.4 cut.

Three files needed manual resolution because later commits touched the same
regions. Their post-9925 work is preserved:

- src/main/runtime/rpc/core.ts and dispatcher.ts keep clientCapabilities and
  the RuntimeCapability import from stablyai#10129 (close-intent negotiation for
  paired runtimes).
- src/cli/runtime/client.ts keeps the deferred websocket-transport import
  from stablyai#10919.
zpyoung added a commit to zpyoung/orca that referenced this pull request Jul 30, 2026
v1.4.161's release branch carried upstream's revert of stablyai#9925; main inherited
it via that sync. v1.4.162 ships orchestration again, but git resolved the
files upstream did not also modify as plain deletions, so no conflict flagged
them and the subsystem merged back half-restored. The fork owns no
orchestration code, so all 87 take v1.4.162 verbatim.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

orca-remote-server Remote Orca Server / orca serve / paired remote runtime

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants