@oeronteros-1/opencode-orchestra 1.0.23 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +9 -3
  2. package/dashboard-dist/assets/{index-DMvE5MHc.js → index-Dc5lp8wX.js} +2 -2
  3. package/dashboard-dist/index.html +1 -1
  4. package/dist/agents/build.js +4 -0
  5. package/dist/agents/build.js.map +1 -1
  6. package/dist/agents/editor.d.ts +3 -0
  7. package/dist/agents/editor.js +12 -0
  8. package/dist/agents/editor.js.map +1 -0
  9. package/dist/agents/integrator.d.ts +3 -0
  10. package/dist/agents/integrator.js +12 -0
  11. package/dist/agents/integrator.js.map +1 -0
  12. package/dist/agents/lead.js +3 -1
  13. package/dist/agents/lead.js.map +1 -1
  14. package/dist/agents/workers.js +1 -6
  15. package/dist/agents/workers.js.map +1 -1
  16. package/dist/cli.d.ts +8 -2
  17. package/dist/cli.js +120 -33
  18. package/dist/cli.js.map +1 -1
  19. package/dist/config/schema.d.ts +2 -0
  20. package/dist/config/schema.js +6 -0
  21. package/dist/config/schema.js.map +1 -1
  22. package/dist/diagnostics/doctor.js +35 -5
  23. package/dist/diagnostics/doctor.js.map +1 -1
  24. package/dist/index.js +38 -5
  25. package/dist/index.js.map +1 -1
  26. package/dist/orchestration/ownership.d.ts +7 -0
  27. package/dist/orchestration/ownership.js +45 -0
  28. package/dist/orchestration/ownership.js.map +1 -0
  29. package/dist/orchestration/worktree-adapter.d.ts +3 -0
  30. package/dist/orchestration/worktree-adapter.js +45 -0
  31. package/dist/orchestration/worktree-adapter.js.map +1 -0
  32. package/dist/orchestration/worktrees.d.ts +22 -0
  33. package/dist/orchestration/worktrees.js +27 -0
  34. package/dist/orchestration/worktrees.js.map +1 -0
  35. package/dist/plugin-status.js +1 -1
  36. package/dist/plugin-status.js.map +1 -1
  37. package/dist/prompts/load.js +1 -1
  38. package/dist/prompts/load.js.map +1 -1
  39. package/dist/routing/planner.d.ts +14 -1
  40. package/dist/routing/planner.js +23 -1
  41. package/dist/routing/planner.js.map +1 -1
  42. package/dist/tools.js +41 -0
  43. package/dist/tools.js.map +1 -1
  44. package/package.json +16 -2
  45. package/prompts/lead.md +1 -0
  46. package/schema/opencode-orchestra.schema.json +2 -0
