@cat-factory/orchestration 0.104.0 → 0.105.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 (30) hide show
  1. package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
  2. package/dist/modules/execution/AgentContextBuilder.js +25 -2
  3. package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
  4. package/dist/modules/execution/ExecutionService.d.ts +7 -1
  5. package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
  6. package/dist/modules/execution/ExecutionService.js +22 -0
  7. package/dist/modules/execution/ExecutionService.js.map +1 -1
  8. package/dist/modules/execution/ForkDecisionController.d.ts +68 -0
  9. package/dist/modules/execution/ForkDecisionController.d.ts.map +1 -0
  10. package/dist/modules/execution/ForkDecisionController.js +169 -0
  11. package/dist/modules/execution/ForkDecisionController.js.map +1 -0
  12. package/dist/modules/execution/RunDispatcher.d.ts +18 -1
  13. package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
  14. package/dist/modules/execution/RunDispatcher.js +100 -5
  15. package/dist/modules/execution/RunDispatcher.js.map +1 -1
  16. package/dist/modules/execution/RunStateMachine.d.ts +3 -1
  17. package/dist/modules/execution/RunStateMachine.d.ts.map +1 -1
  18. package/dist/modules/execution/RunStateMachine.js +13 -3
  19. package/dist/modules/execution/RunStateMachine.js.map +1 -1
  20. package/dist/modules/execution/forkDecision.logic.d.ts +50 -0
  21. package/dist/modules/execution/forkDecision.logic.d.ts.map +1 -0
  22. package/dist/modules/execution/forkDecision.logic.js +108 -0
  23. package/dist/modules/execution/forkDecision.logic.js.map +1 -0
  24. package/dist/modules/merge/RiskPolicyService.d.ts.map +1 -1
  25. package/dist/modules/merge/RiskPolicyService.js +3 -0
  26. package/dist/modules/merge/RiskPolicyService.js.map +1 -1
  27. package/dist/modules/notifications/NotificationService.d.ts.map +1 -1
  28. package/dist/modules/notifications/NotificationService.js +5 -1
  29. package/dist/modules/notifications/NotificationService.js.map +1 -1
  30. package/package.json +11 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForkDecisionController.js","sourceRoot":"","sources":["../../../src/modules/execution/ForkDecisionController.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentExecutor, AgentRunContext, AgentRunResult, Block, BlockRepository, BrainstormSession, ClarityReview, Clock, ExecutionEventPublisher, ExecutionInstance, ExecutionRepository, FollowUpsStepState, GateDefinition, IdGenerator, IssueWritebackProvider, PipelineStep, ProviderCapabilities, ProvisionContext, RequirementConcernLevel, RequirementReview, ResolveRunRepoContext, RunInitiatorScope, TicketTrackerProvider, WorkRunner } from '@cat-factory/kernel';
1
+ import type { AgentExecutor, AgentRunContext, AgentRunResult, Block, BlockRepository, BrainstormSession, ClarityReview, Clock, ExecutionEventPublisher, ExecutionInstance, ExecutionRepository, FollowUpsStepState, ForkDecisionStepState, ChooseForkInput, GateDefinition, IdGenerator, IssueWritebackProvider, PipelineStep, ProviderCapabilities, ProvisionContext, RequirementConcernLevel, StepGating, RequirementReview, ResolveRunRepoContext, RunInitiatorScope, TicketTrackerProvider, WorkRunner } from '@cat-factory/kernel';
2
2
  import type { AgentKindRegistry } from '@cat-factory/agents';
3
3
  import type { BugIntakeService, EnvironmentProvisioningService } from '@cat-factory/integrations';
4
4
  import { AgentContextBuilder } from './AgentContextBuilder.js';
@@ -6,6 +6,7 @@ import { CompanionController } from './CompanionController.js';
6
6
  import { HumanTestController } from './HumanTestController.js';
7
7
  import { MergeResolver } from './MergeResolver.js';
8
8
  import { ReviewGateController, type ReviewKind } from './ReviewGateController.js';
9
+ import { ForkDecisionController } from './ForkDecisionController.js';
9
10
  import type { InterviewGateController } from './InterviewGateController.js';
