@llm4ts/flow 2.8.0 → 2.9.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 (56) hide show
  1. package/dist/Approval.d.ts +1 -1
  2. package/dist/Approval.d.ts.map +1 -1
  3. package/dist/Artifacts.d.ts +2 -2
  4. package/dist/Artifacts.d.ts.map +1 -1
  5. package/dist/BenchReport.d.ts +2 -2
  6. package/dist/BenchReport.d.ts.map +1 -1
  7. package/dist/CostLedger.d.ts +2 -2
  8. package/dist/CostLedger.d.ts.map +1 -1
  9. package/dist/Equiv.d.ts +3 -3
  10. package/dist/Equiv.d.ts.map +1 -1
  11. package/dist/Flow.d.ts +1 -1
  12. package/dist/Flow.d.ts.map +1 -1
  13. package/dist/FlowContext.d.ts +15 -1
  14. package/dist/FlowContext.d.ts.map +1 -1
  15. package/dist/FlowContext.js.map +1 -1
  16. package/dist/FlowError.d.ts +24 -1
  17. package/dist/FlowError.d.ts.map +1 -1
  18. package/dist/FlowError.js +29 -0
  19. package/dist/FlowError.js.map +1 -1
  20. package/dist/FlowEvents.d.ts +45 -0
  21. package/dist/FlowEvents.d.ts.map +1 -1
  22. package/dist/FlowEvents.js +87 -7
  23. package/dist/FlowEvents.js.map +1 -1
  24. package/dist/Judgment.d.ts +2 -2
  25. package/dist/Judgment.d.ts.map +1 -1
  26. package/dist/Persistence.d.ts +2 -2
  27. package/dist/Persistence.d.ts.map +1 -1
  28. package/dist/PlanExecution.d.ts +1 -1
  29. package/dist/PlanExecution.d.ts.map +1 -1
  30. package/dist/ProgramJudge.d.ts +1 -1
  31. package/dist/ProgramJudge.d.ts.map +1 -1
  32. package/dist/Replay.d.ts +2 -2
  33. package/dist/Replay.d.ts.map +1 -1
  34. package/dist/Review.d.ts +3 -3
  35. package/dist/Review.d.ts.map +1 -1
  36. package/dist/ReviewCache.d.ts +1 -1
  37. package/dist/ReviewCache.d.ts.map +1 -1
  38. package/dist/Roster.d.ts +164 -0
  39. package/dist/Roster.d.ts.map +1 -0
  40. package/dist/Roster.js +583 -0
  41. package/dist/Roster.js.map +1 -0
  42. package/dist/RosterSeats.d.ts +71 -0
  43. package/dist/RosterSeats.d.ts.map +1 -0
  44. package/dist/RosterSeats.js +167 -0
  45. package/dist/RosterSeats.js.map +1 -0
  46. package/dist/Stories.d.ts +9 -5
  47. package/dist/Stories.d.ts.map +1 -1
  48. package/dist/Stories.js +95 -24
  49. package/dist/Stories.js.map +1 -1
  50. package/package.json +4 -2
  51. package/src/FlowContext.ts +19 -1
  52. package/src/FlowError.ts +32 -0
  53. package/src/FlowEvents.ts +108 -7
  54. package/src/Roster.ts +849 -0
  55. package/src/RosterSeats.ts +360 -0
  56. package/src/Stories.ts +129 -28
package/dist/Stories.js CHANGED
@@ -14,8 +14,8 @@ import * as Stream from "effect/Stream";
14
14
  import { BoardItem } from "./BoardSync.js";
15
15
  import { makeChat } from "./Chat.js";
16
16
  import { implementPlanFlow } from "./Flow.js";
