orquesta-cli 0.2.102 → 0.2.103

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.
@@ -47,10 +47,13 @@ export function planWaves(todos) {
47
47
  }
48
48
  function buildWorkerMessages(ctx) {
49
49
  const upstreamSection = Object.keys(ctx.upstreamOutputs).length > 0
50
- ? `\n\nUpstream task outputs (your dependencies):\n${Object.entries(ctx.upstreamOutputs)
50
+ ? `\n\nFindings from already-completed tasks (REUSE these — do not re-discover what they already found, e.g. file locations):\n${Object.entries(ctx.upstreamOutputs)
51
51
  .map(([id, out]) => `- [${id}] ${truncate(out, 800)}`)
52
52
  .join('\n')}`
53
53
  : '';
54
+ const siblingSection = ctx.siblingTitles && ctx.siblingTitles.length > 0
55
+ ? `\n\nRunning in parallel RIGHT NOW (other workers own these — do NOT do their work, and avoid redundant whole-repo scans they'd also run):\n${ctx.siblingTitles.map(t => `- ${t}`).join('\n')}`
56
+ : '';
54
57
  const cwdNote = ctx.workingDirectory && ctx.workingDirectory !== process.cwd()
55
58
  ? `\n\nIMPORTANT: Run all filesystem and shell operations from this directory: ${ctx.workingDirectory}\nDO NOT cd elsewhere.`
56
59
  : '';
@@ -60,7 +63,7 @@ function buildWorkerMessages(ctx) {
60
63
  role: 'user',
61
64
  content: `Execute ONLY this single task and then call final_response with a short summary of what you did. Do not start other tasks.
62
65
 
63
- Task [${ctx.todo.id}]: ${ctx.todo.title}${upstreamSection}${cwdNote}`,
66
+ Task [${ctx.todo.id}]: ${ctx.todo.title}${upstreamSection}${siblingSection}${cwdNote}`,
64
67
  },
65
68
  ];
66
69
  }
@@ -197,17 +200,15 @@ export async function runParallelGraph(opts) {
197
200
  }
198
201
  }
199
202
  }
203
+ const priorFindings = { ...outputs };
200
204
  const settled = await Promise.allSettled(batch.map(t => runWorker({
201
205
  todo: todoById.get(t.id),
202
206
  sessionId,
203
207
  llmClient,
204
208
  baseSystemPrompt,
205
209
  executorModel,
206
- upstreamOutputs: (t.dependsOn ?? []).reduce((acc, depId) => {
207
- if (outputs[depId])
208
- acc[depId] = outputs[depId];
209
- return acc;
210
- }, {}),
210
+ upstreamOutputs: priorFindings,
211
+ siblingTitles: batch.filter(s => s.id !== t.id).map(s => todoById.get(s.id).title),
211
212
  workingDirectory: allocations.get(t.id),
212
213
  })));
213
214
  for (let k = 0; k < settled.length; k++) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orquesta-cli",
3
- "version": "0.2.102",
3
+ "version": "0.2.103",
4
4
  "description": "Orquesta CLI - AI-powered coding assistant with team collaboration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",