@llm4ts/flow 2.40.1 → 2.42.0

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/Activity.d.ts +6 -1
  2. package/dist/Activity.d.ts.map +1 -1
  3. package/dist/Activity.js +53 -5
  4. package/dist/Activity.js.map +1 -1
  5. package/dist/BoardSync.d.ts +3 -0
  6. package/dist/BoardSync.d.ts.map +1 -1
  7. package/dist/BoardSync.js +14 -0
  8. package/dist/BoardSync.js.map +1 -1
  9. package/dist/CostReport.d.ts +14 -1
  10. package/dist/CostReport.d.ts.map +1 -1
  11. package/dist/CostReport.js +43 -6
  12. package/dist/CostReport.js.map +1 -1
  13. package/dist/Flow.d.ts +26 -1
  14. package/dist/Flow.d.ts.map +1 -1
  15. package/dist/Flow.js +155 -133
  16. package/dist/Flow.js.map +1 -1
  17. package/dist/FlowContext.d.ts +5 -0
  18. package/dist/FlowContext.d.ts.map +1 -1
  19. package/dist/FlowContext.js.map +1 -1
  20. package/dist/FlowEvents.d.ts +69 -5
  21. package/dist/FlowEvents.d.ts.map +1 -1
  22. package/dist/FlowEvents.js +92 -6
  23. package/dist/FlowEvents.js.map +1 -1
  24. package/dist/Perimeter.d.ts +7 -0
  25. package/dist/Perimeter.d.ts.map +1 -1
  26. package/dist/Perimeter.js +31 -0
  27. package/dist/Perimeter.js.map +1 -1
  28. package/dist/Plan.d.ts +24 -0
  29. package/dist/Plan.d.ts.map +1 -1
  30. package/dist/Plan.js +52 -0
  31. package/dist/Plan.js.map +1 -1
  32. package/dist/PlanExecution.d.ts +39 -2
  33. package/dist/PlanExecution.d.ts.map +1 -1
  34. package/dist/PlanExecution.js +137 -3
  35. package/dist/PlanExecution.js.map +1 -1
  36. package/dist/Roster.d.ts +4 -2
  37. package/dist/Roster.d.ts.map +1 -1
  38. package/dist/Roster.js +50 -28
  39. package/dist/Roster.js.map +1 -1
  40. package/dist/RosterSeats.d.ts +11 -2
  41. package/dist/RosterSeats.d.ts.map +1 -1
  42. package/dist/RosterSeats.js +12 -5
  43. package/dist/RosterSeats.js.map +1 -1
  44. package/dist/Stories.d.ts +7 -0
  45. package/dist/Stories.d.ts.map +1 -1
  46. package/dist/Stories.js +157 -13
  47. package/dist/Stories.js.map +1 -1
  48. package/dist/Transcript.d.ts +4 -0
  49. package/dist/Transcript.d.ts.map +1 -1
  50. package/dist/Transcript.js +4 -0
  51. package/dist/Transcript.js.map +1 -1
  52. package/package.json +2 -2
  53. package/src/Activity.ts +73 -7
  54. package/src/BoardSync.ts +20 -0
  55. package/src/CostReport.ts +51 -6
  56. package/src/Flow.ts +108 -34
  57. package/src/FlowContext.ts +5 -0
  58. package/src/FlowEvents.ts +103 -6
  59. package/src/Perimeter.ts +36 -0
  60. package/src/Plan.ts +71 -0
  61. package/src/PlanExecution.ts +233 -4
  62. package/src/Roster.ts +60 -34
  63. package/src/RosterSeats.ts +31 -7
  64. package/src/Stories.ts +230 -17
  65. package/src/Transcript.ts +6 -0
