taskflow-core 0.2.3 → 0.2.5

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 (65) hide show
  1. package/dist/agents/analyst.md +2 -1
  2. package/dist/agents/critic.md +2 -1
  3. package/dist/agents/doc-writer.md +2 -1
  4. package/dist/agents/executor-code.md +2 -1
  5. package/dist/agents/executor-fast.md +2 -1
  6. package/dist/agents/executor-ui.md +2 -1
  7. package/dist/agents/executor.md +2 -1
  8. package/dist/agents/final-arbiter.md +2 -1
  9. package/dist/agents/plan-arbiter.md +2 -1
  10. package/dist/agents/planner.md +2 -1
  11. package/dist/agents/recover.md +2 -1
  12. package/dist/agents/reviewer.md +2 -1
  13. package/dist/agents/risk-reviewer.md +2 -1
  14. package/dist/agents/scout.md +2 -1
  15. package/dist/agents/security-reviewer.md +2 -1
  16. package/dist/agents/test-engineer.md +2 -1
  17. package/dist/agents/verifier.md +2 -1
  18. package/dist/agents/visual-explorer.md +2 -1
  19. package/dist/agents.d.ts +2 -0
  20. package/dist/agents.d.ts.map +1 -1
  21. package/dist/agents.js +21 -10
  22. package/dist/agents.js.map +1 -1
  23. package/dist/build-info.json +2 -2
  24. package/dist/compile.d.ts +8 -1
  25. package/dist/compile.d.ts.map +1 -1
  26. package/dist/compile.js +75 -9
  27. package/dist/compile.js.map +1 -1
  28. package/dist/exec/driver.d.ts +5 -0
  29. package/dist/exec/driver.d.ts.map +1 -1
  30. package/dist/exec/driver.js +96 -52
  31. package/dist/exec/driver.js.map +1 -1
  32. package/dist/exec/kernel-policy.d.ts.map +1 -1
  33. package/dist/exec/kernel-policy.js +20 -20
  34. package/dist/exec/kernel-policy.js.map +1 -1
  35. package/dist/exec/step-kinds.d.ts.map +1 -1
  36. package/dist/exec/step-kinds.js +59 -22
  37. package/dist/exec/step-kinds.js.map +1 -1
  38. package/dist/exec/step.d.ts.map +1 -1
  39. package/dist/exec/step.js +44 -10
  40. package/dist/exec/step.js.map +1 -1
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +1 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/runtime.d.ts +13 -0
  46. package/dist/runtime.d.ts.map +1 -1
  47. package/dist/runtime.js +60 -4
  48. package/dist/runtime.js.map +1 -1
  49. package/dist/verifiers/discover.d.ts +44 -0
  50. package/dist/verifiers/discover.d.ts.map +1 -0
  51. package/dist/verifiers/discover.js +152 -0
  52. package/dist/verifiers/discover.js.map +1 -0
  53. package/dist/verifiers/index.d.ts +12 -0
  54. package/dist/verifiers/index.d.ts.map +1 -0
  55. package/dist/verifiers/index.js +12 -0
  56. package/dist/verifiers/index.js.map +1 -0
  57. package/dist/verifiers/script-lint.d.ts +24 -0
  58. package/dist/verifiers/script-lint.d.ts.map +1 -0
  59. package/dist/verifiers/script-lint.js +311 -0
  60. package/dist/verifiers/script-lint.js.map +1 -0
  61. package/dist/verify.d.ts +55 -3
  62. package/dist/verify.d.ts.map +1 -1
  63. package/dist/verify.js +201 -2
  64. package/dist/verify.js.map +1 -1
  65. package/package.json +1 -1
@@ -13,6 +13,7 @@ import { safeParse } from "../interpolate.js";
13
13
  import { EVENT_KERNEL_PHASE_TYPES, stepPhase, } from "./step.js";
14
14
  import { foldEvents } from "./fold.js";
15
15
  import { EVENT_SCHEMA_VERSION } from "./events.js";
16
+ import { pluginVerifierErrors } from "../verify.js";
16
17
  import { clampSubFlowBudget, containsInterpolationPlaceholder, depsSatisfied, kernelUnsupportedReason, } from "./kernel-policy.js";