17
- import { describeFlowError, EpicCheckoutDirty, MissingDependency, PerimeterViolation, StoryFailed } from "./FlowError.js";
18
- import { Info } from "./FlowEvents.js";
17
+ import { describeFlowError, rosterExhaustedPrefix, EpicCheckoutDirty, MissingDependency, PerimeterViolation, StoryFailed } from "./FlowError.js";
18
+ import { Info, withLane } from "./FlowEvents.js";
19
19
  import { statusPaths } from "./GitTool.js";
20
20
  import { checkPerimeter, enforcePerimeter, isWithinPerimeter, perimeterGate, strayTasks } from "./Perimeter.js";
21
21
  import { loadVersioned, makePlanStore, saveVersioned } from "./Persistence.js";
@@ -36,7 +36,9 @@ export class StoryState extends Schema.Class("StoryState")({
36
36
  hash: Schema.String,
37
37
  branch: Schema.String,
38
38
  worktree: Schema.String,
39
- status: StoryStatus
39
+ status: StoryStatus,
40
+ /** The roster executor that last held the story's coder (ADR 0019); preferred on resume. */
41
+ executor: Schema.optionalKey(Schema.String)
40
42
  }) {
41
43
  }
42
44
  export const EpicReportVersion = 1;
@@ -50,6 +52,8 @@ export class StoryOutcome extends Schema.Class("StoryOutcome")({
50
52
  /** Failure reason, or what a waiting story waits for. */
51
53
  reason: Schema.optionalKey(Schema.String),
52
54
  judge: Schema.optionalKey(Schema.String),
55
+ /** The roster executor(s) that coded the story, in order ("codex → claude"). */
56
+ executor: Schema.optionalKey(Schema.String),
53
57
  /** ESTIMATES, never measurements (ADR 0012). */
54
58
  estimatedTokens: Schema.optionalKey(Schema.Int),
55
59
  estimatedCostUsd: Schema.optionalKey(Schema.Number)
@@ -93,6 +97,25 @@ export const renderEpicReport = (report) => {
93
97
  if (cost.length > 0) {
94
98
  lines.push(`- Estimated cost: ${money(cost.reduce((sum, value) => sum + value, 0))}`);
95
99
  }
100
+ const coded = report.stories.filter((story) => story.executor !== undefined);
101
+ if (coded.length > 0) {
102
+ // A story is counted for the executor that finished it; a handover chain
103
+ // is shown in full next to the story.
104
+ const byExecutor = new Map();
105
+ for (const story of coded) {
106
+ const chain = story.executor ?? "";
107
+ const last = chain.split(" → ").at(-1) ?? chain;
108
+ const entry = byExecutor.get(last) ?? { stories: [], tokens: 0, cost: 0 };
109
+ entry.stories.push(chain === last ? story.id : `${story.id} (${chain})`);
110
+ entry.tokens += story.estimatedTokens ?? 0;
111
+ entry.cost += story.estimatedCostUsd ?? 0;
112
+ byExecutor.set(last, entry);
113
+ }
114
+ lines.push("", "## By executor", "");
115
+ for (const [executor, entry] of byExecutor) {
116
+ lines.push(`- ${executor}: ${entry.stories.join(", ")} — ~${entry.tokens} tokens, ${money(entry.cost)} (estimated)`);
117
+ }
118
+ }
96
119
  lines.push("");
97
120
  return lines.join("\n");
98
121
  };
@@ -306,6 +329,17 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
306
329
  });
307
330
  }
308
331
  });
332
+ /** A story's own events say so (a lane), so concurrent stories stay apart on screen. */
333
+ const lanes = new Map();
334
+ const laneOf = (story) => {
335
+ const known = lanes.get(story.id);
336
+ if (known !== undefined) {
337
+ return known;
338
+ }
339
+ const lane = withLane(events, { lane: story.id });
340
+ lanes.set(story.id, lane);
341
+ return lane;
342
+ };
309
343
  yield* epicCheckoutClean();
310
344
  yield* stage(events, "epic branch", context.git.checkoutOrCreate(epicBranch));
311
345
  const waves = topologicalWaves(plan);
