Guest User

Untitled

a guest
Aug 24th, 2026
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.95 KB | None | 0 0
  1. ---
  2. name: droid-orchestration
  3. description: Structured multi-agent coordination of Droid agents
  4. disable-model-invocation: true
  5. ---
  6.  
  7. ## Load the full guide before running Orca commands
  8.  
  9. ```text
  10. orca skills get orchestration
  11. ```
  12.  
  13. That prints the complete, version-matched guide for the exact binary that will handle your
  14. next commands — task creation and dispatch, injected lifecycle preambles, worker_done
  15. authority, decision gates, and coordinator loops. Read it first, then run the specific
  16. command you need.
  17.  
  18. Don't guess subcommands or flags from memory or from a cached copy of this stub. They
  19. change between Orca releases, and this file deliberately no longer lists them. Confirm the
  20. app is up with `orca status --json` (start it with `orca open --json` if needed), and
  21. prefer `--json` for agent-driven calls.
  22.  
  23. ## Model routing (allowed workers only)
  24.  
  25. When decomposing work across droid workers, pick from this ladder only. Most
  26. intelligent first.
  27.  
  28. | Rank | Name | Overlay `model` | Overlay `reasoningEffort` | Use for |
  29. | --- | --- | --- | --- | --- |
  30. | 1 | DroidProxy Opus 5 High | `custom:droidproxy:opus-5` | `high` | Hard tickets: protocol, host/main, Android lifecycle, anything that can poison dependents |
  31. | 2 | DroidProxy Grok 4.6 Extra-high | `custom:droidproxy:grok-4.6` | `xhigh` | Next fallback. Also fine as a first pick for long-context / cross-file work |
  32. | 3 | Muse Spark 1.2 Extra-high | `custom:meta:muse-spark-1.2` | `xhigh` | Next fallback after Grok |
  33. | 4 | DroidProxy Gemini 3.7 Flash High | `custom:droidproxy:gemini-3.7-flash-high` | `high` | Easy tickets: CI YAML, copy, persistence, confirm sheets, polish. Default cheap model |
  34.  
  35. Slugs are `customModels[].id` from `~/.factory/settings.json`. Do not invent ids. Re-check that file if a spawn prints `Invalid model`.
  36.  
  37. **How to route.** Start each ticket on the weakest model that can still do it:
  38. Gemini 3.7 Flash High for easy/chore/polish, Opus 5 High for hard or
  39. foundational work. Grok and Muse are not first-line defaults; they are the
  40. failover rungs.
  41.  
  42. **Failover.** If a worker fails to start, the overlay is rejected, the footer
  43. shows the wrong model, or the worker `worker_done --outcome failed` because the
  44. model could not do the job, do not retry the same model. Release that worker,
  45. write a new overlay for the next-smarter row, spawn a fresh terminal, and
  46. dispatch again. Order: Gemini → Muse Spark → Grok 4.6 → Opus 5 when you started
  47. cheap; Opus → Grok → Muse Spark → Gemini when the chosen model itself will not
  48. launch. After rank 1 is exhausted, escalate to the user.
  49.  
  50. Always pin `reasoningEffort` to the value in the table. "Opus 5 High" is
  51. `high`, not `xhigh`. "Grok 4.6 extra-high" / "Muse Spark extra-high" is `xhigh`.
  52. Gemini's display name already includes High; still set `reasoningEffort` to
  53. `high`.
  54.  
  55. ## Spawning a droid worker on a specific model (e.g. a DroidProxy custom model)
  56.  
  57. `ORCA orchestration worker-start --model` only supports Claude, Codex, and Cursor.
  58. For `--agent droid` it fails with `Agent droid does not support launch-time model
  59. selection.` Interactive `droid` also has no `-m` flag (only `droid exec` does). The
  60. working pattern, verified 2026-08-08:
  61.  
  62. 1. Use only a slug from the Model routing table above. Confirm it still exists
  63. under `customModels[].id` in `~/.factory/settings.json` if spawn fails.
  64. 2. Write a one-off settings overlay; `droid --settings <path>` merges it for that
  65. process only, so the global default model is untouched. `reasoningEffort` in the
  66. same block sets the reasoning level. Example: Gemini 3.7 Flash High (the cheap
  67. default) is `model: custom:droidproxy:gemini-3.7-flash-high` plus
  68. `reasoningEffort: "high"`. Allowed values: `none`, `dynamic`, `off`,
  69. `minimal`, `low`, `medium`, `high`, `xhigh`, `max` (which of these a given model
  70. honors depends on the model; DroidProxy Claude models use low/medium/high/xhigh):
  71.  
  72. ```json
  73. {
  74. "sessionDefaultSettings": {
  75. "model": "custom:droidproxy:gemini-3.7-flash-high",
  76. "reasoningEffort": "high",
  77. "autonomyLevel": "high",
  78. "autonomyMode": "auto-high"
  79. },
  80. "commandDenylist": ["__yolo_denylist_disabled__"]
  81. }
  82. ```
  83.  
  84. Always include that `commandDenylist` line when spawning workers. Auto (High)
  85. auto-approves everything except deny-listed commands (`rm -rf` variants,
  86. `shutdown`, `mkfs`, ...), which "always require manual approval" and stall an
  87. unattended worker mid-task. Replacing the list with one unmatchable dummy entry
  88. disables those pings; an empty `[]` is ignored and falls back to the defaults,
  89. so the dummy entry is required. `--skip-permissions-unsafe` is `droid exec`
  90. only; passing it to interactive `droid` is silently consumed as the initial
  91. prompt text, so an alias like `droid --skip-permissions-unsafe` does not work.
  92. A ready-made overlay for the no-model-override case lives at
  93. `~/.factory/droid-yolo.json` (aliased as `droid-yolo` in `~/.zshrc`).
  94.  
  95. 3. Launch the terminal yourself (worker-start is not usable here), then dispatch:
  96.  
  97. ```bash
  98. # 1. Ensure an active Run exists (if no Run is bound yet):
  99. orca orchestration run-create --objective "Review recent changes" --json
  100.  
  101. # 2. Create the orchestration task:
  102. orca orchestration task-create --spec "<task description>" --json
  103.  
  104. # 3. Launch terminal with overlay:
  105. orca terminal create --worktree current --title "opus5-worker" \
  106. --command "droid --settings /tmp/opus5-settings.json" --json
  107.  
  108. # 4. Wait for TUI to be idle:
  109. orca terminal wait --terminal <terminal_handle> --for tui-idle --timeout-ms 60000 --json
  110.  
  111. # 5. Dispatch task with prompt injection:
  112. orca orchestration dispatch --task <task_id> --to <terminal_handle> --inject --json
  113.  
  114. # 6. If interactive droid is waiting at the prompt, trigger submission:
  115. orca terminal send --terminal <terminal_handle> --text "<task prompt>" --enter --json
  116.  
  117. # 7. Supervise worker completion:
  118. orca orchestration check --wait --types worker_done,escalation,question --timeout-ms 900000 --json
  119. ```
  120.  
  121. The injected worker reports `worker_done` normally; the droid footer shows the
  122. custom model (e.g. "DroidProxy: Opus 5 (High)"), which confirms the overlay
  123. took effect.
  124.  
  125. After every accepted `worker_done`, account for the terminal: reuse it for a
  126. fresh Dispatch, or release it. `worker-release` takes `--dispatch <dispatch_id>`
  127. (the `ctx_…` value from step 5), **not** `--terminal`. An accepted `worker_done`
  128. auto-settles the dispatch, so `worker-release` after completion returns
  129. `dispatch_not_found` — that is harmless, not an error. To close the terminal
  130. pane itself, use `orca terminal close --terminal <handle> --json`.
  131.  
  132. A worker that sends `worker_done` twice will have its second message rejected
  133. with `dispatch_capability_invalid` ("Dispatch … capability is revoked"). That
  134. is expected Orca behavior, not a failure — the first `worker_done` already
  135. settled the dispatch.
  136.  
Advertisement
Add Comment
Please, Sign In to add comment