17
18
  export { EVENT_KERNEL_PHASE_TYPES, kernelUnsupportedReason };
18
19
  /** True when types are known AND no advanced features force imperative fall-back. */
@@ -189,6 +190,34 @@ export async function runEventKernel(state, deps) {
189
190
  blocked: false,
190
191
  };
191
192
  }
193
+ // Plugin-error verifier preflight (no-spend gate, zero-token). runNested is
194
+ // the single funnel for BOTH inline-def and saved-use child dispatch on this
195
+ // engine, so centralizing here covers every child flow (review of #84, issue
196
+ // 1). It runs BEFORE childState is created, so a blocked child never
197
+ // dispatches. Verifiers see the DECLARED child def (opts.def), not the
198
+ // budget-clamped effectiveDef, matching what the imperative path's verify
199
+ // sites observe: a budget/concurrency policy verifier must see the same
200
+ // declaration on both engines, or the event kernel would silently let a child
201
+ // it blocks on the imperative path go on to spend.
202
+ //
203
+ // Built-in graph detectors (dead-ends, unreachable, …) are intentionally NOT
204
+ // run here: this is a plugin-only gate, matching the top-level preflight's
205
+ // advisory treatment of built-ins. It costs nothing reachable — the only
206
+ // error-severity built-ins are `unreachable` and self-dependency, and neither
207
+ // can reach a dispatching event-kernel child. A flow nesting an unreachable
208
+ // child is itself kernel-ineligible (concurrent DAG layers), so it runs on the
209
+ // imperative path where the built-in detectors still run; a self-dependency is
210
+ // rejected by validateTaskflow above. (Pinned in verify-pluggable.test.ts.)
211
+ const pluginErrors = pluginVerifierErrors({ name: opts.def.name, phases: opts.def.phases, budget: opts.def.budget, concurrency: opts.def.concurrency }, deps.verifiers);
212
+ if (pluginErrors) {
213
+ return {
214
+ finalOutput: `Nested flow '${effectiveDef.name}' failed verifier preflight: ${pluginErrors.join("; ")}`,
215
+ ok: false,
216
+ usage: emptyUsage(),
217
+ events: [],
218
+ blocked: false,
219
+ };
220
+ }
192
221
  const childState = {
193
222
  // No `/` — validateRunId rejects path separators if ever persisted.
194
223
  runId: `${state.runId}-n-${effectiveDef.name.replace(/[^a-zA-Z0-9._-]/g, "_").slice(0, 40)}`,
@@ -235,20 +264,12 @@ export async function runEventKernel(state, deps) {
235
264
  for (const layer of layers) {
236
265
  if (deps.signal?.aborted)
237
266
  break;
238
- for (const phase of layer) {
239
- if (deps.signal?.aborted)
240
- break;
241
- let skipReason;
242
- if (gateBlocked)
243
- skipReason = `Gate blocked${gateReason ? `: ${gateReason}` : ""}`;
244
- else if (budgetBlocked)
245
- skipReason = `Budget exceeded${budgetReason ? `: ${budgetReason}` : ""}`;
246
- else {
247
- const dep = depsSatisfied(phase, state.phases, byId);
248
- if (!dep.ok)
249
- skipReason = dep.skipReason;
250
- }
251
- if (skipReason) {
267
+ // --- Pre-layer gate/budget check: skip the entire layer if blocked ---
268
+ if (gateBlocked || budgetBlocked) {
269
+ for (const phase of layer) {
270
+ const skipReason = gateBlocked
271
+ ? `Gate blocked${gateReason ? `: ${gateReason}` : ""}`
272
+ : `Budget exceeded${budgetReason ? `: ${budgetReason}` : ""}`;
252
273
  if (skipReason.startsWith("Budget exceeded")) {
253
274
  budgetBlocked = true;
254
275
  const be = {
@@ -262,24 +283,50 @@ export async function runEventKernel(state, deps) {
262
283
  allEvents.push(be);
263
284
  safeTraceEmit(deps, be);
264
285
  }
265
- const startedAt = Date.now();
266
286
  emitLifecycle(deps, allEvents, state.runId, phase, "skipped", skipReason);
267
287
  state.phases[phase.id] = {
268
288
  id: phase.id,
269
289
  status: "skipped",
270
290
  error: skipReason,
271
- startedAt,
291
+ startedAt: Date.now(),
272
292
  endedAt: Date.now(),
273
293
  usage: emptyUsage(),
274
294
  };
275
- continue;
276
295
  }
296
+ continue;
297
+ }
298
+ const plans = layer.map((phase) => {
299
+ const dep = depsSatisfied(phase, state.phases, byId);
300
+ return { phase, skipReason: dep.ok ? undefined : dep.skipReason };
301
+ });
302
+ // Emit skips for dep-unsatisfied phases (sequential, cheap).
303
+ for (const { phase, skipReason } of plans) {
304
+ if (!skipReason)
305
+ continue;
306
+ emitLifecycle(deps, allEvents, state.runId, phase, "skipped", skipReason);
307
+ state.phases[phase.id] = {
308
+ id: phase.id,
309
+ status: "skipped",
310
+ error: skipReason,
311
+ startedAt: Date.now(),
312
+ endedAt: Date.now(),
313
+ usage: emptyUsage(),
314
+ };
315
+ }
316
+ // --- Execute runnable phases concurrently within the layer ---
317
+ const runnable = plans.filter((p) => !p.skipReason);
318
+ if (runnable.length === 0)
319
+ continue;
320
+ const outcomes = await Promise.all(runnable.map(async ({ phase }) => {
277
321
  const startedAt = Date.now();
278
- state.phases[phase.id] = { id: phase.id, status: "running", startedAt };
279
322
  const readRefs = [];
280
323
  const promptCalls = [];
281
324
  const ctx = { state, deps: stepDeps, steps, args, readRefs, promptCalls };
282
325
  const result = await stepPhase(phase, ctx);
326
+ return { phase, result, startedAt, readRefs, promptCalls };
327
+ }));
328
+ // --- Atomic layer commit: fold all outcomes into state ---
329
+ for (const { phase, result, startedAt, readRefs } of outcomes) {
283
330
  if (!result) {
284
331
  state.phases[phase.id] = {
285
332
  id: phase.id,
@@ -318,18 +365,13 @@ export async function runEventKernel(state, deps) {
318
365
  approval: result.approval,
319
366
  warnings: result.warnings,
320
367
  ...(observedReads.length ? { reads: observedReads } : {}),
321
- // Prompt-size diagnostics (parity with imperative PhaseState.promptStats).
322
368
  ...(result.promptStats ? { promptStats: result.promptStats } : {}),
323
- // Match the imperative audit marker: an idempotent:false phase
324
- // records that its side effect may have fired, unless its guard skipped
325
- // all execution.
326
369
  ...(phase.idempotent === false && result.status !== "skipped" ? { sideEffect: true } : {}),
327
370
  ...(result.status === "timedOut" ? { timedOut: true } : {}),
328
371
  };
329
372
  if (result.status === "done" && result.output !== undefined) {
330
373
  steps[phase.id] = {
331
374
  output: result.output,
332
- // Always best-effort parse so {steps.X.json.field} works for JSON agents
333
375
  json: phaseJson ?? safeParse(result.output),
334
376
  };
335
377
  }
@@ -339,35 +381,37 @@ export async function runEventKernel(state, deps) {
339
381
  gateOutput = result.output ?? "";
340
382
  gatePhaseId = phase.id;
341
383
  }
342
- const ob = runOverBudget(state);
343
- if (ob.over) {
344
- budgetBlocked = true;
345
- budgetReason = ob.reason;
346
- const be = {
347
- v: EVENT_SCHEMA_VERSION,
348
- ts: Date.now(),
349
- runId: state.runId,
350
- phaseId: phase.id,
351
- kind: "decision",
352
- decision: { type: "budget-hit", value: "budget", reason: ob.reason },
353
- };
354
- allEvents.push(be);
355
- safeTraceEmit(deps, be);
356
- // stepPhase already flushed this phase's lifecycle batch.
357
- safeTraceFlush(deps, phase.id);
358
- }
359
- try {
360
- deps.persist?.(state);
361
- }
362
- catch {
363
- /* fail-open */
364
- }
365
- try {
366
- deps.onProgress?.(state);
367
- }
368
- catch {
369
- /* fail-open */
370
- }
384
+ }
385
+ // --- Post-layer budget check ---
386
+ const ob = runOverBudget(state);
387
+ if (ob.over) {
388
+ budgetBlocked = true;
389
+ budgetReason = ob.reason;
390
+ // Attribute the budget-hit to the last phase in the layer.
391
+ const lastPhase = layer[layer.length - 1];
392
+ const be = {
393
+ v: EVENT_SCHEMA_VERSION,
394
+ ts: Date.now(),
395
+ runId: state.runId,
396
+ phaseId: lastPhase.id,
397
+ kind: "decision",
398
+ decision: { type: "budget-hit", value: "budget", reason: ob.reason },
399
+ };
400
+ allEvents.push(be);
401
+ safeTraceEmit(deps, be);
402
+ safeTraceFlush(deps, lastPhase.id);
403
+ }
404
+ try {
405
+ deps.persist?.(state);
406
+ }
407
+ catch {
408
+ /* fail-open */
409
+ }
410
+ try {
411
+ deps.onProgress?.(state);
412
+ }
413
+ catch {
414
+ /* fail-open */
371
415
  }
372
416
  }
373
417
  // Soft fold drift check
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/exec/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/exec/driver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-policy.d.ts","sourceRoot":"","sources":["../../src/exec/kernel-policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C;;;;;;2DAM2D;AAC3D,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CA2BvE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAiFzE;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAC5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,EACtD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GACtB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBtC;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,QAAQ,EACb,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,KAAK,GAAE,UAAyB,GAC9B,QAAQ,CAmBV;AAED;;;0EAG0E;AAC1E,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,SAAS,UAAU,EAAE,GACjC,OAAO,CAaT"}
1
+ {"version":3,"file":"kernel-policy.d.ts","sourceRoot":"","sources":["../../src/exec/kernel-policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C;;;;;;2DAM2D;AAC3D,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CA2BvE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAoFzE;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAC5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,EACtD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GACtB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBtC;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,QAAQ,EACb,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,KAAK,GAAE,UAAyB,GAC9B,QAAQ,CAmBV;AAED;;;0EAG0E;AAC1E,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,SAAS,UAAU,EAAE,GACjC,OAAO,CAaT"}
@@ -2,7 +2,7 @@
2
2
  * Feature gates and shared helpers for the S2 event kernel.
3
3
  * Keeps the kernel from silently accepting DSL it cannot implement safely.
4
4
  */
5
- import { dependenciesOf, topoLayers } from "../schema.js";
5
+ import { dependenciesOf } from "../schema.js";
6
6
  import { emptyUsage } from "../usage.js";
7
7
  import { overBudget } from "../deterministic.js";
8
8
  /** Linear-time placeholder detection for untrusted DSL strings.
@@ -69,10 +69,12 @@ export function kernelUnsupportedReason(def) {
69
69
  if ((p.type ?? "agent") === "reduce" && p.reduceStrategy === "tree") {
70
70
  return `phase '${id}': reduceStrategy 'tree' requires the imperative runtime`;
71
71
  }
72
- // Explicit multi-attempt retry / expect contracts: kernel lacks full policy yet.
73
- if (p.retry && typeof p.retry === "object" && (p.retry.max ?? 0) > 0) {
74
- return `phase '${id}': retry requires the imperative runtime`;
75
- }
72
+ // Explicit multi-attempt retry: now supported on the kernel path (0.2.4).
73
+ // The retry curve is handled in step.ts runOneAgent and step-kinds.ts
74
+ // runAgentCall.
75
+ // expect contracts remain imperative-only (0.2.4): the contract-violation
76
+ // retry loop (contractViolations + runOne integration) is not yet ported
77
+ // to the kernel step handlers.
76
78
  if (p.expect !== undefined) {
77
79
  return `phase '${id}': expect contracts require the imperative runtime`;
78
80
  }
@@ -85,19 +87,22 @@ export function kernelUnsupportedReason(def) {
85
87
  if (p.shareContext === true || def.contextSharing === true) {
86
88
  return `phase '${id}': Shared Context Tree requires the imperative runtime`;
87
89
  }
88
- if (p.context && p.context.length > 0) {
89
- return `phase '${id}': context pre-read requires the imperative runtime`;
90
- }
91
- // Every phase-local cwd (literal or isolated keyword) is imperative-only.
92
- // The kernel currently has only one flow-level cwd; accepting a literal
93
- // override would silently run in the wrong workspace.
90
+ // Context pre-read: now supported on the kernel path (0.2.4).
91
+ // step-kinds.ts reads context files and prepends them to the prompt.
92
+ // Per-phase cwd: literal string cwd is now supported on the kernel path
93
+ // (0.2.4). Interpolation placeholder cwds ({args.*}, {steps.*}) and
94
+ // workspace keywords (temp/dedicated/worktree) remain imperative-only.
94
95
  const cwd = p.cwd;
95
- if (typeof cwd === "string") {
96
+ if (typeof cwd === "string" && (containsInterpolationPlaceholder(cwd) || /^(temp|dedicated|worktree)$/.test(cwd))) {
96
97
  return `phase '${id}': workspace cwd '${cwd}' requires the imperative runtime`;
97
98
  }
99
+ // Per-branch cwd remains imperative-only (the kernel has no branch-level
100
+ // cwd resolution for parallel/tournament/race branches).
98
101
  if (Array.isArray(p.branches) && p.branches.some((branch) => typeof branch.cwd === "string")) {
99
102
  return `phase '${id}': per-branch cwd requires the imperative runtime`;
100
103
  }
104
+ // Script stdin input and interpolated script argv remain imperative-only
105
+ // (they require the full interpolation + spawn pipeline).
101
106
  if ((p.type ?? "agent") === "script" && p.input !== undefined) {
102
107
  return `phase '${id}': script stdin input requires the imperative runtime`;
103
108
  }
@@ -105,14 +110,9 @@ export function kernelUnsupportedReason(def) {
105
110
  return `phase '${id}': interpolated script argv requires the imperative runtime`;
106
111
  }
107
112
  }
108
- // The imperative scheduler runs independent phases concurrently. Until the
109
- // event driver has an atomic layer commit, admit only linear layers; this
110
- // prevents a completed gate/budget decision from incorrectly skipping an
111
- // independent sibling that should already have been in flight.
112
- const layers = topoLayers(def.phases ?? []);
113
- if (layers.some((layer) => layer.length > 1)) {
114
- return "concurrent DAG layers require the imperative runtime";
115
- }
113
+ // Concurrent DAG layers are now supported (0.2.4): the driver executes
114
+ // phases within a layer concurrently via Promise.all and commits atomically
115
+ // at layer boundaries. Gate/budget decisions are checked between layers.
116
116
  // A fan-out budget guard must stop spawning items as spend accumulates. The
117
117
  // kernel aggregates only after the whole node today, so budgeted fan-out is
118
118
  // deliberately routed to the imperative implementation.
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-policy.js","sourceRoot":"","sources":["../../src/exec/kernel-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel-policy.js","sourceRoot":"","sources":["../../src/exec/kernel-policy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"step-kinds.d.ts","sourceRoot":"","sources":["../../src/exec/step-kinds.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAYpD,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAI1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGzD,KAAK,UAAU,GAAG;IACjB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACtF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;CACxC,CAAC;AAoKF;;;oFAGoF;AACpF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAM7E;AAgBD;uEACuE;AACvE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;IACpD,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB,CASA;AA+CD,wCAAwC;AACxC,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAoC3F;AAED,yFAAyF;AACzF,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAsFzF;AAED,yEAAyE;AACzE,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8C7F;AAED,sFAAsF;AACtF,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkEzF;AAED,sCAAsC;AACtC,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA+F/F;AAED,uEAAuE;AACvE,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8IzF"}
1
+ {"version":3,"file":"step-kinds.d.ts","sourceRoot":"","sources":["../../src/exec/step-kinds.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAapD,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAI1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGzD,KAAK,UAAU,GAAG;IACjB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACtF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;CACxC,CAAC;AAgNF;;;oFAGoF;AACpF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAM7E;AAgBD;uEACuE;AACvE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;IACpD,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB,CASA;AA+CD,wCAAwC;AACxC,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAoC3F;AAED,yFAAyF;AACzF,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAsFzF;AAED,yEAAyE;AACzE,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8C7F;AAED,sFAAsF;AACtF,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkEzF;AAED,sCAAsC;AACtC,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA+F/F;AAED,uEAAuE;AACvE,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAuIzF"}
@@ -5,12 +5,13 @@
5
5
  * Intentionally does not import runtime.ts. Nested flows go through
6
6
  * `StepDeps.runNested` (injected by driver).
7
7
  */
8
+ import { readFileSync } from "node:fs";
9
+ import { resolve as resolvePath } from "node:path";
8
10
  import { LOOP_DEFAULT_MAX_ITERATIONS, LOOP_HARD_MAX_ITERATIONS, MAX_DYNAMIC_NESTING, TOURNAMENT_DEFAULT_VARIANTS, TOURNAMENT_HARD_MAX_VARIANTS, asArray, validateTaskflow, } from "../schema.js";
9
11
  import { parseGateVerdict, parseTournamentWinner } from "../deterministic.js";
10
- import { verifyTaskflow } from "../verify.js";
11
12
  import { aggregateUsage, emptyUsage } from "../usage.js";
12
13
  import { evaluateCondition, interpolate, interpolateValue, safeParse, tryEvaluateCondition } from "../interpolate.js";
13
- import { clampSubFlowBudget, kernelAttemptsOverBudget } from "./kernel-policy.js";
14
+ import { kernelAttemptsOverBudget } from "./kernel-policy.js";
14
15
  import { abortableDelay, isFailed as isFailedResult, isTransientError, mapWithConcurrencyLimit, PHASE_TIMEOUT_ABORT_GRACE_MS } from "../runner-core.js";
15
16
  import { EVENT_SCHEMA_VERSION } from "./events.js";
16
17
  function baseEvent(ctx, phaseId, kind, extra = {}) {
@@ -27,9 +28,46 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
27
28
  const phaseTimeoutMs = typeof phase.timeout === "number" && Number.isFinite(phase.timeout) && phase.timeout >= 1000
28
29
  ? phase.timeout
29
30
  : undefined;
31
+ // --- Per-phase cwd resolution (0.2.4) ---
32
+ // A literal string cwd is resolved relative to the flow cwd. Workspace
33
+ // keywords (temp/dedicated/worktree) remain imperative-only.
34
+ const effCwd = typeof phase.cwd === "string" && !/^(temp|dedicated|worktree)$/.test(phase.cwd)
35
+ ? (phase.cwd.startsWith("/") ? phase.cwd : `${ctx.deps.cwd}/${phase.cwd}`)
36
+ : ctx.deps.cwd;
37
+ // --- Context pre-read (0.2.4) ---
38
+ // Read context files and prepend them to the task prompt, matching the
39
+ // imperative runtime's resolvePhaseContext behavior.
40
+ let effectiveTask = task;
41
+ if (Array.isArray(phase.context) && phase.context.length > 0) {
42
+ const contextParts = [];
43
+ for (const file of phase.context) {
44
+ if (typeof file !== "string")
45
+ continue;
46
+ try {
47
+ const filePath = resolvePath(effCwd, file);
48
+ const content = readFileSync(filePath, "utf8");
49
+ contextParts.push(`<context file="${file}">\n${content}\n</context>`);
50
+ }
51
+ catch {
52
+ contextParts.push(`<context file="${file}">\n[file not found or unreadable]\n</context>`);
53
+ }
54
+ }
55
+ if (contextParts.length > 0) {
56
+ effectiveTask = `${contextParts.join("\n\n")}\n\n${task}`;
57
+ }
58
+ }
59
+ // --- Explicit retry support (0.2.4) ---
60
+ // The imperative runtime supports phase.retry = { max, backoffMs, factor }.
61
+ // The kernel previously only did transient-error retries (up to 4 attempts).
62
+ // Now we honor the declared retry.max for ALL failures (not just transient),
63
+ // matching the imperative contract.
64
+ const retryMax = phase.retry && typeof phase.retry === "object" ? (phase.retry.max ?? 0) : 0;
65
+ const retryBackoffMs = phase.retry && typeof phase.retry === "object" ? (phase.retry.backoffMs ?? 2000) : 2000;
66
+ const retryFactor = phase.retry && typeof phase.retry === "object" ? (phase.retry.factor ?? 2) : 2;
67
+ const maxAttempts = Math.max(4, retryMax + 1); // at least 4 for transient retries
30
68
  const usages = [];
31
69
  let r;
32
- for (let attempt = 0; attempt < 4; attempt++) {
70
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
33
71
  if (ctx.deps.signal?.aborted)
34
72
  break;
35
73
  let timedOut = false;
@@ -60,12 +98,12 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
60
98
  timer = undefined;
61
99
  }
62
100
  };
63
- ctx.promptCalls?.push(task);
64
- const invocation = ctx.deps.runTask(ctx.deps.cwd, ctx.deps.agents, agentName, task, {
101
+ ctx.promptCalls?.push(effectiveTask);
102
+ const invocation = ctx.deps.runTask(effCwd, ctx.deps.agents, agentName, effectiveTask, {
65
103
  model: phase.model,
66
104
  thinking: phase.thinking,
67
105
  tools: phase.tools,
68
- cwd: ctx.deps.cwd,
106
+ cwd: effCwd,
69
107
  signal: callSignal,
70
108
  idleTimeoutMs: resolveIdleMs(phase, ctx.state.def),
71
109
  onTerminalCommit,
@@ -79,7 +117,7 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
79
117
  timeoutController?.abort();
80
118
  forceReturnTimer = setTimeout(() => resolve({
81
119
  agent: agentName,
82
- task,
120
+ task: effectiveTask,
83
121
  exitCode: 1,
84
122
  output: "",
85
123
  stderr: "",
@@ -120,9 +158,15 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
120
158
  break;
121
159
  if (kernelAttemptsOverBudget(ctx.state, phase.id, usages))
122
160
  break;
123
- if (r.phaseTimeout || phase.idempotent === false || !isTransientError(r) || attempt >= 3)
161
+ if (r.phaseTimeout || phase.idempotent === false)
124
162
  break;
125
- const wait = Math.min(60_000, (phase.retry?.backoffMs ?? 2_000) * 2 ** attempt);
163
+ // Explicit retry: retry ALL failures up to retryMax, not just transient.
164
+ const isTransient = isTransientError(r);
165
+ const withinExplicitRetry = attempt < retryMax;
166
+ const withinTransientRetry = isTransient && attempt < 3;
167
+ if (!withinExplicitRetry && !withinTransientRetry)
168
+ break;
169
+ const wait = Math.min(60_000, retryBackoffMs * retryFactor ** attempt);
126
170
  await abortableDelay(wait, ctx.deps.signal);
127
171
  }
128
172
  if (!r) {
@@ -605,19 +649,12 @@ export async function executeFlowBody(phase, ctx) {
605
649
  if (!v.ok) {
606
650
  return { midEvents: [], output: "", status: "done", usage: emptyUsage() };
607
651
  }
608
- const ver = verifyTaskflow({
609
- name: wrapped.name,
610
- phases: wrapped.phases,
611
- budget: wrapped.budget,
612
- concurrency: wrapped.concurrency,
613
- });
614
- if (!ver.ok) {
615
- const errs = ver.issues.filter((i) => i.severity === "error");
616
- if (errs.length) {
617
- return { midEvents: [], output: "", status: "done", usage: emptyUsage() };
618
- }
619
- }
620
- subDef = clampSubFlowBudget(wrapped, ctx.state.def.budget);
652
+ // Pass the DECLARED def (unclamped). runNested clamps to effectiveDef
653
+ // internally for dispatch, and its verifier preflight inspects opts.def — so
654
+ // this makes the event kernel verify the same declared budget/concurrency
655
+ // the imperative path verifies (wrapped), keeping the no-spend gate at parity
656
+ // across engines (review of #84, issue 1).
657
+ subDef = wrapped;
621
658
  recursionKey = `def:${subDef.name}`;
622
659
  }
623
660
  else {