taskflow-core 0.2.0 → 0.2.1

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 (121) hide show
  1. package/README.md +247 -862
  2. package/dist/agents.d.ts +12 -0
  3. package/dist/agents.d.ts.map +1 -1
  4. package/dist/agents.js +29 -1
  5. package/dist/agents.js.map +1 -1
  6. package/dist/cwd-bridge.d.ts +61 -0
  7. package/dist/cwd-bridge.d.ts.map +1 -0
  8. package/dist/cwd-bridge.js +136 -0
  9. package/dist/cwd-bridge.js.map +1 -0
  10. package/dist/detached-runner.js +31 -5
  11. package/dist/detached-runner.js.map +1 -1
  12. package/dist/exec/driver.d.ts +1 -0
  13. package/dist/exec/driver.d.ts.map +1 -1
  14. package/dist/exec/driver.js +15 -2
  15. package/dist/exec/driver.js.map +1 -1
  16. package/dist/exec/step-kinds.d.ts.map +1 -1
  17. package/dist/exec/step-kinds.js +28 -3
  18. package/dist/exec/step-kinds.js.map +1 -1
  19. package/dist/exec/step.d.ts +1 -0
  20. package/dist/exec/step.d.ts.map +1 -1
  21. package/dist/exec/step.js +18 -0
  22. package/dist/exec/step.js.map +1 -1
  23. package/dist/flowir/compile.d.ts.map +1 -1
  24. package/dist/flowir/compile.js +13 -0
  25. package/dist/flowir/compile.js.map +1 -1
  26. package/dist/host/runner-types.d.ts +16 -0
  27. package/dist/host/runner-types.d.ts.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +6 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/interpolate.d.ts +4 -0
  33. package/dist/interpolate.d.ts.map +1 -1
  34. package/dist/interpolate.js +14 -0
  35. package/dist/interpolate.js.map +1 -1
  36. package/dist/resources/authority.d.ts +35 -0
  37. package/dist/resources/authority.d.ts.map +1 -0
  38. package/dist/resources/authority.js +67 -0
  39. package/dist/resources/authority.js.map +1 -0
  40. package/dist/resources/backend.d.ts +302 -0
  41. package/dist/resources/backend.d.ts.map +1 -0
  42. package/dist/resources/backend.js +16 -0
  43. package/dist/resources/backend.js.map +1 -0
  44. package/dist/resources/baseline.d.ts +116 -0
  45. package/dist/resources/baseline.d.ts.map +1 -0
  46. package/dist/resources/baseline.js +447 -0
  47. package/dist/resources/baseline.js.map +1 -0
  48. package/dist/resources/canonical-json.d.ts +7 -0
  49. package/dist/resources/canonical-json.d.ts.map +1 -0
  50. package/dist/resources/canonical-json.js +75 -0
  51. package/dist/resources/canonical-json.js.map +1 -0
  52. package/dist/resources/errors.d.ts +23 -0
  53. package/dist/resources/errors.d.ts.map +1 -0
  54. package/dist/resources/errors.js +89 -0
  55. package/dist/resources/errors.js.map +1 -0
  56. package/dist/resources/execution.d.ts +90 -0
  57. package/dist/resources/execution.d.ts.map +1 -0
  58. package/dist/resources/execution.js +581 -0
  59. package/dist/resources/execution.js.map +1 -0
  60. package/dist/resources/index.d.ts +15 -0
  61. package/dist/resources/index.d.ts.map +1 -0
  62. package/dist/resources/index.js +15 -0
  63. package/dist/resources/index.js.map +1 -0
  64. package/dist/resources/journal.d.ts +138 -0
  65. package/dist/resources/journal.d.ts.map +1 -0
  66. package/dist/resources/journal.js +438 -0
  67. package/dist/resources/journal.js.map +1 -0
  68. package/dist/resources/leases.d.ts +51 -0
  69. package/dist/resources/leases.d.ts.map +1 -0
  70. package/dist/resources/leases.js +354 -0
  71. package/dist/resources/leases.js.map +1 -0
  72. package/dist/resources/permits.d.ts +52 -0
  73. package/dist/resources/permits.d.ts.map +1 -0
  74. package/dist/resources/permits.js +240 -0
  75. package/dist/resources/permits.js.map +1 -0
  76. package/dist/resources/persistence.d.ts +63 -0
  77. package/dist/resources/persistence.d.ts.map +1 -0
  78. package/dist/resources/persistence.js +522 -0
  79. package/dist/resources/persistence.js.map +1 -0
  80. package/dist/resources/registry.d.ts +56 -0
  81. package/dist/resources/registry.d.ts.map +1 -0
  82. package/dist/resources/registry.js +139 -0
  83. package/dist/resources/registry.js.map +1 -0
  84. package/dist/resources/resolve.d.ts +49 -0
  85. package/dist/resources/resolve.d.ts.map +1 -0
  86. package/dist/resources/resolve.js +309 -0
  87. package/dist/resources/resolve.js.map +1 -0
  88. package/dist/resources/sandbox.d.ts +72 -0
  89. package/dist/resources/sandbox.d.ts.map +1 -0
  90. package/dist/resources/sandbox.js +952 -0
  91. package/dist/resources/sandbox.js.map +1 -0
  92. package/dist/resources/schema.d.ts +195 -0
  93. package/dist/resources/schema.d.ts.map +1 -0
  94. package/dist/resources/schema.js +231 -0
  95. package/dist/resources/schema.js.map +1 -0
  96. package/dist/resources/types.d.ts +36 -0
  97. package/dist/resources/types.d.ts.map +1 -0
  98. package/dist/resources/types.js +75 -0
  99. package/dist/resources/types.js.map +1 -0
  100. package/dist/runner-core.d.ts +29 -0
  101. package/dist/runner-core.d.ts.map +1 -1
  102. package/dist/runner-core.js +311 -36
  103. package/dist/runner-core.js.map +1 -1
  104. package/dist/runtime/phases/script.d.ts.map +1 -1
  105. package/dist/runtime/phases/script.js +47 -9
  106. package/dist/runtime/phases/script.js.map +1 -1
  107. package/dist/runtime.d.ts +39 -0
  108. package/dist/runtime.d.ts.map +1 -1
  109. package/dist/runtime.js +542 -50
  110. package/dist/runtime.js.map +1 -1
  111. package/dist/schema.d.ts +68 -5
  112. package/dist/schema.d.ts.map +1 -1
  113. package/dist/schema.js +163 -22
  114. package/dist/schema.js.map +1 -1
  115. package/dist/store.d.ts +7 -0
  116. package/dist/store.d.ts.map +1 -1
  117. package/dist/store.js.map +1 -1
  118. package/dist/trace.d.ts +3 -0
  119. package/dist/trace.d.ts.map +1 -1
  120. package/dist/trace.js.map +1 -1
  121. package/package.json +3 -2