10
11
  import { RunStateMachine } from './RunStateMachine.js';
11
12
  import { StepGraph } from './StepGraph.js';
@@ -32,6 +33,7 @@ type ResolvedRiskPolicy = {
32
33
  releaseWatchWindowMinutes: number;
33
34
  releaseMaxAttempts: number;
34
35
  humanReviewGraceMinutes: number;
36
+ forkDecision?: StepGating | null;
35
37
  };
36
38
  /** Collaborators + leaf dependencies the {@link RunDispatcher} needs. */
37
39
  export interface RunDispatcherDeps {
@@ -54,6 +56,7 @@ export interface RunDispatcherDeps {
54
56
  humanTestController: HumanTestController;
55
57
  visualConfirmationController: VisualConfirmationController;
56
58
  reviewGate: ReviewGateController;
59
+ forkDecisionController: ForkDecisionController;
57
60
  requirementsKind: ReviewKind<RequirementReview>;
58
61
  clarityKind: ReviewKind<ClarityReview>;
59
62
  requirementsBrainstormKind: ReviewKind<BrainstormSession>;
@@ -116,6 +119,7 @@ export declare class RunDispatcher {
116
119
  private readonly humanTestController;
117
120
  private readonly visualConfirmationController;
118
121
  private readonly reviewGate;
122
+ private readonly forkDecisionController;
119
123
  private readonly requirementsKind;
120
124
  private readonly clarityKind;
121
125
  private readonly requirementsBrainstormKind;
@@ -665,6 +669,19 @@ export declare class RunDispatcher {
665
669
  private activeFollowUpStep;
666
670
  /** Read a run's live follow-up companion state (the active Coder step's items), or null. */
667
671
  getFollowUps(workspaceId: string, executionId: string): Promise<FollowUpsStepState | null>;
672
+ /**
673
+ * Run the fork-decision phase for a coder step. On fresh entry resolve whether to propose
674
+ * (tri-state `off` → skip; `always` → propose; `auto` → the risk-policy fork gate against the
675
+ * block's estimate). Not proposing → record `skipped` and `continue` so the driver re-enters
676
+ * and dispatches the Coder. Proposing → dispatch the read-only `fork-proposer` explore job on
677
+ * this step (Phase A) via {@link handleAgentStep} with a dispatch-kind override; its
678
+ * completion is intercepted. A re-drive while `proposing` re-attaches to the running job.
679
+ */
680
+ private handleForkDecisionPhase;
681
+ /** Read a run's active implementation-fork decision state, or null. */
682
+ getForkDecision(workspaceId: string, executionId: string): Promise<ForkDecisionStepState | null>;
683
+ /** Resolve the human's implementation-fork choice, re-running the Coder with it folded in. */
684
+ chooseFork(workspaceId: string, executionId: string, input: ChooseForkInput): Promise<ForkDecisionStepState>;
668
685
  /**
669
686
  * Locate the run + the Coder step that OWNS the addressed item + the item, throwing 404
670
687
  * when absent. Routes by item id (not "the first enabled step") so a pipeline carrying more
@@ -1 +1 @@
1
- {"version":3,"file":"RunDispatcher.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunDispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunDispatcher.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunDispatcher.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ConflictError, DEFAULT_RISK_POLICY, getErrorMessage, getErrorReason, getProvider, INITIATIVE_ANALYST_AGENT_KIND, INITIATIVE_COMMITTER_AGENT_KIND, INITIATIVE_PLANNER_AGENT_KIND, isAsyncAgentExecutor, NotFoundError, parseLocalModelId, recordGateAttempt, registeredGateFactories, registeredStepResolverFactories, requireProvider, RunContendedError, sameSubtasks, } from '@cat-factory/kernel';
2
2
  import { frontendOriginsForService, parseBlueprintService, parseSpecDoc, resolveAprioriWorkingBranch, } from '@cat-factory/contracts';
3
- import { blueprintPostOp, commitInitiativeTracker, hasTrait, isCompanionKind, isContainerBackedCompanion, INTERVIEW_GATE_TRAIT, moduleSlug, runRepoOps, specPostOp, TASK_ESTIMATOR_AGENT_KIND, } from '@cat-factory/agents';
3
+ import { blueprintPostOp, commitInitiativeTracker, FORK_PROPOSER_KIND, hasTrait, isCompanionKind, isContainerBackedCompanion, INTERVIEW_GATE_TRAIT, moduleSlug, runRepoOps, specPostOp, TASK_ESTIMATOR_AGENT_KIND, } from '@cat-factory/agents';
4
4
  import { DEPLOYER_AGENT_KIND, isDeployStep } from '@cat-factory/integrations';
5
5
  import { BUG_INTAKE_AGENT_KIND } from '../pipelines/pipelineShape.js';
6
6
  import { coerceTaskEstimate, summarizeEstimate } from '../estimation/estimate.logic.js';
@@ -17,6 +17,8 @@ import { CompanionController } from './CompanionController.js';
17
17
  import { HumanTestController } from './HumanTestController.js';
18
18
  import { MergeResolver } from './MergeResolver.js';
19
19
  import { ReviewGateController } from './ReviewGateController.js';
20
+ import { ForkDecisionController } from './ForkDecisionController.js';
21
+ import { DEFAULT_FORK_MAX_CHAT_TURNS, forkPhasePending, resolveForkTriState, shouldProposeForkAuto, } from './forkDecision.logic.js';
20
22
  import { RunStateMachine } from './RunStateMachine.js';
21
23
  import { StepGraph } from './StepGraph.js';
22
24
  import { TesterController } from './TesterController.js';
@@ -115,6 +117,7 @@ export class RunDispatcher {
115
117
  humanTestController;
116
118
  visualConfirmationController;
117
119
  reviewGate;
120
+ forkDecisionController;
118
121
  requirementsKind;
119
122
  clarityKind;
120
123
  requirementsBrainstormKind;
@@ -160,6 +163,7 @@ export class RunDispatcher {
160
163
  this.humanTestController = deps.humanTestController;
161
164
  this.visualConfirmationController = deps.visualConfirmationController;
162
165
  this.reviewGate = deps.reviewGate;
166
+ this.forkDecisionController = deps.forkDecisionController;
163
167
  this.requirementsKind = deps.requirementsKind;
164
168
  this.clarityKind = deps.clarityKind;
165
169
  this.requirementsBrainstormKind = deps.requirementsBrainstormKind;
@@ -208,14 +212,19 @@ export class RunDispatcher {
208
212
  * what the dispatch chain falls through to; all the deterministic / gate / inline-review
209
213
  * kinds are claimed earlier by their own handlers (see {@link buildStepHandlerRegistry}).
210
214
  */
211
- async handleAgentStep(ctx) {
215
+ async handleAgentStep(ctx, dispatchKind) {
212
216
  const { workspaceId, instance, step, block, isFinalStep, options } = ctx;
213
217
  // Async (container) steps don't block: dispatch the job and park. The durable
214
218
  // driver polls `pollAgentJob` between sleeps so the run can span far longer
215
219
  // than a single durable step's timeout, while each step stays short. A set
216
220
  // `jobId` means a prior (possibly replayed) dispatch already started the job,
217
221
  // so we re-attach instead of starting a duplicate.
218
- const context = await this.contextBuilder.buildContext(workspaceId, instance, step, isFinalStep, block);
222
+ //
223
+ // `dispatchKind` overrides the dispatched agent kind WITHOUT changing `step.agentKind`
224
+ // — used by the fork-decision phase to dispatch the read-only `fork-proposer` explore
225
+ // job as a HELPER off the coder step (Phase A). The completion still records against the
226
+ // coder step, and the fork-proposal interceptor keys on `step.agentKind` + the fork state.
227
+ const context = await this.contextBuilder.buildContext(workspaceId, instance, step, isFinalStep, block, dispatchKind ? { agentKind: dispatchKind } : undefined);
219
228
  // A registered custom kind's PRE-ops run deterministic backend repo work before the
220
229
  // agent dispatches (e.g. read a baseline `spec/` shard into the prompt). Gated on the
221
230
  // step not having dispatched yet so a Workflows replay (jobId already set) doesn't
@@ -497,7 +506,10 @@ export class RunDispatcher {
497
506
  const persisted = await this.runStateMachine.mutateInstance(workspaceId, executionId, async (fresh) => {
498
507
  await applyRunningFold(fresh);
499
508
  });
500
- await this.runStateMachine.emitInstance(workspaceId, persisted);
509
+ // Progress-only fold (subtask ticks / streamed follow-ups): skip the per-run
510
+ // LLM-metrics GROUP BY so a live container's poll cadence doesn't re-aggregate
511
+ // the run on every tick. The rollup refreshes on the step-boundary/terminal emit.
512
+ await this.runStateMachine.emitInstance(workspaceId, persisted, { rollUpMetrics: false });
501
513
  }
502
514
  catch (error) {
503
515
  // The run was cancelled/removed mid-poll (`NotFoundError`) or stayed hot-contended
@@ -1462,7 +1474,9 @@ export class RunDispatcher {
1462
1474
  }
1463
1475
  if (changed) {
1464
1476
  await this.runStateMachine.casPersist(workspaceId, instance);
1465
- await this.runStateMachine.emitInstance(workspaceId, instance);
1477
+ // Progress-only deploy-job fold: skip the LLM-metrics rollup (same reason as the
1478
+ // agent running fold above — a deploy job makes no LLM calls anyway).
1479
+ await this.runStateMachine.emitInstance(workspaceId, instance, { rollUpMetrics: false });
1466
1480
  }
1467
1481
  return { kind: 'awaiting_job', jobId: step.jobId, stepIndex: instance.currentStep };
1468
1482
  }
@@ -2239,6 +2253,19 @@ export class RunDispatcher {
2239
2253
  canHandle: ({ step }) => isCompanionKind(step.agentKind) && !isContainerBackedCompanion(step.agentKind),
2240
2254
  handle: ({ workspaceId, instance, step, block, isFinalStep, options }) => this.companionController.evaluate(workspaceId, instance, step, block, isFinalStep, options),
2241
2255
  },
2256
+ // The optional implementation-fork decision phase on a Coder step (Phase A): when the
2257
+ // per-task tri-state + the risk-policy gate call for it, dispatch the read-only
2258
+ // `fork-proposer` explore job as a helper off THIS coder step. Claims the step only
2259
+ // while the phase is pending (tri-state not `off`, not yet resolved); once resolved
2260
+ // (`chosen` / `single_path` / `skipped`) it falls through so the Coder dispatches
2261
+ // normally (Phase B). A parked `awaiting_choice` step is short-circuited by the
2262
+ // run-lifecycle re-entry guard before this handler runs. See {@link handleForkDecisionPhase}.
2263
+ {
2264
+ kind: 'fork-decision',
2265
+ order: 170,
2266
+ canHandle: ({ step, block }) => forkPhasePending(step, resolveForkTriState(block.agentConfig)),
2267
+ handle: (ctx) => this.handleForkDecisionPhase(ctx),
2268
+ },
2242
2269
  // The generic container/inline-agent step — claims every step no more-specific handler
2243
2270
  // did. Highest order so it always runs last. See {@link handleAgentStep}.
2244
2271
  {
@@ -2293,6 +2320,22 @@ export class RunDispatcher {
2293
2320
  return this.companionController.resolveContainerVerdict(workspaceId, instance, step, companionBlock, isFinalStep, result);
2294
2321
  },
2295
2322
  },
2323
+ // The `fork-proposer` explore job (Phase A of the fork decision) just finished on a
2324
+ // coder step. Its structured `result.custom` is the proposal; record it onto the step's
2325
+ // `forkDecision` and either park for the human to choose (≥2 usable forks) or auto-advance
2326
+ // a single path — never the normal output/PR/follow-up/approval completion (none applies
2327
+ // to the proposer). Keyed on the coder step carrying `forkDecision.status === 'proposing'`.
2328
+ {
2329
+ kind: 'fork-proposal',
2330
+ order: 105,
2331
+ canIntercept: ({ step }) => step.agentKind === 'coder' && step.forkDecision?.status === 'proposing',
2332
+ intercept: ({ workspaceId, instance, step, result }) => {
2333
+ const proposal = this.agentKindRegistry
2334
+ .structuredOutput(FORK_PROPOSER_KIND)
2335
+ ?.safeParse(result.custom);
2336
+ return this.forkDecisionController.recordProposal(workspaceId, instance, step, proposal, step.model);
2337
+ },
2338
+ },
2296
2339
  // A `tester` step returned a structured report. On a withheld greenlight we do NOT
2297
2340
  // finish the step: loop the `fixer` (within the attempt budget) and re-test, mirroring
2298
2341
  // the CI gate. A greenlight (or no provider) returns null and falls through to the
@@ -2778,6 +2821,58 @@ export class RunDispatcher {
2778
2821
  throw new NotFoundError('Execution', executionId);
2779
2822
  return this.activeFollowUpStep(instance)?.step.followUps ?? null;
2780
2823
  }
2824
+ // ---- Implementation-fork decision phase (Phase A dispatch) --------------
2825
+ // The proposer explore job runs as a HELPER off the coder step; its completion is handled
2826
+ // by the `fork-proposal` interceptor + {@link ForkDecisionController.recordProposal}, and the
2827
+ // human's choice by {@link ForkDecisionController.choose}. This method only owns the FRESH
2828
+ // entry: resolve the tri-state + risk-policy gate, then either dispatch the proposer or fall
2829
+ // through by marking the phase skipped so the Coder dispatches on the next re-drive.
2830
+ /**
2831
+ * Run the fork-decision phase for a coder step. On fresh entry resolve whether to propose
2832
+ * (tri-state `off` → skip; `always` → propose; `auto` → the risk-policy fork gate against the
2833
+ * block's estimate). Not proposing → record `skipped` and `continue` so the driver re-enters
2834
+ * and dispatches the Coder. Proposing → dispatch the read-only `fork-proposer` explore job on
2835
+ * this step (Phase A) via {@link handleAgentStep} with a dispatch-kind override; its
2836
+ * completion is intercepted. A re-drive while `proposing` re-attaches to the running job.
2837
+ */
2838
+ async handleForkDecisionPhase(ctx) {
2839
+ const { workspaceId, instance, step, block } = ctx;
2840
+ if (!step.forkDecision) {
2841
+ const tri = resolveForkTriState(block.agentConfig);
2842
+ let propose = tri === 'always';
2843
+ if (tri === 'auto') {
2844
+ const policy = await this.resolveRiskPolicy(workspaceId, block);
2845
+ propose = shouldProposeForkAuto(policy.forkDecision, block.estimate);
2846
+ }
2847
+ if (!propose) {
2848
+ step.forkDecision = {
2849
+ status: 'skipped',
2850
+ forks: [],
2851
+ chat: [],
2852
+ maxChatTurns: DEFAULT_FORK_MAX_CHAT_TURNS,
2853
+ };
2854
+ await this.runStateMachine.casPersist(workspaceId, instance);
2855
+ await this.runStateMachine.emitInstance(workspaceId, instance);
2856
+ return { kind: 'continue' };
2857
+ }
2858
+ step.forkDecision = {
2859
+ status: 'proposing',
2860
+ forks: [],
2861
+ chat: [],
2862
+ maxChatTurns: DEFAULT_FORK_MAX_CHAT_TURNS,
2863
+ };
2864
+ }
2865
+ // Dispatch (or re-attach to) the proposer as a helper off this coder step.
2866
+ return this.handleAgentStep(ctx, FORK_PROPOSER_KIND);
2867
+ }
2868
+ /** Read a run's active implementation-fork decision state, or null. */
2869
+ getForkDecision(workspaceId, executionId) {
2870
+ return this.forkDecisionController.getActive(workspaceId, executionId);
2871
+ }
2872
+ /** Resolve the human's implementation-fork choice, re-running the Coder with it folded in. */
2873
+ chooseFork(workspaceId, executionId, input) {
2874
+ return this.forkDecisionController.choose(workspaceId, executionId, input);
2875
+ }
2781
2876
  /**
2782
2877
  * Locate the run + the Coder step that OWNS the addressed item + the item, throwing 404
2783
2878
  * when absent. Routes by item id (not "the first enabled step") so a pipeline carrying more