@@ -334,7 +368,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
334
368
  yield* context.git.rollback(checkpoint);
335
369
  return yield* failed(story, `epic gates failed after merging; merge undone:\n${issueLines(gate)}`);
336
370
  }
337
- yield* events.publish(Info.make({ message: `story ${story.id}: merged into ${epicBranch}` }));
371
+ yield* laneOf(story).publish(Info.make({ message: `story ${story.id}: merged into ${epicBranch}` }));
338
372
  }));
339
373
  /** The worktree and branch for a story, honouring the hash-guarded resume rules. */
340
374
  const prepareWorktree = Effect.fn("@llm4ts/flow/Stories.prepareWorktree")(function* (story) {
@@ -344,14 +378,14 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
344
378
  const path = statePath(story);
345
379
  let stored = yield* loadVersioned(files, path, StoryStateVersion, StoryState);
346
380
  if (stored !== undefined && stored.hash !== hash) {
347
- yield* events.publish(Info.make({
381
+ yield* laneOf(story).publish(Info.make({
348
382
  message: `story ${story.id}: plan entry changed since its branch was created; starting over`
349
383
  }));
350
384
  // The old worktree may already be gone (an operator cleaned up); that is
351
385
  // not a failure of this run, so removal errors are reported and dropped.
352
386
  yield* context.git
353
387
  .removeWorktree(stored.worktree, true)
354
- .pipe(Effect.catch((error) => events.publish(Info.make({ message: `story ${story.id}: ${describeFlowError(error)}` }))));
388
+ .pipe(Effect.catch((error) => laneOf(story).publish(Info.make({ message: `story ${story.id}: ${describeFlowError(error)}` }))));
355
389
  if (yield* context.git.branchExists(stored.branch)) {
356
390
  yield* context.git.deleteBranch(stored.branch);
357
391
  }
@@ -377,7 +411,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
377
411
  if (stored.worktree !== worktree) {
378
412
  if ((yield* files.read(join(stored.worktree, ".git"))) !== undefined) {
379
413
  yield* context.git.moveWorktree(stored.worktree, worktree);
380
- yield* events.publish(Info.make({ message: `story ${story.id}: moved its worktree to ${worktree}` }));
414
+ yield* laneOf(story).publish(Info.make({ message: `story ${story.id}: moved its worktree to ${worktree}` }));
381
415
  }
382
416
  state = StoryState.make({ ...stored, worktree });
383
417
  yield* saveVersioned(files, path, StoryStateVersion, StoryState, state);
@@ -386,7 +420,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
386
420
  if (marker === undefined) {
387
421
  yield* context.git.addWorktree(state.worktree, state.branch);
388
422
  }
389
- yield* events.publish(Info.make({ message: `story ${story.id}: resuming ${state.branch}` }));
423
+ yield* laneOf(story).publish(Info.make({ message: `story ${story.id}: resuming ${state.branch}` }));
390
424
  return { state, alreadyMerged: false };
391
425
  });
392
426
  /**
@@ -406,7 +440,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
406
440
  yield* git.merge(epicBranch, `${story.id}: catch up with ${epicBranch}`, {
407
441
  preferIncoming: true
408
442
  });
409
- yield* events.publish(Info.make({ message: `story ${story.id}: caught up with ${epicBranch}` }));
443
+ yield* laneOf(story).publish(Info.make({ message: `story ${story.id}: caught up with ${epicBranch}` }));
410
444
  });
411
445
  /** The perimeter over everything the branch changed, committed or not. */
412
446
  const perimeterNow = (story, git) => Effect.gen(function* () {
@@ -416,7 +450,15 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
416
450
  });
417
451
  /** Everything that happens inside a story's worktree: plan, implement, judge, perimeter. */
418
452
  const implementStory = Effect.fn("@llm4ts/flow/Stories.implementStory")(function* (story, state) {
419
- const seats = yield* options.contextFor(state.worktree);
453
+ const seats = yield* options.contextFor(state.worktree, {
454
+ label: story.id,
455
+ ...(state.executor === undefined ? {} : { prefer: state.executor })
456
+ });
457
+ const roster = seats.context.roster;
458
+ const coderExecutor = roster === undefined ? undefined : yield* roster.executor;
459
+ if (coderExecutor !== undefined && coderExecutor !== state.executor) {
460
+ yield* saveVersioned(files, statePath(story), StoryStateVersion, StoryState, StoryState.make({ ...state, executor: coderExecutor }));
461
+ }
420
462
  const blocked = yield* Ref.make(undefined);
421
463
  const pushbacks = yield* Ref.make(0);
422
464
  const storyContext = {
@@ -436,7 +478,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
436
478
  // Catch up before setup: the epic may have changed the manifest too.
437
479
  yield* catchUp(story, git);
438
480
  if (options.setup !== undefined) {
439
- yield* stage(events, `story ${story.id}: setup`, options.setup(state.worktree));
481
+ yield* stage(laneOf(story), `story ${story.id}: setup`, options.setup(state.worktree));
440
482
  }
441
483
  // The target's gates plus the perimeter: a stray path is a gate failure
442
484
  // the task review loop hands back to the coder before anything commits.
@@ -474,7 +516,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
474
516
  let rebuttal = blockedRebuttal(plan, story, need);
475
517
  if (rebuttal === undefined && options.verifyBlocked !== undefined) {
476
518
  const verdict = yield* options
477
- .verifyBlocked(story, need, state.worktree)
519
+ .verifyBlocked(story, need, state.worktree, watchedSeats)
478
520
  .pipe(Effect.catch(() => Effect.succeed(undefined)));
479
521
  rebuttal = verdict === undefined || verdict.real ? undefined : verdict.reason;
480
522
  }
@@ -483,7 +525,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
483
525
  }
484
526
  yield* Ref.set(blocked, undefined);
485
527
  yield* Ref.update(pushbacks, (count) => count + 1);
486
- yield* events.publish(Info.make({ message: `story ${story.id}: BLOCKED_ON rejected — ${rebuttal}` }));
528
+ yield* laneOf(story).publish(Info.make({ message: `story ${story.id}: BLOCKED_ON rejected — ${rebuttal}` }));
487
529
  yield* coderTurn([
488
530
  `You stopped with "${blockedOnSentinel} ${need}".`,
489
531
  "That claim was checked against the epic's plan and rejected:",
@@ -526,7 +568,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
526
568
  if (!isWithinPerimeter(second)) {
527
569
  const stray = [...second.sharedReadOnly, ...second.outside];
528
570
  yield* git.restorePaths(epicBranch, stray);
529
- yield* events.publish(Info.make({
571
+ yield* laneOf(story).publish(Info.make({
530
572
  message: `story ${story.id}: restored ${stray.length} path(s) outside its perimeter from ${epicBranch}: ${stray.join(", ")}`
531
573
  }));
532
574
  }
@@ -536,7 +578,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
536
578
  const implementTasks = implementPlanFlow(storyContext, {
537
579
  store: makePlanStore(files),
538
580
  planPath: planPath(story),
539
- plan: planWithinPerimeter(plan, story, (text) => planTasks(watchedSeats, story, text), prompt, events),
581
+ plan: planWithinPerimeter(plan, story, (text) => planTasks(watchedSeats, story, text), prompt, laneOf(story)),
540
582
  system,
541
583
  chatPerTask: true,
542
584
  checkoutBranch: false,
@@ -564,7 +606,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
564
606
  // a model asked to score an empty diff scores the prompt instead.
565
607
  return yield* failed(story, "the story branch has no changes against the epic branch");
566
608
  }
567
- const verdict = yield* judge(story, diff);
609
+ const verdict = yield* judge(story, diff, watchedSeats);
568
610
  if (verdict.isClean) {
569
611
  judgeNote = `judge cleared (round ${round})`;
570
612
  break;
@@ -584,13 +626,18 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
584
626
  const changed = yield* git.changedFilesVsBase(epicBranch);
585
627
  yield* enforcePerimeter(changed, story);
586
628
  const totals = seats.totals === undefined ? undefined : yield* seats.totals;
587
- return { judge: judgeNote, totals };
629
+ const history = roster === undefined ? [] : yield* roster.history;
630
+ return {
631
+ judge: judgeNote,
632
+ totals,
633
+ executor: history.length === 0 ? undefined : history.join(" → ")
634
+ };
588
635
  });
589
636
  const runStory = Effect.fn("@llm4ts/flow/Stories.runStory")(function* (story) {
590
637
  yield* board.start(story.id);
591
638
  const { state, alreadyMerged } = yield* prepareWorktree(story);
592
639
  if (alreadyMerged) {
593
- yield* events.publish(Info.make({ message: `story ${story.id}: already merged; skipping` }));
640
+ yield* laneOf(story).publish(Info.make({ message: `story ${story.id}: already merged; skipping` }));
594
641
  return StoryOutcome.make({
595
642
  id: story.id,
596
643
  title: story.title,
@@ -601,26 +648,34 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
601
648
  }
602
649
  const result = yield* Effect.scoped(implementStory(story, state));
603
650
  yield* integrate(story, state.branch);
604
- yield* saveVersioned(files, statePath(story), StoryStateVersion, StoryState, StoryState.make({ ...state, status: "merged" }));
651
+ const last = result.executor?.split(" → ").at(-1);
652
+ yield* saveVersioned(files, statePath(story), StoryStateVersion, StoryState, StoryState.make({
653
+ ...state,
654
+ status: "merged",
655
+ ...(last === undefined ? {} : { executor: last })
656
+ }));
605
657
  return StoryOutcome.make({
606
658
  id: story.id,
607
659
  title: story.title,
608
660
  status: "done",
609
661
  branch: state.branch,
610
662
  ...(result.judge === undefined ? {} : { judge: result.judge }),
663
+ ...(result.executor === undefined ? {} : { executor: result.executor }),
611
664
  ...(result.totals === undefined ? {} : { estimatedTokens: result.totals.total }),
612
665
  ...(result.totals?.costUsd === undefined ? {} : { estimatedCostUsd: result.totals.costUsd })
613
666
  });
614
667
  });
615
668
  /** A story's run as a completion — failures become outcomes, never fiber deaths. */
616
- const attempt = (story) => stage(events, `story ${story.id}`, runStory(story)).pipe(Effect.map((outcome) => ({ story, outcome })), Effect.catch((error) => Effect.gen(function* () {
669
+ const attempt = (story) => stage(laneOf(story), `story ${story.id}`, runStory(story)).pipe(Effect.map((outcome) => ({ story, outcome })), Effect.catch((error) => Effect.gen(function* () {
617
670
  const reason = describeFlowError(error);
618
671
  const path = statePath(story);
619
672
  const stored = yield* loadVersioned(files, path, StoryStateVersion, StoryState).pipe(Effect.catch(() => Effect.succeed(undefined)));
620
673
  if (stored !== undefined && stored.status !== "merged") {
621
674
  yield* saveVersioned(files, path, StoryStateVersion, StoryState, StoryState.make({ ...stored, status: "failed" })).pipe(Effect.ignore);
622
675
  }
623
- const interruption = error._tag === "EpicCheckoutDirty"
676
+ const interruption = error._tag === "EpicCheckoutDirty" ||
677
+ error._tag === "RosterExhausted" ||
678
+ reason.includes(rosterExhaustedPrefix)
624
679
  ? "halt"
625
680
  : isOutageMessage(reason)
626
681
  ? "outage"
@@ -677,7 +732,14 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
677
732
  if (halted === undefined) {
678
733
  const current = yield* progress;
679
734
  const ready = readyStories(plan, current);
680
- const slots = concurrency - current.running.size;
735
+ // With a roster, never launch more stories than there are free
736
+ // coders; with nothing running, launch one anyway — its lease waits
737
+ // for the first executor to come back (ADR 0019).
738
+ const free = context.roster === undefined
739
+ ? Number.POSITIVE_INFINITY
740
+ : yield* context.roster.available("coder");
741
+ const budget = Math.min(concurrency - current.running.size, free);
742
+ const slots = current.running.size === 0 && ready.length > 0 ? Math.max(1, budget) : budget;
681
743
  for (const story of ready.slice(0, Math.max(0, slots))) {
682
744
  yield* Ref.update(running, (set) => new Set([...set, story.id]));
683
745
  yield* Effect.forkScoped(attempt(story).pipe(Effect.flatMap((completion) => Queue.offer(completions, completion))));
@@ -696,7 +758,7 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
696
758
  if (completion.interruption === "outage" && halted === undefined) {
697
759
  if (options.awaitRecovery !== undefined && !recovered.has(completion.story.id)) {
698
760
  recovered.add(completion.story.id);
699
- yield* events.publish(Info.make({
761
+ yield* laneOf(completion.story).publish(Info.make({
700
762
  message: `story ${completion.story.id}: the serving engine is down; waiting for it to recover, then retrying the story`
701
763
  }));
702
764
  const back = yield* Effect.result(options.awaitRecovery(reason));
@@ -718,7 +780,16 @@ export const implementStoriesFlow = Effect.fn("@llm4ts/flow/Stories.implement")(
718
780
  if (outcome.status === "done") {
719
781
  yield* board.complete(outcome.id, {
720
782
  ...(outcome.branch === undefined ? {} : { branch: outcome.branch }),
721
- ...(outcome.judge === undefined ? {} : { detail: outcome.judge }),
783
+ ...(outcome.judge === undefined && outcome.executor === undefined
784
+ ? {}
785
+ : {
786
+ detail: [
787
+ outcome.judge,
788
+ outcome.executor === undefined ? undefined : `coder ${outcome.executor}`
789
+ ]
790
+ .filter((part) => part !== undefined)
791
+ .join(" · ")
792
+ }),
722
793
  ...(outcome.estimatedTokens === undefined
723
794
  ? {}
724
795
  : { estimatedTokens: outcome.estimatedTokens }),
@@ -1 +1 @@
1
- {"version":3,"file":"Stories.js","sourceRoot":"","sources":["../src/Stories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Stories.js","sourceRoot":"","sources":["../src/Stories.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llm4ts/flow",
3
- "version": "2.8.0",
3
+ "version": "2.9.1",
4
4
  "description": "Effect-native LLM workflow, persistence, review, and repository automation",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -64,6 +64,8 @@
64
64
  "./ReviewCache": "./dist/ReviewCache.js",
65
65
  "./Reviewer": "./dist/Reviewer.js",
66
66
  "./SpecChecks": "./dist/SpecChecks.js",
67
+ "./Roster": "./dist/Roster.js",
68
+ "./RosterSeats": "./dist/RosterSeats.js",
67
69
  "./Stories": "./dist/Stories.js",
68
70
  "./StoryPlan": "./dist/StoryPlan.js",
69
71
  "./Survey": "./dist/Survey.js",
@@ -98,7 +100,7 @@
98
100
  "typescript"
99
101
  ],
100
102
  "dependencies": {
101
- "@llm4ts/core": "2.8.0"
103
+ "@llm4ts/core": "2.9.1"
102
104
  },
103
105
  "peerDependencies": {
104
106
  "effect": "4.0.0-rc.115"
@@ -8,6 +8,15 @@ import type { FlowError } from "./FlowError.ts"
8
8
  import type { FlowEventsShape } from "./FlowEvents.ts"
9
9
  import type { GitToolShape } from "./GitTool.ts"
10
10
  import type { GitHubToolShape } from "./GitHubTool.ts"
11
+ import type { RosterView } from "./RosterSeats.ts"
12
+
13
+ /** How a rebound context wants its coder (ADR 0019); ignored without a roster. */
14
+ export interface ContextOptions {
15
+ /** The executor this context held before (a resumed story), taken first while free. */
16
+ readonly prefer?: string
17
+ /** Who the context is for, in the roster's events ("story conto-overview"). */
18
+ readonly label?: string
19
+ }
11
20
 
12
21
  export interface FlowContextShape {
13
22
  readonly reasoning: LlmServiceShape
@@ -32,7 +41,16 @@ export interface FlowContextShape {
32
41
  * events and cost tracking shared. Absent when the runner cannot rebind
33
42
  * (an embedded context built by hand).
34
43
  */
35
- readonly contextFor?: (workDir: string) => Effect.Effect<FlowContextShape, FlowError, Scope.Scope>
44
+ readonly contextFor?: (
45
+ workDir: string,
46
+ options?: ContextOptions
47
+ ) => Effect.Effect<FlowContextShape, FlowError, Scope.Scope>
48
+ /**
49
+ * The executor roster behind the seats (ADR 0019), when the run has one:
50
+ * a seat per role, free and configured slots, and the executor holding
51
+ * this context's coder. Absent on a run with one executor per seat.
52
+ */
53
+ readonly roster?: RosterView
36
54
  }
37
55
 
38
56
  export class FlowContext extends Context.Service<FlowContext, FlowContextShape>()(
package/src/FlowError.ts CHANGED
@@ -205,6 +205,36 @@ export class EpicCheckoutDirty extends Schema.TaggedError<EpicCheckoutDirty>()(
205
205
  }
206
206
  }
207
207
 
208
+ /** A roster file that failed to load or validate — every violation, not the first (ADR 0019). */
209
+ export class RosterInvalid extends Schema.TaggedError<RosterInvalid>()("RosterInvalid", {
210
+ path: Schema.optionalKey(Schema.String),
211
+ violations: Schema.Array(Schema.String)
212
+ }) {
213
+ get message(): string {
214
+ const where = this.path === undefined ? "" : ` (${this.path})`
215
+ return `roster invalid${where}:\n${this.violations.map((violation) => `- ${violation}`).join("\n")}`
216
+ }
217
+ }
218
+
219
+ /** The start of every `RosterExhausted` message, so it is recognisable once wrapped. */
220
+ export const rosterExhaustedPrefix = "roster exhausted: no executor can ever take the role"
221
+
222
+ /**
223
+ * No executor of the roster can ever take `role` in this run: none has the
224
+ * role, or every one that has it is excluded for the run (ADR 0019). A
225
+ * roster waits for an executor that will come back; this is the case where
226
+ * none will.
227
+ */
228
+ export class RosterExhausted extends Schema.TaggedError<RosterExhausted>()("RosterExhausted", {
229
+ role: Schema.String,
230
+ reasons: Schema.Array(Schema.String)
231
+ }) {
232
+ get message(): string {
233
+ const why = this.reasons.length === 0 ? "" : `: ${this.reasons.join("; ")}`
234
+ return `${rosterExhaustedPrefix} '${this.role}'${why}`
235
+ }
236
+ }
237
+
208
238
  /** One story failed; carries the story id so a fail-fast run names its cause. */
209
239
  export class StoryFailed extends Schema.TaggedError<StoryFailed>()("StoryFailed", {
210
240
  story: Schema.String,
@@ -270,6 +300,8 @@ export const FlowError = Schema.Union([
270
300
  MissingDependency,
271
301
  MergeConflict,
272
302
  EpicCheckoutDirty,
303
+ RosterExhausted,
304
+ RosterInvalid,
273
305
  StoryFailed,
274
306
  DecisionsInvalid,
275
307
  OpenPointsPending,