@@ -18,14 +18,33 @@ function statusIcon(status) {
18
18
  function formatVersion(value) {
19
19
  return value && value.trim() ? value.trim() : "unknown";
20
20
  }
21
+ /**
22
+ * Probe a command's exit status. Native spawn first; Windows cannot spawn
23
+ * `.cmd`/`.bat` shims or scripts directly, so those retry through cmd.exe
24
+ * with a pre-quoted command line.
25
+ */
26
+ function probeStatus(command, args) {
27
+ const direct = spawnSync(command, args, { stdio: "ignore" });
28
+ if (direct.error === undefined)
29
+ return direct.status;
30
+ if (process.platform === "win32") {
31
+ const line = [command, ...args]
32
+ .map((part) => (part.includes(" ") || /[<>&|^]/.test(part) ? `"${part}"` : part))
33
+ .join(" ");
34
+ const retry = spawnSync(line, [], { stdio: "ignore", shell: true });
35
+ if (retry.error === undefined)
36
+ return retry.status;
37
+ }
38
+ return direct.status;
39
+ }
21
40
  function isExecutable(pathLike) {
22
- return spawnSync(pathLike, ["--version"], { stdio: "ignore" }).status === 0;
41
+ return probeStatus(pathLike, ["--version"]) === 0;
23
42
  }
24
43
  /** Resolve the first executable from a list of candidates. */
25
44
  function executable(candidates) {
26
45
  return candidates.find((name) => {
27
46
  try {
28
- return spawnSync(name, ["--version"], { stdio: "ignore" }).status === 0;
47
+ return probeStatus(name, ["--version"]) === 0;
29
48
  }
30
49
  catch {
31
50
  return false;
@@ -136,14 +155,25 @@ export function collectLocalMcps(parsed) {
136
155
  nonLocalCount += 1;
137
156
  continue;
138
157
  }
139
- const resolved = executable(argv);
158
+ let resolved;
159
+ if (argv.length === 1) {
160
+ resolved = executable(argv);
161
+ }
162
+ else {
163
+ const first = argv[0];
164
+ if (first && isExecutable(first) && probeStatus(first, [...argv.slice(1), "--version"]) === 0) {
165
+ resolved = argv.join(" ");
166
+ }
167
+ }
140
168
  local.push({ name, commands: argv, ...(resolved ? { executable: resolved } : {}) });
141
169
  }
142
170
  return { local, nonLocalCount };
143
171
  }
144
172
  /** Resolve an executable from candidate paths, returning its version too. */
145
173
  function resolveExecutable(candidates, versionArgs) {
146
- const found = candidates.find((c) => isExecutable(c));
174
+ // Dedupe: uv's tool dir and ~/.local/bin often point at the same folder,
175
+ // and probing a slow tool twice would double the doctor's runtime.
176
+ const found = [...new Set(candidates)].find((c) => isExecutable(c));
147
177
  if (!found)
148
178
  return { executable: undefined, version: undefined };
149
179
  return { executable: found, version: captureVersion(found, versionArgs) };
@@ -294,7 +324,7 @@ export async function runDoctor(options = {}) {
294
324
  push({
295
325
  id: "memorygraph",
296
326
  label: "MemoryGraph",
297
- status: memorygraph.executable ? "ok" : "info",
327
+ status: memorygraph.executable ? "ok" : "warning",
298
328
  detail: memorygraph.executable ? `${memorygraph.executable} — ${memorygraph.version ?? "unknown"}` : "not installed",
299
329
  ...(memorygraph.executable ? {} : { hint: "Run `uv tool install memorygraphMCP`, or `opencode-orchestra install`." }),
300
330
  });
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/diagnostics/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/diagnostics/doctor.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ import { createPriceRefresher } from "./routing/pricing/refresh.js";
14
14
  import { createOpenRouterCache } from "./pricing/openrouter.js";
15
15
  import { resolvePricingSync } from "./pricing/resolver.js";
16
16
  import { detectMcpPresence, resolvePluginVersion, PACKAGE_NAME } from "./plugin-status.js";
17
+ import { createGitWorktreeAdapter } from "./orchestration/worktree-adapter.js";
17
18
  function mergeAgent(base, override) {
18
19
  if (!override)
19
20
  return base;
@@ -119,8 +120,10 @@ function logStreamFlag(sessionID, partID, observation) {
119
120
  flags: observation.flags,
120
121
  });
121
122
  }
122
- export const OrchestraPlugin = async ({ client, directory }, rawOptions = {}) => {
123
+ export const OrchestraPlugin = async ({ client, directory, experimental_workspace }, rawOptions = {}) => {
124
+ // Experimental OpenCode workspace integration: editors can be assigned isolated git worktrees.
123
125
  const loaded = await loadConfig(directory, rawOptions);
126
+ experimental_workspace?.register("git", createGitWorktreeAdapter(directory, loaded.config.orchestration.worktreeRoot));
124
127
  await registerProject(directory, openCodeConfigDirectory()).catch(() => undefined);
125
128
  const discovered = await discoverConnectedModels(client);
126
129
  const orchestra = applyDiscoveredModels(applyBudgetPreset(loaded.config), discovered);
@@ -201,11 +204,13 @@ export const OrchestraPlugin = async ({ client, directory }, rawOptions = {}) =>
201
204
  mutable.agent ??= {};
202
205
  for (const [name, agent] of Object.entries(agents)) {
203
206
  const merged = mergeAgent(agent, mutable.agent[name]);
204
- // orch-lead is the single implementation writer; keep its edit access
205
- // available even when a broad inherited agent rule denies it.
207
+ // Keep the primary lead writable; isolated editors write only inside their OpenCode workspaces.
208
+ // The integrator remains Git-only even if a user override broadly enables edit.
206
209
  mutable.agent[name] = name === "orch-lead"
207
210
  ? { ...merged, permission: { ...merged.permission, edit: "allow" } }
208
- : merged;
211
+ : name === "orch-integrator"
212
+ ? { ...merged, permission: { ...merged.permission, edit: "deny" } }
213
+ : merged;
209
214
  }
210
215
  mutable.command ??= {};
211
216
  mutable.command["orchestra-status"] ??= {
@@ -219,7 +224,7 @@ export const OrchestraPlugin = async ({ client, directory }, rawOptions = {}) =>
219
224
  mutable.command.orchestra ??= {
220
225
  description: "Classify a task and execute it through orch-lead",
221
226
  agent: "orch-lead",
222
- template: "Call orchestra_route for this task: $ARGUMENTS. Then execute the returned plan yourself as orch-lead: dispatch ready worker nodes through task, wait for dependencies, call orch-merge once after evidence nodes complete, implement the requested change, and verify it.",
227
+ template: "Call orchestra_route for this task: $ARGUMENTS. Then execute the returned plan yourself as orch-lead. For safe parallel implementation, call orchestration_prepare_edit_plan with explicit ownership, run each orch-editor in its own experimental git workspace, validate every commit with orchestration_validate_commit, then call orch-integrator once. Otherwise implement directly. Always verify the result.",
223
228
  };
224
229
  },
225
230
  tool: createOrchestraTools(orchestra, ledger, pluginStatus, {
@@ -273,6 +278,20 @@ export const OrchestraPlugin = async ({ client, directory }, rawOptions = {}) =>
273
278
  const part = event.properties.part;
274
279
  const delta = event.properties.delta ?? "";
275
280
  trackStreamDelta(part.sessionID, part, delta);
281
+ // Assistant messages announce themselves via assistant-only part kinds
282
+ // (step-start begins every LLM step; reasoning/tool parts never appear
283
+ // in user messages). LiveStream.start() is idempotent per key, so this
284
+ // fills `active` even when text deltas don't arrive (tool/non-streaming).
285
+ if (part.type === "step-start" || part.type === "reasoning" || part.type === "tool") {
286
+ const m = sessionModel.get(part.sessionID);
287
+ live.start({
288
+ key: part.messageID, // === assistant info.id (see SDK Part.messageID)
289
+ sessionID: part.sessionID,
290
+ agent: sessionAgent.get(part.sessionID),
291
+ provider: m?.providerID,
292
+ model: m?.modelID,
293
+ });
294
+ }
276
295
  if (delta) {
277
296
  const model = sessionModel.get(part.sessionID);
278
297
  const liveText = appendLiveText(part.messageID, delta);
@@ -293,6 +312,20 @@ export const OrchestraPlugin = async ({ client, directory }, rawOptions = {}) =>
293
312
  const info = event.properties.info;
294
313
  if (info.role !== "assistant")
295
314
  return;
315
+ // If a turn emits no assistant-only part (e.g. some non-streaming path),
316
+ // start the live row from the still-running assistant message instead.
317
+ const finished = info.time.completed !== undefined || info.finish !== undefined || info.error !== undefined;
318
+ if (!finished) {
319
+ const m = sessionModel.get(info.sessionID);
320
+ live.start({
321
+ key: info.id,
322
+ sessionID: info.sessionID,
323
+ agent: sessionAgent.get(info.sessionID),
324
+ provider: m?.providerID,
325
+ model: m?.modelID,
326
+ });
327
+ return; // do not finalize a still-running message
328
+ }
296
329
  endStream(info.id);
297
330
  // Always finalize the live row so an active entry never goes stale, even
298
331
  // for sessions whose agent/model were not captured by chat.params yet.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface OwnershipPartition {
2
+ id: string;
3
+ paths: string[];
4
+ }
5
+ export declare function normalizeOwnedPath(path: string): string;
6
+ export declare function validateOwnership(partitions: OwnershipPartition[]): string[];
7
+ export declare function validateChangedFiles(partitions: OwnershipPartition[], changed: Record<string, string[]>): string[];
@@ -0,0 +1,45 @@
1
+ export function normalizeOwnedPath(path) {
2
+ const normalized = path.replace(/\\/g, "/").replace(/^\.\//, "").replace(/\/$/, "");
3
+ if (!normalized || normalized.includes("\0") || normalized.startsWith("/") || /^[A-Za-z]:\//.test(normalized) || normalized.split("/").includes(".."))
4
+ throw new Error("ownership path must be repository-relative: " + path);
5
+ return normalized;
6
+ }
7
+ function overlaps(a, b) { return a === b || a.startsWith(b + "/") || b.startsWith(a + "/"); }
8
+ export function validateOwnership(partitions) {
9
+ const errors = [];
10
+ const normalized = partitions.map((p) => ({ id: p.id, paths: p.paths.map((path) => { try {
11
+ return normalizeOwnedPath(path);
12
+ }
13
+ catch (e) {
14
+ errors.push(e.message);
15
+ return "";
16
+ } }).filter(Boolean) }));
17
+ for (let i = 0; i < normalized.length; i++)
18
+ for (let j = i + 1; j < normalized.length; j++)
19
+ for (const a of normalized[i].paths)
20
+ for (const b of normalized[j].paths)
21
+ if (overlaps(a, b))
22
+ errors.push("ownership overlap: " + normalized[i].id + ":" + a + " and " + normalized[j].id + ":" + b);
23
+ return [...new Set(errors)].sort();
24
+ }
25
+ export function validateChangedFiles(partitions, changed) {
26
+ const errors = validateOwnership(partitions);
27
+ const byId = new Map(partitions.map((p) => [p.id, p.paths.map(normalizeOwnedPath)]));
28
+ for (const [id, files] of Object.entries(changed))
29
+ for (const raw of files) {
30
+ let file;
31
+ try {
32
+ file = normalizeOwnedPath(raw);
33
+ }
34
+ catch (e) {
35
+ errors.push(e.message);
36
+ continue;
37
+ }
38
+ ;
39
+ const owners = [...byId].filter(([, paths]) => paths.some((p) => file === p || file.startsWith(p + "/"))).map(([owner]) => owner);
40
+ if (owners.length !== 1 || owners[0] !== id)
41
+ errors.push("changed file " + file + " is not exclusively owned by " + id);
42
+ }
43
+ return [...new Set(errors)].sort();
44
+ }
45
+ //# sourceMappingURL=ownership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ownership.js","sourceRoot":"","sources":["../../src/orchestration/ownership.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { WorkspaceAdapter } from "@opencode-ai/plugin";
2
+ /** OpenCode experimental workspace adapter backed by isolated local git worktrees. */
3
+ export declare function createGitWorktreeAdapter(repository: string, root?: string): WorkspaceAdapter;
@@ -0,0 +1,45 @@
1
+ import { mkdir, rm } from "node:fs/promises";
2
+ import { dirname, join, resolve } from "node:path";
3
+ import { spawn } from "node:child_process";
4
+ function safeId(value) {
5
+ return value.replace(/[^a-zA-Z0-9._-]/g, "-").slice(0, 80);
6
+ }
7
+ function runGit(cwd, args) {
8
+ return new Promise((resolvePromise, reject) => {
9
+ const child = spawn("git", args, { cwd, stdio: "ignore", windowsHide: true });
10
+ child.once("error", reject);
11
+ child.once("exit", (code) => code === 0 ? resolvePromise() : reject(new Error("git " + args.join(" ") + " exited with " + code)));
12
+ });
13
+ }
14
+ /** OpenCode experimental workspace adapter backed by isolated local git worktrees. */
15
+ export function createGitWorktreeAdapter(repository, root = ".orchestra/worktrees") {
16
+ const base = resolve(repository);
17
+ const worktreeRoot = resolve(base, root);
18
+ const directoryOf = (config) => join(worktreeRoot, safeId(config.id));
19
+ return {
20
+ name: "Orchestra Git Worktree",
21
+ description: "Creates one isolated git worktree per parallel Orchestra editor.",
22
+ configure(config) {
23
+ return { ...config, directory: directoryOf(config), branch: config.branch ?? "orchestra/" + safeId(config.id) };
24
+ },
25
+ async create(config, _env, from) {
26
+ const directory = directoryOf(config);
27
+ const branch = config.branch ?? "orchestra/" + safeId(config.id);
28
+ await mkdir(dirname(directory), { recursive: true });
29
+ await runGit(base, ["worktree", "add", "-b", branch, directory, from?.branch ?? "HEAD"]);
30
+ },
31
+ async remove(config) {
32
+ const directory = directoryOf(config);
33
+ const branch = config.branch ?? "orchestra/" + safeId(config.id);
34
+ try {
35
+ await runGit(base, ["worktree", "remove", "--force", directory]);
36
+ }
37
+ finally {
38
+ await rm(directory, { recursive: true, force: true });
39
+ await runGit(base, ["branch", "-D", branch]).catch(() => undefined);
40
+ }
41
+ },
42
+ target(config) { return { type: "local", directory: directoryOf(config) }; },
43
+ };
44
+ }
45
+ //# sourceMappingURL=worktree-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-adapter.js","sourceRoot":"","sources":["../../src/orchestration/worktree-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export interface GitResult {
2
+ stdout: string;
3
+ stderr: string;
4
+ exitCode: number;
5
+ }
6
+ export interface GitRunner {
7
+ run(args: string[], cwd: string): Promise<GitResult>;
8
+ }
9
+ export declare const systemGit: GitRunner;
10
+ export interface ChangedPath {
11
+ status: string;
12
+ path: string;
13
+ oldPath?: string;
14
+ }
15
+ export declare function parseNameStatusZ(output: string): ChangedPath[];
16
+ export declare function createEditorWorktree(git: GitRunner, repo: string, taskId: string, nodeId: string, baseSha: string, root: string): Promise<{
17
+ path: string;
18
+ branch: string;
19
+ }>;
20
+ export declare function assertCommitDescendsFromBase(git: GitRunner, repo: string, baseSha: string, commitSha: string): Promise<void>;
21
+ export declare function integrateValidatedCommits(git: GitRunner, repo: string, commits: string[]): Promise<void>;
22
+ export declare function collectCommitChanges(git: GitRunner, repo: string, baseSha: string, commitSha: string): Promise<ChangedPath[]>;
@@ -0,0 +1,27 @@
1
+ import { spawn } from "node:child_process";
2
+ export const systemGit = { run(args, cwd) { return new Promise((resolve, reject) => { const child = spawn("git", args, { cwd, stdio: ["ignore", "pipe", "pipe"], windowsHide: true }); let stdout = "", stderr = ""; child.stdout.on("data", (chunk) => stdout += chunk); child.stderr.on("data", (chunk) => stderr += chunk); child.once("error", reject); child.once("exit", (exitCode) => resolve({ stdout, stderr, exitCode: exitCode ?? 1 })); }); } };
3
+ export function parseNameStatusZ(output) { const tokens = output.split("\0"); const result = []; for (let i = 0; i < tokens.length - 1;) {
4
+ const status = tokens[i++];
5
+ if (!status)
6
+ continue;
7
+ const code = status[0];
8
+ const first = tokens[i++];
9
+ if ((code === "R" || code === "C") && i < tokens.length)
10
+ result.push({ status, oldPath: first, path: tokens[i++] });
11
+ else
12
+ result.push({ status, path: first });
13
+ } return result; }
14
+ export async function createEditorWorktree(git, repo, taskId, nodeId, baseSha, root) { const safe = (value) => value.replace(/[^a-zA-Z0-9._-]/g, "-"); const branch = "orch/" + safe(taskId) + "/" + safe(nodeId); const path = root + "/" + safe(taskId) + "-" + safe(nodeId); const result = await git.run(["worktree", "add", "-b", branch, path, baseSha], repo); if (result.exitCode !== 0)
15
+ throw new Error(result.stderr || "git worktree add failed"); return { path, branch }; }
16
+ export async function assertCommitDescendsFromBase(git, repo, baseSha, commitSha) { const result = await git.run(["merge-base", "--is-ancestor", baseSha, commitSha], repo); if (result.exitCode !== 0)
17
+ throw new Error("commit is not descended from base: " + commitSha); }
18
+ export async function integrateValidatedCommits(git, repo, commits) { for (const commit of commits) {
19
+ const result = await git.run(["cherry-pick", commit], repo);
20
+ if (result.exitCode !== 0) {
21
+ await git.run(["cherry-pick", "--abort"], repo);
22
+ throw new Error("cherry-pick conflict for " + commit + ": " + result.stderr);
23
+ }
24
+ } }
25
+ export async function collectCommitChanges(git, repo, baseSha, commitSha) { const result = await git.run(["diff", "--name-status", "-z", "--find-renames", baseSha + "..." + commitSha], repo); if (result.exitCode !== 0)
26
+ throw new Error(result.stderr || "git diff failed"); return parseNameStatusZ(result.stdout); }
27
+ //# sourceMappingURL=worktrees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktrees.js","sourceRoot":"","sources":["../../src/orchestration/worktrees.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ export async function detectMcpPresence(configDirectory = openCodeConfigDirector
71
71
  export async function formatPluginStatus(status) {
72
72
  const mcp = Object.entries({ ...status.mcp })
73
73
  .sort(([a], [b]) => a.localeCompare(b))
74
- .map(([name, present]) => ` ${name.padEnd(24)} ${present ? "connected" : "not configured"}`)
74
+ .map(([name, present]) => ` ${name.padEnd(24)} ${present ? "configured" : "not configured"}`)
75
75
  .join("\n");
76
76
  return [
77
77
  "OpenCode Orchestra plugin status",
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-status.js","sourceRoot":"","sources":["../src/plugin-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-status.js","sourceRoot":"","sources":["../src/plugin-status.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { readFile } from "node:fs/promises";
2
2
  const FALLBACK_LEAD = `You are orch-lead, an evidence-driven primary implementation agent.
3
3
  Classify the task by intellectual work profile, dispatch the smallest useful specialist team, synthesize their evidence, implement the requested change, and verify it.
4
4
  Use workers for independent evidence, not ceremonial duplication. Never invoke yourself or bypass user instructions, active skills, plans, TDD, or review workflows.
5
- Escalate to orch-judge only for critical risk or unresolved disagreement. For implementation tasks, continue through editing and verification instead of stopping at a handoff.`;
5
+ Escalate to orch-judge only for critical risk or unresolved disagreement. For implementation tasks, continue through editing and verification instead of stopping at a handoff. Parallel editors require explicit non-overlapping ownership, one experimental git worktree per editor, git-derived diff validation, and a single integrator; retain worktrees on failure.`;
6
6
  const FALLBACK_JUDGE = `You are orch-judge, a costly independent arbiter.
7
7
  You receive conflicting worker findings. Inspect only the evidence needed to resolve the disagreement.
8
8
  Do not delegate and do not edit. State which claims are supported, which are rejected, remaining uncertainty, and the safest recommendation.`;
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/prompts/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,aAAa,GAAG;;;gLAG0J,CAAA;AAEhL,MAAM,cAAc,GAAG;;6IAEsH,CAAA;AAE7I,KAAK,UAAU,UAAU,CAAC,YAAoB,EAAE,QAAgB;IAC9D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,iBAAiB,YAAY,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrE,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC;QACpC,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC;KACvC,CAAC,CAAA;IACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/prompts/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,aAAa,GAAG;;;0WAGoV,CAAA;AAE1W,MAAM,cAAc,GAAG;;6IAEsH,CAAA;AAE7I,KAAK,UAAU,UAAU,CAAC,YAAoB,EAAE,QAAgB;IAC9D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,iBAAiB,YAAY,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrE,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC;QACpC,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC;KACvC,CAAC,CAAA;IACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,CAAC"}
@@ -5,7 +5,13 @@ export interface PlanNode {
5
5
  description: string;
6
6
  worker: string;
7
7
  dependsOn: string[];
8
- role: "specialist" | "reviewer" | "merger";
8
+ role: "specialist" | "reviewer" | "merger" | "editor" | "integrator";
9
+ ownership?: string[];
10
+ worktree?: {
11
+ branch: string;
12
+ path: string;
13
+ baseRevision: string;
14
+ };
9
15
  }
10
16
  export interface TaskPlan {
11
17
  nodes: PlanNode[];
@@ -13,12 +19,19 @@ export interface TaskPlan {
13
19
  levels: string[][];
14
20
  maxParallel: number;
15
21
  mergerNodeId?: string;
22
+ integratorNodeId?: string;
16
23
  }
17
24
  export interface PlanOptions {
18
25
  secondaryWorkers?: string[];
19
26
  maxNodes?: number;
20
27
  dependencyAware?: boolean;
21
28
  includeMerger?: boolean;
29
+ editorPartitions?: Array<{
30
+ id?: string;
31
+ description: string;
32
+ ownership: string[];
33
+ }>;
34
+ includeIntegrator?: boolean;
22
35
  }
23
36
  export declare function planTask(profile: ProfileName, secondaryProfiles?: ProfileName[], options?: PlanOptions): TaskPlan;
24
37
  export declare function validatePlan(plan: TaskPlan): string[];
@@ -1,3 +1,4 @@
1
+ import { validateOwnership } from "../orchestration/ownership.js";
1
2
  const PROFILE_WORKERS = {
2
3
  architecture: ["orch-repo", "orch-research", "orch-critic"],
3
4
  debug: ["orch-repo", "orch-tests", "orch-critic"],
@@ -64,7 +65,25 @@ export function planTask(profile, secondaryProfiles = [], options = {}) {
64
65
  nodes.push({ id: mergerNodeId, description: "Merge all completed specialist outputs into one evidence-backed handoff, preserving conflicts and provenance.", worker: "orch-merge", dependsOn: evidence, role: "merger" });
65
66
  levels.push([mergerNodeId]);
66
67
  }
67
- return { nodes, levels, maxParallel: levels.reduce((max, level) => Math.max(max, level.length), 0), ...(mergerNodeId ? { mergerNodeId } : {}) };
68
+ let integratorNodeId;
69
+ const partitions = options.editorPartitions ?? [];
70
+ if (partitions.length) {
71
+ const editorDeps = mergerNodeId ? [mergerNodeId] : evidence;
72
+ const editorIds = [];
73
+ for (let i = 0; i < partitions.length; i++) {
74
+ const partition = partitions[i];
75
+ const id = partition.id ?? "editor-" + i;
76
+ nodes.push({ id, description: partition.description, worker: "orch-editor", dependsOn: editorDeps, role: "editor", ownership: partition.ownership });
77
+ editorIds.push(id);
78
+ }
79
+ levels.push(editorIds);
80
+ if (options.includeIntegrator ?? true) {
81
+ integratorNodeId = "integrator";
82
+ nodes.push({ id: integratorNodeId, description: "Integrate validated editor commits in deterministic order.", worker: "orch-integrator", dependsOn: editorIds, role: "integrator" });
83
+ levels.push([integratorNodeId]);
84
+ }
85
+ }
86
+ return { nodes, levels, maxParallel: levels.reduce((max, level) => Math.max(max, level.length), 0), ...(mergerNodeId ? { mergerNodeId } : {}), ...(integratorNodeId ? { integratorNodeId } : {}) };
68
87
  }
69
88
  export function validatePlan(plan) {
70
89
  const byId = new Map();
@@ -72,8 +91,11 @@ export function validatePlan(plan) {
72
91
  for (const node of plan.nodes) {
73
92
  if (byId.has(node.id))
74
93
  problems.push("duplicate node " + node.id);
94
+ if (node.role === "editor" && (!node.ownership || node.ownership.length === 0))
95
+ problems.push("editor node " + node.id + " has no ownership");
75
96
  byId.set(node.id, node);
76
97
  }
98
+ problems.push(...validateOwnership(plan.nodes.filter((node) => node.role === "editor").map((node) => ({ id: node.id, paths: node.ownership ?? [] }))));
77
99
  const visiting = new Set(), visited = new Set();
78
100
  const visit = (id) => {
79
101
  if (visiting.has(id)) {