package/dist/schema.d.ts CHANGED
@@ -129,20 +129,78 @@ declare const PhaseSchema: Type.TObject<{
129
129
  }>>;
130
130
  shareContext: Type.TOptional<Type.TBoolean>;
131
131
  }>;
132
- declare const ArgSpecSchema: Type.TObject<{
132
+ declare const ArgSpecSchema: Type.TUnion<[Type.TObject<{
133
+ type: Type.TOptional<Type.TNever>;
133
134
  default: Type.TOptional<Type.TUnknown>;
134
135
  description: Type.TOptional<Type.TString>;
135
136
  required: Type.TOptional<Type.TBoolean>;
136
- }>;
137
+ }>, Type.TObject<{
138
+ type: Type.TLiteral<"string">;
139
+ default: Type.TOptional<Type.TString>;
140
+ description: Type.TOptional<Type.TString>;
141
+ required: Type.TOptional<Type.TBoolean>;
142
+ }>, Type.TObject<{
143
+ type: Type.TLiteral<"relative-path">;
144
+ default: Type.TOptional<Type.TString>;
145
+ description: Type.TOptional<Type.TString>;
146
+ required: Type.TOptional<Type.TBoolean>;
147
+ }>, Type.TObject<{
148
+ type: Type.TLiteral<"number">;
149
+ default: Type.TOptional<Type.TNumber>;
150
+ minimum: Type.TOptional<Type.TNumber>;
151
+ maximum: Type.TOptional<Type.TNumber>;
152
+ description: Type.TOptional<Type.TString>;
153
+ required: Type.TOptional<Type.TBoolean>;
154
+ }>, Type.TObject<{
155
+ type: Type.TLiteral<"boolean">;
156
+ default: Type.TOptional<Type.TBoolean>;
157
+ description: Type.TOptional<Type.TString>;
158
+ required: Type.TOptional<Type.TBoolean>;
159
+ }>, Type.TObject<{
160
+ type: Type.TLiteral<"enum">;
161
+ values: Type.TArray<Type.TUnion<[Type.TString, Type.TNumber]>>;
162
+ default: Type.TOptional<Type.TUnion<[Type.TString, Type.TNumber]>>;
163
+ description: Type.TOptional<Type.TString>;
164
+ required: Type.TOptional<Type.TBoolean>;
165
+ }>]>;
137
166
  export declare const TaskflowSchema: Type.TObject<{
138
167
  name: Type.TString;
139
168
  description: Type.TOptional<Type.TString>;
140
169
  version: Type.TOptional<Type.TNumber>;
141
- args: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
170
+ args: Type.TOptional<Type.TRecord<"^.*$", Type.TUnion<[Type.TObject<{
171
+ type: Type.TOptional<Type.TNever>;
142
172
  default: Type.TOptional<Type.TUnknown>;
143
173
  description: Type.TOptional<Type.TString>;
144
174
  required: Type.TOptional<Type.TBoolean>;
145
- }>>>;
175
+ }>, Type.TObject<{
176
+ type: Type.TLiteral<"string">;
177
+ default: Type.TOptional<Type.TString>;
178
+ description: Type.TOptional<Type.TString>;
179
+ required: Type.TOptional<Type.TBoolean>;
180
+ }>, Type.TObject<{
181
+ type: Type.TLiteral<"relative-path">;
182
+ default: Type.TOptional<Type.TString>;
183
+ description: Type.TOptional<Type.TString>;
184
+ required: Type.TOptional<Type.TBoolean>;
185
+ }>, Type.TObject<{
186
+ type: Type.TLiteral<"number">;
187
+ default: Type.TOptional<Type.TNumber>;
188
+ minimum: Type.TOptional<Type.TNumber>;
189
+ maximum: Type.TOptional<Type.TNumber>;
190
+ description: Type.TOptional<Type.TString>;
191
+ required: Type.TOptional<Type.TBoolean>;
192
+ }>, Type.TObject<{
193
+ type: Type.TLiteral<"boolean">;
194
+ default: Type.TOptional<Type.TBoolean>;
195
+ description: Type.TOptional<Type.TString>;
196
+ required: Type.TOptional<Type.TBoolean>;
197
+ }>, Type.TObject<{
198
+ type: Type.TLiteral<"enum">;
199
+ values: Type.TArray<Type.TUnion<[Type.TString, Type.TNumber]>>;
200
+ default: Type.TOptional<Type.TUnion<[Type.TString, Type.TNumber]>>;
201
+ description: Type.TOptional<Type.TString>;
202
+ required: Type.TOptional<Type.TBoolean>;
203
+ }>]>>>;
146
204
  concurrency: Type.TOptional<Type.TNumber>;