@@ -83,6 +83,8 @@ export class Info extends Schema.TaggedClass()("Info", {
83
83
  export class ToolUse extends Schema.TaggedClass()("ToolUse", {
84
84
  tool: Schema.String,
85
85
  args: Schema.String,
86
+ /** The tool call this one runs inside, when a harness delegated it to a sub-agent (ADR 0033). */
87
+ parent: Schema.optionalKey(Schema.String),
86
88
  /** The concurrent unit (a story) this event belongs to; absent for run-wide events. */
87
89
  lane: Schema.optionalKey(Schema.String),
88
90
  /** The roster executor working that lane, when there is one (ADR 0019). */
@@ -104,7 +106,9 @@ export class TokensUsed extends Schema.TaggedClass()("TokensUsed", {
104
106
  /** The concurrent unit (a story) this event belongs to; absent for run-wide events. */
105
107
  lane: Schema.optionalKey(Schema.String),
106
108
  /** The roster executor working that lane, when there is one (ADR 0019). */
107
- executor: Schema.optionalKey(Schema.String)
109
+ executor: Schema.optionalKey(Schema.String),
110
+ /** The executor's clone that made the call, when the lane's coder holds a slot (ADR 0033). */
111
+ clone: Schema.optionalKey(Schema.Int)
108
112
  }) {
109
113
  }
110
114
  /** One issue a review round found, as the operator sees it. */
@@ -249,9 +253,54 @@ export class StoryJudged extends Schema.TaggedClass()("StoryJudged", {
249
253
  * The executor roster's events (ADR 0019, 0022). `label` names who holds the
250
254
  * lease — a story's id, or "the run" — so a view can put an executor on its lane.
251
255
  */
256
+ /** One task of a story's plan as the task loop announces it (ADR 0033). */
257
+ export const PlannedTask = Schema.Struct({
258
+ title: Schema.String,
259
+ completed: Schema.Boolean,
260
+ /** The acceptance criteria the task's description names (`Satisfies: 1, 3`). */
261
+ satisfies: Schema.optionalKey(Schema.Array(Schema.Int))
262
+ });
263
+ /** The task loop's plan, before its first task: every task in order (ADR 0033). */
264
+ export class TasksPlanned extends Schema.TaggedClass()("TasksPlanned", {
265
+ tasks: Schema.Array(PlannedTask),
266
+ lane: Schema.optionalKey(Schema.String),
267
+ executor: Schema.optionalKey(Schema.String)
268
+ }) {
269
+ }
270
+ /** A task begins: its position in the plan, from 1, and the plan's size (ADR 0033). */
271
+ export class TaskStarted extends Schema.TaggedClass()("TaskStarted", {
272
+ index: Schema.Int,
273
+ count: Schema.Int,
274
+ title: Schema.String,
275
+ satisfies: Schema.optionalKey(Schema.Array(Schema.Int)),
276
+ /** The task runs beside the story's held coder, in its own worktree (ADR 0034). */
277
+ parallel: Schema.optionalKey(Schema.Boolean),
278
+ /** The clone of the extra coder a parallel task holds (ADR 0034). */
279
+ clone: Schema.optionalKey(Schema.Int),
280
+ lane: Schema.optionalKey(Schema.String),
281
+ executor: Schema.optionalKey(Schema.String)
282
+ }) {
283
+ }
284
+ /** A task is ticked in the plan (ADR 0033). */
285
+ export class TaskCompleted extends Schema.TaggedClass()("TaskCompleted", {
286
+ index: Schema.Int,
287
+ count: Schema.Int,
288
+ title: Schema.String,
289
+ lane: Schema.optionalKey(Schema.String),
290
+ executor: Schema.optionalKey(Schema.String)
291
+ }) {
292
+ }
293
+ /** A story moved on the epic's board (ADR 0033); the statuses are `BoardSync`'s. */
294
+ export class StoryStatusChanged extends Schema.TaggedClass()("StoryStatusChanged", {
295
+ id: Schema.String,
296
+ status: Schema.Literals(["planned", "active", "waiting", "done", "failed", "skipped"])
297
+ }) {
298
+ }
252
299
  export class ExecutorLeased extends Schema.TaggedClass()("ExecutorLeased", {
253
300
  executor: Schema.String,
254
301
  role: Schema.String,
302
+ /** Which of the executor's clones took the slot, from 1 (ADR 0033); absent when borrowed or before 2.41. */
303
+ clone: Schema.optionalKey(Schema.Int),
255
304
  label: Schema.optionalKey(Schema.String),
256
305
  /** What the call is for beyond its role: a review lens, a vote. */
257
306
  purpose: Schema.optionalKey(Schema.String),
@@ -269,6 +318,8 @@ export class ExecutorLeased extends Schema.TaggedClass()("ExecutorLeased", {
269
318
  export class ExecutorReleased extends Schema.TaggedClass()("ExecutorReleased", {
270
319
  executor: Schema.String,
271
320
  role: Schema.String,
321
+ /** Which of the executor's clones freed the slot (ADR 0033); absent when borrowed or before 2.41. */
322
+ clone: Schema.optionalKey(Schema.Int),
272
323
  label: Schema.optionalKey(Schema.String)
273
324
  }) {
274
325
  }
@@ -303,11 +354,13 @@ const resumedWords = {
303
354
  * the roster used to publish as `Info` — or `undefined` for one it does not
304
355
  * show (a release) and for any other event.
305
356
  */
357
+ /** `codex#2` for a numbered clone, the bare executor otherwise (ADR 0033). */
358
+ export const cloneName = (executor, clone) => clone === undefined ? executor : `${executor}#${clone}`;
306
359
  export const rosterEventMessage = (event) => {
307
360
  const forLabel = (label) => label === undefined ? "" : ` for ${label}`;
308
361
  switch (event._tag) {
309
362
  case "ExecutorLeased": {
310
- const taken = `roster: ${event.executor} takes ${event.role}${forLabel(event.label)}${event.purpose === undefined ? "" : ` · ${event.purpose}`}`;
363
+ const taken = `roster: ${cloneName(event.executor, event.clone)} takes ${event.role}${forLabel(event.label)}${event.purpose === undefined ? "" : ` · ${event.purpose}`}`;
311
364
  if (event.because === undefined && event.borrowed !== true) {
312
365
  return taken;
313
366
  }
@@ -358,7 +411,11 @@ export const FlowEvent = Schema.Union([
358
411
  ExecutorHandedOver,
359
412
  StoryJudged,
360
413
  Timed,
361
- Began
414
+ Began,
415
+ TasksPlanned,
416
+ TaskStarted,
417
+ TaskCompleted,
418
+ StoryStatusChanged
362
419
  ]);
363
420
  export const FlowEventsValues = Object.freeze({
364
421
  CapabilityUsed: (capability, operation) => new CapabilityUsedEvent({ capability, operation }),
@@ -374,9 +431,35 @@ export const shortenLaneArgs = (args, workDir) => {
374
431
  const root = workDir.replace(/\/+$/, "");
375
432
  return args.split(`cd ${root} && `).join("").split(`${root}/`).join("");
376
433
  };
377
- const stamped = (event, lane, executor, workDir) => {
434
+ const stamped = (event, lane, executor, workDir, clone) => {
378
435
  const tags = { lane, ...(executor === undefined ? {} : { executor }) };
436
+ const usageTags = { ...tags, ...(clone === undefined ? {} : { clone }) };
379
437
  switch (event._tag) {
438
+ case "TasksPlanned":
439
+ return event.lane !== undefined ? event : TasksPlanned.make({ tasks: event.tasks, ...tags });
440
+ case "TaskStarted":
441
+ return event.lane !== undefined
442
+ ? event
443
+ : TaskStarted.make({
444
+ index: event.index,
445
+ count: event.count,
446
+ title: event.title,
447
+ ...(event.satisfies === undefined ? {} : { satisfies: event.satisfies }),
448
+ ...tags,
449
+ // A parallel task names its own coder, not the lane's (ADR 0034).
450
+ ...(event.parallel === undefined ? {} : { parallel: event.parallel }),
451
+ ...(event.executor === undefined ? {} : { executor: event.executor }),
452
+ ...(event.clone === undefined ? {} : { clone: event.clone })
453
+ });
454
+ case "TaskCompleted":
455
+ return event.lane !== undefined
456
+ ? event
457
+ : TaskCompleted.make({
458
+ index: event.index,
459
+ count: event.count,
460
+ title: event.title,
461
+ ...tags
462
+ });
380
463
  case "StageStarted":
381
464
  return event.lane !== undefined ? event : StageStarted.make({ stage: event.stage, ...tags });
382
465
  case "StageCompleted":
@@ -393,6 +476,7 @@ const stamped = (event, lane, executor, workDir) => {
393
476
  : ToolUse.make({
394
477
  tool: event.tool,
395
478
  args: shortenLaneArgs(event.args, workDir),
479
+ ...(event.parent === undefined ? {} : { parent: event.parent }),
396
480
  ...tags
397
481
  });
398
482
  case "AssistantMessage":
@@ -422,7 +506,9 @@ const stamped = (event, lane, executor, workDir) => {
422
506
  agent: event.agent,
423
507
  usage: event.usage,
424
508
  ...(event.model === undefined ? {} : { model: event.model }),
425
- ...tags
509
+ // The lane's clone is its coder's: a reviewer or judge on the
510
+ // lane's events ran on another executor (ADR 0033).
511
+ ...(event.agent === "coder" ? usageTags : tags)
426
512
  });
427
513
  // The lane's executor is its coder's: it names a coder call or tool, not
428
514
  // a reviewer's or judge's call made on another executor.
@@ -457,7 +543,7 @@ const stamped = (event, lane, executor, workDir) => {
457
543
  * An event already stamped (a nested context) keeps its own lane.
458
544
  */
459
545
  export const withLane = (events, lane) => ({
460
- publish: (event) => Effect.flatMap(lane.executor ?? Effect.succeed(undefined), (executor) => events.publish(stamped(event, lane.lane, executor, lane.workDir)))
546
+ publish: (event) => Effect.flatMap(lane.executor ?? Effect.succeed(undefined), (executor) => Effect.flatMap(lane.clone ?? Effect.succeed(undefined), (clone) => events.publish(stamped(event, lane.lane, executor, lane.workDir, clone))))
461
547
  });
462
548
  /** Publish an observation, rendering the same decision and outcome in advise mode. */
463
549
  export const publishJudgmentObserved = Effect.fn("@llm4ts/flow/FlowEvents.publishJudgmentObserved")(function* (events, observation) {
@@ -1 +1 @@
1
- {"version":3,"file":"FlowEvents.js","sourceRoot":"","sources":["../src/FlowEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowEvents.js","sourceRoot":"","sources":["../src/FlowEvents.ts"],"names":[],"mappings":"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"}
@@ -31,4 +31,11 @@ export interface StrayTask {
31
31
  * "register the screen in src/App.tsx" is another story's job.
32
32
  */
33
33
  export declare const strayTasks: (plan: StoryPlan, story: Story, tasks: ReadonlyArray<Task>) => ReadonlyArray<StrayTask>;
34
+ /**
35
+ * A task run aside (ADR 0034) as a gate over what it changed: every path
36
+ * outside its `Owns:` entries is one Critical issue handed back to its
37
+ * coder, so two tasks running at once keep to their own files. A task that
38
+ * names no paths is not checked; the story's perimeter still is.
39
+ */
40
+ export declare const taskOwnsGate: (changedPaths: ReadonlyArray<string>, owns: ReadonlyArray<string>) => ReviewResult;
34
41
  //# sourceMappingURL=Perimeter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Perimeter.d.ts","sourceRoot":"","sources":["../src/Perimeter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAe,YAAY,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAKL,KAAK,KAAK,EACV,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,cAAc;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACxC;AAED,eAAO,MAAM,cAAc,GACzB,cAAc,aAAa,CAAC,MAAM,CAAC,EACnC,OAAO,KAAK,KACX,cAcF,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,OAAO,cAAc,KAAG,OACO,CAAA;AAEjE,eAAO,MAAM,gBAAgB,mGAY3B,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,cAAc,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,KAAG,YAwBjF,CAAA;AAED,qEAAqE;AACrE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAWD;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,SAAS,EACf,OAAO,KAAK,EACZ,OAAO,aAAa,CAAC,IAAI,CAAC,KACzB,aAAa,CAAC,SAAS,CAgBtB,CAAA"}
1
+ {"version":3,"file":"Perimeter.d.ts","sourceRoot":"","sources":["../src/Perimeter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAe,YAAY,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAKL,KAAK,KAAK,EACV,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,cAAc;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACxC;AAED,eAAO,MAAM,cAAc,GACzB,cAAc,aAAa,CAAC,MAAM,CAAC,EACnC,OAAO,KAAK,KACX,cAcF,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,OAAO,cAAc,KAAG,OACO,CAAA;AAEjE,eAAO,MAAM,gBAAgB,mGAY3B,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,cAAc,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,KAAG,YAwBjF,CAAA;AAED,qEAAqE;AACrE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAWD;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,SAAS,EACf,OAAO,KAAK,EACZ,OAAO,aAAa,CAAC,IAAI,CAAC,KACzB,aAAa,CAAC,SAAS,CAgBtB,CAAA;AAKJ;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACvB,cAAc,aAAa,CAAC,MAAM,CAAC,EACnC,MAAM,aAAa,CAAC,MAAM,CAAC,KAC1B,YAsBF,CAAA"}
package/dist/Perimeter.js CHANGED
@@ -87,4 +87,35 @@ export const strayTasks = (plan, story, tasks) => tasks.flatMap((task) => {
87
87
  });
88
88
  return [{ task, paths, foreign }];
89
89
  });
90
+ /** A task's `Owns:` entry as a path prefix: `src/session/*` and `src/routes/**` own their directory. */
91
+ const ownedPrefix = (entry) => entry.replace(/\/?\*+$/u, "");
92
+ /**
93
+ * A task run aside (ADR 0034) as a gate over what it changed: every path
94
+ * outside its `Owns:` entries is one Critical issue handed back to its
95
+ * coder, so two tasks running at once keep to their own files. A task that
96
+ * names no paths is not checked; the story's perimeter still is.
97
+ */
98
+ export const taskOwnsGate = (changedPaths, owns) => {
99
+ if (owns.length === 0) {
100
+ return ReviewResult.make({ issues: [], summary: "" });
101
+ }
102
+ const prefixes = owns.map(ownedPrefix);
103
+ const stray = changedPaths.filter((path) => !prefixes.some((prefix) => pathWithin(path, prefix)));
104
+ return stray.length === 0
105
+ ? ReviewResult.make({ issues: [], summary: "task owns: clean" })
106
+ : ReviewResult.make({
107
+ issues: [
108
+ ReviewIssue.make({
109
+ severity: "Critical",
110
+ title: "task owns",
111
+ description: [
112
+ `This task owns ${owns.join(", ")} and changed paths outside them: ${stray.join(", ")}.`,
113
+ "Another task may be changing those right now. Revert them and keep this task's",
114
+ "work inside the paths it owns."
115
+ ].join("\n")
116
+ })
117
+ ],
118
+ summary: "task owns: violated"
119
+ });
120
+ };
90
121
  //# sourceMappingURL=Perimeter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Perimeter.js","sourceRoot":"","sources":["../src/Perimeter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Perimeter.js","sourceRoot":"","sources":["../src/Perimeter.ts"],"names":[],"mappings":"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"}
package/dist/Plan.d.ts CHANGED
@@ -22,5 +22,29 @@ export declare class Plan extends Plan_base {
22
22
  export declare const stableHash: (input: string) => string;
23
23
  export declare const defaultPlanPath: (prompt: string, directory?: string) => string;
24
24
  export declare const parsePlan: (markdown: string) => Effect.Effect<Plan, PlanParseError, never>;
25
+ /**
26
+ * The tasks a task waits for, from its description's `Depends on:` line
27
+ * (`1, 3`, or `none`). Without the line it waits for every earlier task, so
28
+ * a plan written before ADR 0034 runs in order. Only earlier tasks count: a
29
+ * forward or self reference is dropped, so the graph never has a cycle, and
30
+ * a line left naming none of them is read as no line.
31
+ */
32
+ export declare const dependsOnOf: (description: string, index: number) => ReadonlyArray<number>;
33
+ /**
34
+ * The paths a task says it changes, from its `Owns:` line; empty when it
35
+ * says none. The line ends at a newline, the next label, or a period that
36
+ * ends the sentence (the planner writes one-line JSON descriptions).
37
+ */
38
+ export declare const ownsOf: (description: string) => ReadonlyArray<string>;
39
+ /** One task of a plan as the scheduler sees it: its 1-based index and what it waits for. */
40
+ export interface TaskNode {
41
+ readonly index: number;
42
+ readonly task: Task;
43
+ readonly dependsOn: ReadonlyArray<number>;
44
+ readonly owns: ReadonlyArray<string>;
45
+ }
46
+ export declare const taskGraph: (plan: Plan) => ReadonlyArray<TaskNode>;
47
+ /** Whether some task of the plan may start without the task right before it. */
48
+ export declare const hasParallelTasks: (plan: Plan) => boolean;
25
49
  export {};
26
50
  //# sourceMappingURL=Plan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plan.d.ts","sourceRoot":"","sources":["../src/Plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;;;;;;AAE/C,qBAAa,IAAK,SAAQ,SAOxB;CAAG;;;;;;AAEL,qBAAa,IAAK,SAAQ,SAIxB;IACA,IAAI,cAAc,IAAI,IAAI,GAAG,SAAS,CAErC;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS7B,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAO9B,IAAI,MAAM,IAAI,MAAM,CAQnB;CACF;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAO1C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,kBAAqB,KAAG,MAC1B,CAAA;AAoC9C,eAAO,MAAM,SAAS,kEA0BpB,CAAA"}
1
+ {"version":3,"file":"Plan.d.ts","sourceRoot":"","sources":["../src/Plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;;;;;;AAE/C,qBAAa,IAAK,SAAQ,SAOxB;CAAG;;;;;;AAEL,qBAAa,IAAK,SAAQ,SAIxB;IACA,IAAI,cAAc,IAAI,IAAI,GAAG,SAAS,CAErC;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS7B,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAO9B,IAAI,MAAM,IAAI,MAAM,CAQnB;CACF;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAO1C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,kBAAqB,KAAG,MAC1B,CAAA;AAoC9C,eAAO,MAAM,SAAS,kEA0BpB,CAAA;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,aAAa,MAAM,EAAE,OAAO,MAAM,KAAG,aAAa,CAAC,MAAM,CAoBpF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,aAAa,MAAM,KAAG,aAAa,CAAC,MAAM,CAahE,CAAA;AAED,4FAA4F;AAC5F,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACrC;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,KAAG,aAAa,CAAC,QAAQ,CAMxD,CAAA;AAEL,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,KAAG,OAC8C,CAAA"}
package/dist/Plan.js CHANGED
@@ -98,4 +98,56 @@ export const parsePlan = Effect.fn("@llm4ts/flow/Plan.parse")(function* (markdow
98
98
  ...(brief === undefined ? {} : { brief })
99
99
  });
100
100
  });
101
+ // ---- The task graph (ADR 0034) ------------------------------------------------
102
+ /**
103
+ * The tasks a task waits for, from its description's `Depends on:` line
104
+ * (`1, 3`, or `none`). Without the line it waits for every earlier task, so
105
+ * a plan written before ADR 0034 runs in order. Only earlier tasks count: a
106
+ * forward or self reference is dropped, so the graph never has a cycle, and
107
+ * a line left naming none of them is read as no line.
108
+ */
109
+ export const dependsOnOf = (description, index) => {
110
+ const earlier = Array.from({ length: Math.max(0, index - 1) }, (_, position) => position + 1);
111
+ const match = /\bDepends on:\s*([^\n.]*)/iu.exec(description);
112
+ if (match === null) {
113
+ return earlier;
114
+ }
115
+ const text = match[1] ?? "";
116
+ if (/^\s*none\b/iu.test(text)) {
117
+ return [];
118
+ }
119
+ const named = [
120
+ ...new Set(text
121
+ .split(/[^\d]+/u)
122
+ .filter((part) => part.length > 0)
123
+ .map((part) => Number.parseInt(part, 10))
124
+ .filter((number) => Number.isInteger(number) && number >= 1 && number < index))
125
+ ];
126
+ return named.length === 0 ? earlier : named;
127
+ };
128
+ /**
129
+ * The paths a task says it changes, from its `Owns:` line; empty when it
130
+ * says none. The line ends at a newline, the next label, or a period that
131
+ * ends the sentence (the planner writes one-line JSON descriptions).
132
+ */
133
+ export const ownsOf = (description) => {
134
+ const match = /\bOwns:\s*(.*?)(?=\s+(?:Depends on|Satisfies):|\.\s|\.$|\n|$)/iu.exec(description);
135
+ return match === null
136
+ ? []
137
+ : (match[1] ?? "")
138
+ .split(/[,\s]+/u)
139
+ .map((path) => path
140
+ .trim()
141
+ .replace(/^`|`$/gu, "")
142
+ .replace(/[.;]+$/u, ""))
143
+ .filter((path) => path.length > 0 && path.toLowerCase() !== "none");
144
+ };
145
+ export const taskGraph = (plan) => plan.tasks.map((task, position) => ({
146
+ index: position + 1,
147
+ task,
148
+ dependsOn: dependsOnOf(task.description, position + 1),
149
+ owns: ownsOf(task.description)
150
+ }));
151
+ /** Whether some task of the plan may start without the task right before it. */
152
+ export const hasParallelTasks = (plan) => taskGraph(plan).some((node) => node.index > 1 && !node.dependsOn.includes(node.index - 1));
101
153
  //# sourceMappingURL=Plan.js.map
package/dist/Plan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Plan.js","sourceRoot":"","sources":["../src/Plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Plan.js","sourceRoot":"","sources":["../src/Plan.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import { type FlowEventsShape } from "./FlowEvents.ts";
3
3
  import { type SpanOptions } from "./Spans.ts";
4
- import type { Plan, Task } from "./Plan.ts";
4
+ import { FlowAborted } from "./FlowError.ts";
5
+ import { type Plan, type Task, type TaskNode } from "./Plan.ts";
5
6
  import type { PlanStoreShape } from "./Persistence.ts";
6
7
  /**
7
8
  * A named step of a flow: published as StageStarted/Completed/Failed for the
@@ -9,5 +10,41 @@ import type { PlanStoreShape } from "./Persistence.ts";
9
10
  * default) for OpenTelemetry (ADR 0026).
10
11
  */
11
12
  export declare const stage: <A, E, R>(events: FlowEventsShape, name: string, effect: Effect.Effect<A, E, R>, span?: SpanOptions) => Effect.Effect<A, E, R>;
12
- export declare const implementTaskLoop: <E, R>(store: PlanStoreShape, events: FlowEventsShape, planPath: string, plan: Plan, perTask: (task: Task, planSoFar: Plan) => Effect.Effect<void, E, R>) => Effect.Effect<Plan, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | import("./FlowError.ts").ProcessError | import("./FlowError.ts").FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | import("./FlowError.ts").Stalled | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict | E, R>;
13
+ /** The acceptance criteria a task's description names: `Satisfies: 1, 3` → `[1, 3]` (ADR 0033). */
14
+ export declare const satisfiesOf: (description: string) => ReadonlyArray<number> | undefined;
15
+ export declare const implementTaskLoop: <E, R>(store: PlanStoreShape, events: FlowEventsShape, planPath: string, plan: Plan, perTask: (task: Task, planSoFar: Plan) => Effect.Effect<void, E, R>) => Effect.Effect<Plan, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | FlowAborted | import("./FlowError.ts").ProcessError | import("./FlowError.ts").FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | import("./FlowError.ts").Stalled | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict | E, R>;
16
+ /**
17
+ * How a task tried beside the held coder ended: `merged` into the story,
18
+ * `declined` (no free coder, or it could not finish there) or `conflict`
19
+ * (its merge back conflicted). The last two go back to the held coder; a
20
+ * conflicting task runs after the others, on the merged state.
21
+ */
22
+ export type AsideOutcome = "merged" | "declined" | "conflict";
23
+ export interface AsideRequest {
24
+ readonly node: TaskNode;
25
+ /** The plan's size, for `task n/m`. */
26
+ readonly count: number;
27
+ readonly planSoFar: Plan;
28
+ /** Runs `effect` while no task runs at home: the merge back into the story. */
29
+ readonly exclusive: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
30
+ /** Says the task started, on the coder it got; call it once that coder is held. */
31
+ readonly announce: (coder: {
32
+ readonly executor?: string;
33
+ readonly clone?: number;
34
+ }) => Effect.Effect<void>;
35
+ }
36
+ export interface ParallelTasks<E, R> {
37
+ /** Coders one story may hold at once, its own included; 1 runs every task at home. */
38
+ readonly concurrency: number;
39
+ readonly aside: (request: AsideRequest) => Effect.Effect<AsideOutcome, E, R>;
40
+ }
41
+ /**
42
+ * The task loop over the plan's graph (ADR 0034): the held coder runs one
43
+ * ready task at a time, in plan order, as `implementTaskLoop` does; up to
44
+ * `concurrency - 1` other ready tasks are offered to `aside`, which runs
45
+ * each on another coder and merges it back under `exclusive`. A task is
46
+ * ready when the tasks it depends on are complete; a plan whose every task
47
+ * depends on the one before runs exactly as `implementTaskLoop`.
48
+ */
49
+ export declare const implementTaskGraph: <E, R, E2, R2>(store: PlanStoreShape, events: FlowEventsShape, planPath: string, plan: Plan, perTask: (task: Task, planSoFar: Plan) => Effect.Effect<void, E, R>, parallel: ParallelTasks<E2, R2>) => Effect.Effect<Plan, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | FlowAborted | import("./FlowError.ts").ProcessError | import("./FlowError.ts").FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | import("./FlowError.ts").Stalled | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict | E | E2, R | R2>;
13
50
  //# sourceMappingURL=PlanExecution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanExecution.d.ts","sourceRoot":"","sources":["../src/PlanExecution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAA6C,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjG,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAE3D,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAItD;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3B,QAAQ,eAAe,EACvB,MAAM,MAAM,EACZ,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,OAAM,WAA+B,KACpC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAgBrB,CAAA;AAEH,eAAO,MAAM,iBAAiB,GACjB,CAAC,EAAE,CAAC,gGAKG,IAAI,aAAa,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,kzCAYtE,CAAA"}
1
+ {"version":3,"file":"PlanExecution.d.ts","sourceRoot":"","sources":["../src/PlanExecution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAqC,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EAAa,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAItD;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3B,QAAQ,eAAe,EACvB,MAAM,MAAM,EACZ,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,OAAM,WAA+B,KACpC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAgBrB,CAAA;AAEH,mGAAmG;AACnG,eAAO,MAAM,WAAW,GAAI,aAAa,MAAM,KAAG,aAAa,CAAC,MAAM,CAAC,GAAG,SAYzE,CAAA;AAOD,eAAO,MAAM,iBAAiB,GACjB,CAAC,EAAE,CAAC,gGAKG,IAAI,aAAa,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,yxCA2BtE,CAAA;AAID;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAA;AAE7D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACvF,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KACxB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC;IACjC,sFAAsF;IACtF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAC7E;AASD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAClB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,gGAKL,IAAI,aAAa,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,o0CAiItE,CAAA"}