147
205
  budget: Type.TOptional<Type.TObject<{
148
206
  maxUSD: Type.TOptional<Type.TNumber>;
@@ -266,9 +324,14 @@ export interface ValidationOptions {
266
324
  strict?: boolean;
267
325
  /** When true, this flow is a runtime-generated (`flow { def }`) sub-flow whose
268
326
  * content is LLM-authored / untrusted. Enables hardening checks: breadth caps
269
- * (phase count, map items, concurrency) and cwd containment under `cwd`. */
327
+ * (phase count, map items, concurrency) and denial of cwd/context/script
328
+ * resource capabilities until a FileBroker/sandbox exists. */
270
329
  dynamic?: boolean;
271
330
  }
331
+ /** Validate resolved invocation values independently of full flow structure.
332
+ * Runtime calls this at the Core boundary so direct, resume, and detached
333
+ * execution cannot bypass adapter-level typed-arg checks. */
334
+ export declare function validateInvocationArgs(def: Pick<Taskflow, "args">, args: Record<string, unknown>): string[];
272
335
  export declare function validateTaskflow(def: unknown, opts?: ValidationOptions): ValidationResult;
273
336
  export declare function collectRefs(phase: Phase): {
274
337
  steps: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/schema.js CHANGED
@@ -10,7 +10,7 @@ import { contractShapeErrors } from "./contract.js";
10
10
  import { scorerShapeErrors } from "./scorers.js";
11
11
  import { Type } from "typebox";
12
12
  import { Errors as SchemaErrors } from "typebox/value";
13
- import { WORKSPACE_KEYWORDS } from "./workspace.js";
13
+ import { cwdArgName, hasCwdPlaceholder, normalizeRelativePath } from "./cwd-bridge.js";
14
14
  // ---------------------------------------------------------------------------
15
15
  // Phase types
16
16
  // ---------------------------------------------------------------------------
@@ -58,8 +58,6 @@ const CACHE_SCOPES = ["run-only", "cross-run", "off"];
58
58
  const CACHE_FINGERPRINT_PREFIXES = ["git:", "glob:", "glob!:", "file:", "env:"];
59
59
  /** Phase types that must NOT be cached across runs (a fresh result is required each run). */
60
60
  const CACHE_CROSS_RUN_BLOCKED_TYPES = ["gate", "approval", "loop", "tournament", "script", "race", "expand"];
61
- /** `cwd` is a literal path / workspace keyword, not an interpolated field. */
62
- const CWD_PLACEHOLDER_RE = /\{[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*\}/;
63
61
  const ParallelTaskSchema = Type.Object({
64
62
  task: Type.String({ description: "Task for this parallel branch (supports interpolation)" }),
65
63
  agent: Type.Optional(Type.String({ description: "Override the phase agent for this branch" })),
@@ -186,7 +184,7 @@ const PhaseSchema = Type.Object({
186
184
  description: "Thinking level override for this phase. Unknown values are rejected instead of silently inheriting the host default.",
187
185
  })),
188
186
  tools: Type.Optional(Type.Array(Type.String(), { description: "Restrict tools for this phase's agent" })),
189
- cwd: Type.Optional(Type.String({ description: "Working directory for this phase's subagent. A literal path, or a reserved keyword: 'temp' (ephemeral dir, removed after the phase), 'dedicated' (persistent dir under the run state, kept), or 'worktree' (a git worktree on a throwaway branch, removed after the phase)." })),
187
+ cwd: Type.Optional(Type.String({ description: "Working directory for this phase. Accepts a literal path; a reserved keyword ('temp', 'dedicated', 'worktree'); or the exact whole placeholder {args.X} when X is declared type:'relative-path'. The 0.2.1 argument bridge requires an explicit host resolve-only opt-in." })),
190
188
  final: Type.Optional(Type.Boolean({ description: "Mark this phase's output as the workflow result" })),
191
189
  optional: Type.Optional(Type.Boolean({ description: "If true, a failure does not abort the run", default: false })),
192
190
  idempotent: Type.Optional(Type.Boolean({
@@ -216,11 +214,53 @@ const PhaseSchema = Type.Object({
216
214
  description: "Opt into the Shared Context Tree for this phase: the subagent gets ctx_read/ctx_write (a blackboard shared with siblings/ancestors, to avoid re-reading files) and ctx_report/ctx_spawn (report upward + queue child tasks the runtime picks up). Default false — existing flows are unaffected.",
217
215
  })),
218
216
  }, { additionalProperties: false });
219
- const ArgSpecSchema = Type.Object({
217
+ const LegacyArgSpecSchema = Type.Object({
218
+ type: Type.Optional(Type.Never()),
220
219
  default: Type.Optional(Type.Unknown()),
221
220
  description: Type.Optional(Type.String()),
222
221
  required: Type.Optional(Type.Boolean()),
223
222
  }, { additionalProperties: false });
223
+ const StringArgSpecSchema = Type.Object({
224
+ type: Type.Literal("string"),
225
+ default: Type.Optional(Type.String()),
226
+ description: Type.Optional(Type.String()),
227
+ required: Type.Optional(Type.Boolean()),
228
+ }, { additionalProperties: false });
229
+ const RelativePathArgSpecSchema = Type.Object({
230
+ type: Type.Literal("relative-path"),
231
+ default: Type.Optional(Type.String()),
232
+ description: Type.Optional(Type.String()),
233
+ required: Type.Optional(Type.Boolean()),
234
+ }, { additionalProperties: false });
235
+ const NumberArgSpecSchema = Type.Object({
236
+ type: Type.Literal("number"),
237
+ default: Type.Optional(Type.Number()),
238
+ minimum: Type.Optional(Type.Number()),
239
+ maximum: Type.Optional(Type.Number()),
240
+ description: Type.Optional(Type.String()),
241
+ required: Type.Optional(Type.Boolean()),
242
+ }, { additionalProperties: false });
243
+ const BooleanArgSpecSchema = Type.Object({
244
+ type: Type.Literal("boolean"),
245
+ default: Type.Optional(Type.Boolean()),
246
+ description: Type.Optional(Type.String()),
247
+ required: Type.Optional(Type.Boolean()),
248
+ }, { additionalProperties: false });
249
+ const EnumArgSpecSchema = Type.Object({
250
+ type: Type.Literal("enum"),
251
+ values: Type.Array(Type.Union([Type.String(), Type.Number()]), { minItems: 1 }),
252
+ default: Type.Optional(Type.Union([Type.String(), Type.Number()])),
253
+ description: Type.Optional(Type.String()),
254
+ required: Type.Optional(Type.Boolean()),
255
+ }, { additionalProperties: false });
256
+ const ArgSpecSchema = Type.Union([
257
+ LegacyArgSpecSchema,
258
+ StringArgSpecSchema,
259
+ RelativePathArgSpecSchema,
260
+ NumberArgSpecSchema,
261
+ BooleanArgSpecSchema,
262
+ EnumArgSpecSchema,
263
+ ]);
224
264
  export const TaskflowSchema = Type.Object({
225
265
  name: Type.String({ minLength: 1, description: "Workflow name (becomes /tf:<name> command when saved)" }),
226
266
  description: Type.Optional(Type.String()),
@@ -370,6 +410,58 @@ export function parseTtlMs(ttl) {
370
410
  const mult = { ms: 1, s: 1000, m: 60_000, h: 3_600_000, d: 86_400_000 };
371
411
  return n * mult[unit];
372
412
  }
413
+ function typedArgValueErrors(name, spec, value, source) {
414
+ const prefix = `Argument '${name}' ${source}`;
415
+ if (spec.type === "relative-path") {
416
+ const r = normalizeRelativePath(value);
417
+ return r.ok ? [] : [`${prefix} ${r.message}`];
418
+ }
419
+ if (spec.type === "string") {
420
+ if (typeof value !== "string")
421
+ return [`${prefix} must be a string, got ${value === null ? "null" : typeof value}`];
422
+ return [];
423
+ }
424
+ if (spec.type === "number") {
425
+ if (typeof value !== "number" || !Number.isFinite(value))
426
+ return [`${prefix} must be a finite number`];
427
+ if (spec.minimum !== undefined && value < spec.minimum)
428
+ return [`${prefix} must be >= ${spec.minimum}`];
429
+ if (spec.maximum !== undefined && value > spec.maximum)
430
+ return [`${prefix} must be <= ${spec.maximum}`];
431
+ return [];
432
+ }
433
+ if (spec.type === "boolean") {
434
+ return typeof value === "boolean" ? [] : [`${prefix} must be a boolean, got ${value === null ? "null" : typeof value}`];
435
+ }
436
+ if (spec.type === "enum") {
437
+ const values = Array.isArray(spec.values) ? spec.values : [];
438
+ return values.some((v) => Object.is(v, value)) ? [] : [`${prefix} must be one of ${JSON.stringify(values)}`];
439
+ }
440
+ return [];
441
+ }
442
+ /** Validate resolved invocation values independently of full flow structure.
443
+ * Runtime calls this at the Core boundary so direct, resume, and detached
444
+ * execution cannot bypass adapter-level typed-arg checks. */
445
+ export function validateInvocationArgs(def, args) {
446
+ const errors = [];
447
+ const specs = (def.args ?? {});
448
+ for (const [name, spec] of Object.entries(specs)) {
449
+ // Full structural validation owns malformed specs. Keep this boundary
450
+ // total so validateTaskflow() reports SchemaErrors instead of throwing
451
+ // while it performs the optional invocation-value pass.
452
+ if (typeof spec !== "object" || spec === null || Array.isArray(spec))
453
+ continue;
454
+ const typedSpec = spec;
455
+ if (!(name in args)) {
456
+ if (typedSpec.type !== undefined && typedSpec.required === true && typedSpec.default === undefined)
457
+ errors.push(`Missing required argument '${name}'`);
458
+ continue;
459
+ }
460
+ if (typedSpec.type !== undefined)
461
+ errors.push(...typedArgValueErrors(name, typedSpec, args[name], "invocation"));
462
+ }
463
+ return errors;
464
+ }
373
465
  export function validateTaskflow(def, opts = {}) {
374
466
  const errors = [];
375
467
  const warnings = [];
@@ -397,6 +489,41 @@ export function validateTaskflow(def, opts = {}) {
397
489
  errors.push("Taskflow must have at least one phase");
398
490
  return { ok: false, errors, warnings };
399
491
  }
492
+ // Typed invocation args are the trust boundary for resource selectors. Legacy
493
+ // specs remain valid for every flow version, but can never feed a cwd bridge.
494
+ // `version` is informational metadata, not a schema-version selector.
495
+ const argSpecs = (typeof flow.args === "object" && flow.args !== null && !Array.isArray(flow.args)
496
+ ? flow.args
497
+ : {});
498
+ for (const [name, spec] of Object.entries(argSpecs)) {
499
+ if (!spec || typeof spec !== "object" || Array.isArray(spec))
500
+ continue;
501
+ if (spec.type === "number" && spec.minimum !== undefined && spec.maximum !== undefined && spec.minimum > spec.maximum) {
502
+ errors.push(`Argument '${name}': minimum must be <= maximum`);
503
+ }
504
+ if (spec.type === "enum" && Array.isArray(spec.values) && new Set(spec.values.map((v) => `${typeof v}:${String(v)}`)).size !== spec.values.length) {
505
+ errors.push(`Argument '${name}': enum values must be unique`);
506
+ }
507
+ if (spec.default !== undefined && spec.type !== undefined) {
508
+ errors.push(...typedArgValueErrors(name, spec, spec.default, "default"));
509
+ }
510
+ }
511
+ if (opts.args !== undefined) {
512
+ errors.push(...validateInvocationArgs(flow, opts.args));
513
+ for (const [name, spec] of Object.entries(argSpecs)) {
514
+ if (!spec || typeof spec !== "object" || Array.isArray(spec))
515
+ continue;
516
+ if (spec.type === undefined && spec.required === true && spec.default === undefined && !(name in opts.args)) {
517
+ warnings.push(`Legacy untyped argument '${name}' is marked required but remains advisory; add an explicit type to enforce it`);
518
+ }
519
+ }
520
+ for (const name of Object.keys(opts.args)) {
521
+ if (name in argSpecs)
522
+ continue;
523
+ if (strict)
524
+ warnings.push(`Invocation argument '${name}' is undeclared`);
525
+ }
526
+ }
400
527
  // Hardening for runtime-generated (untrusted) sub-flows: bound breadth and
401
528
  // contain filesystem access. These do NOT apply to authored/saved flows.
402
529
  if (opts.dynamic) {
@@ -406,10 +533,12 @@ export function validateTaskflow(def, opts = {}) {
406
533
  if (typeof flow.concurrency === "number" && flow.concurrency > MAX_DYNAMIC_CONCURRENCY) {
407
534
  errors.push(`Dynamic sub-flow concurrency too high (${flow.concurrency}, max ${MAX_DYNAMIC_CONCURRENCY})`);
408
535
  }
409
- const root = opts.cwd ? path.resolve(opts.cwd) : undefined;
410
536
  for (const p of flow.phases) {
411
537
  if (!p || typeof p !== "object")
412
538
  continue;
539
+ if (Array.isArray(p.context) && p.context.length > 0) {
540
+ errors.push(`Dynamic sub-flow phase '${p.id}': context file pre-reads are not allowed in generated flows`);
541
+ }
413
542
  // A generated phase may not execute shell commands. `script` runs an
414
543
  // arbitrary command — a strictly larger capability than the reserved
415
544
  // cwd keywords blocked below — so an LLM-authored plan (flow{def} /
@@ -444,20 +573,11 @@ export function validateTaskflow(def, opts = {}) {
444
573
  if (typeof p.concurrency === "number" && p.concurrency > MAX_DYNAMIC_CONCURRENCY) {
445
574
  errors.push(`Dynamic sub-flow phase '${p.id}': concurrency too high (${p.concurrency}, max ${MAX_DYNAMIC_CONCURRENCY})`);
446
575
  }
447
- // cwd containment: a generated phase may not escape the run's cwd, and
448
- // may not request a reserved workspace keyword (temp/dedicated/worktree)
449
- // — LLM-authored sub-flows must not allocate isolated dirs or git
450
- // worktrees that mutate the repo. Only author-written flows may.
576
+ // W1a/FileBroker is not available yet, so a generated phase may not
577
+ // choose any cwd. Lexical containment is insufficient because symlinks
578
+ // and time-of-check/time-of-use races can cross the invocation boundary.
451
579
  if (typeof p.cwd === "string") {
452
- if (WORKSPACE_KEYWORDS.includes(p.cwd)) {
453
- errors.push(`Dynamic sub-flow phase '${p.id}': cwd '${p.cwd}' is a reserved workspace keyword not allowed in generated flows`);
454
- }
455
- else if (root) {
456
- const resolved = path.resolve(root, p.cwd);
457
- if (resolved !== root && !resolved.startsWith(root + path.sep)) {
458
- errors.push(`Dynamic sub-flow phase '${p.id}': cwd '${p.cwd}' escapes the run directory`);
459
- }
460
- }
580
+ errors.push(`Dynamic sub-flow phase '${p.id}': cwd selection is not allowed in generated flows`);
461
581
  }
462
582
  }
463
583
  }
@@ -516,8 +636,26 @@ export function validateTaskflow(def, opts = {}) {
516
636
  !THINKING_LEVELS.includes(p.thinking)) {
517
637
  errors.push(`Phase '${p.id}': 'thinking' must be one of ${THINKING_LEVELS.join(", ")}; got '${p.thinking}'`);
518
638
  }
519
- if (typeof p.cwd === "string" && CWD_PLACEHOLDER_RE.test(p.cwd)) {
520
- errors.push(`Phase '${p.id}': 'cwd' does not support interpolation placeholders (${p.cwd}). Use a literal path, or a reserved workspace keyword ('temp', 'dedicated', 'worktree').`);
639
+ if (typeof p.cwd === "string" && hasCwdPlaceholder(p.cwd)) {
640
+ const argName = cwdArgName(p.cwd);
641
+ if (!argName) {
642
+ errors.push(`Phase '${p.id}': dynamic 'cwd' must be exactly one whole {args.X} placeholder; concatenation, multiple placeholders, and {steps.*} are forbidden.`);
643
+ }
644
+ else {
645
+ const spec = argSpecs[argName];
646
+ if (!spec) {
647
+ errors.push(`Phase '${p.id}': cwd references undeclared argument '${argName}'`);
648
+ }
649
+ else if (spec.type !== "relative-path") {
650
+ errors.push(`Phase '${p.id}': cwd argument '${argName}' must be declared with type 'relative-path'`);
651
+ }
652
+ if (p.cache?.scope === "cross-run") {
653
+ errors.push(`Phase '${p.id}': cwd selected by an argument cannot use cache.scope 'cross-run' until workspace state restoration is available.`);
654
+ }
655
+ if (p.retry && typeof p.retry.max === "number" && p.retry.max > 0) {
656
+ errors.push(`Phase '${p.id}': cwd selected by an argument cannot use retry.max > 0 because a failed resolve-only write has an unknown filesystem outcome and must be reconciled before another attempt.`);
657
+ }
658
+ }
521
659
  }
522
660
  // dependsOn / from entries are string phase-id refs that flow into the graph
523
661
  // helpers and nodeId(); a non-string entry would crash the renderer.
@@ -590,7 +728,9 @@ export function validateTaskflow(def, opts = {}) {
590
728
  warnings.push(`Phase '${p.id}' (gate): both 'eval' and 'score' are set — eval runs first (all-pass skips the gate entirely), then score. This is valid but usually one of the two suffices.`);
591
729
  }
592
730
  // Judge agent naming convention (mirrors the phase-agent check below).
593
- const judgeAgent = scoreVal.judge?.agent;
731
+ const judgeAgent = scoreVal !== null && typeof scoreVal === "object"
732
+ ? scoreVal.judge?.agent
733
+ : undefined;
594
734
  if (typeof judgeAgent === "string" && judgeAgent.includes("_")) {
595
735
  errors.push(`Phase '${p.id}': score.judge.agent '${judgeAgent}' uses underscores — use hyphens`);
596
736
  }
@@ -972,6 +1112,7 @@ export function collectRefs(phase) {
972
1112
  scan(phase.over);
973
1113
  scan(phase.when);
974
1114
  scan(phase.until);
1115
+ scan(phase.cwd);
975
1116
  // Script phases: the array form of `run` supports {steps.X}/{args.X}
976
1117
  // interpolation (the string form does NOT — it's a raw shell command,
977
1118
  // validation rejects placeholders in it), and `input` (stdin) does too.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}