@cat-factory/orchestration 0.62.0 → 0.64.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 (40) hide show
  1. package/dist/container.d.ts.map +1 -1
  2. package/dist/container.js +18 -0
  3. package/dist/container.js.map +1 -1
  4. package/dist/modules/execution/AgentContextBuilder.d.ts +26 -1
  5. package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
  6. package/dist/modules/execution/AgentContextBuilder.js +76 -3
  7. package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
  8. package/dist/modules/execution/ExecutionService.d.ts +27 -2
  9. package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
  10. package/dist/modules/execution/ExecutionService.js +30 -1
  11. package/dist/modules/execution/ExecutionService.js.map +1 -1
  12. package/dist/modules/execution/InitiativeInterviewController.d.ts +50 -0
  13. package/dist/modules/execution/InitiativeInterviewController.d.ts.map +1 -0
  14. package/dist/modules/execution/InitiativeInterviewController.js +137 -0
  15. package/dist/modules/execution/InitiativeInterviewController.js.map +1 -0
  16. package/dist/modules/execution/RunDispatcher.d.ts +66 -1
  17. package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
  18. package/dist/modules/execution/RunDispatcher.js +360 -91
  19. package/dist/modules/execution/RunDispatcher.js.map +1 -1
  20. package/dist/modules/execution/deployer.logic.d.ts +15 -1
  21. package/dist/modules/execution/deployer.logic.d.ts.map +1 -1
  22. package/dist/modules/execution/deployer.logic.js +41 -2
  23. package/dist/modules/execution/deployer.logic.js.map +1 -1
  24. package/dist/modules/execution/frame.logic.d.ts +20 -0
  25. package/dist/modules/execution/frame.logic.d.ts.map +1 -0
  26. package/dist/modules/execution/frame.logic.js +40 -0
  27. package/dist/modules/execution/frame.logic.js.map +1 -0
  28. package/dist/modules/initiative/InitiativeInterviewService.d.ts +38 -0
  29. package/dist/modules/initiative/InitiativeInterviewService.d.ts.map +1 -0
  30. package/dist/modules/initiative/InitiativeInterviewService.js +113 -0
  31. package/dist/modules/initiative/InitiativeInterviewService.js.map +1 -0
  32. package/dist/modules/initiative/InitiativeService.d.ts +12 -0
  33. package/dist/modules/initiative/InitiativeService.d.ts.map +1 -1
  34. package/dist/modules/initiative/InitiativeService.js +22 -1
  35. package/dist/modules/initiative/InitiativeService.js.map +1 -1
  36. package/dist/modules/initiative/initiative.logic.d.ts +45 -0
  37. package/dist/modules/initiative/initiative.logic.d.ts.map +1 -1
  38. package/dist/modules/initiative/initiative.logic.js +102 -1
  39. package/dist/modules/initiative/initiative.logic.js.map +1 -1
  40. package/package.json +10 -10
@@ -0,0 +1,137 @@
1
+ import { assertFound, INITIATIVE_INTERVIEWER_AGENT_KIND } from '@cat-factory/kernel';
2
+ import { interviewAtCap } from '../initiative/initiative.logic.js';
3
+ export class InitiativeInterviewController {
4
+ deps;
5
+ constructor(deps) {
6
+ this.deps = deps;
7
+ }
8
+ /**
9
+ * Run the interviewer gate step. When no interviewer model is wired the step passes
10
+ * through (pipelines — and the conformance suite — run unchanged). Otherwise it runs an
11
+ * interviewer pass: questions → persist them and PARK for the planning window; converged →
12
+ * fold the synthesized brief onto the entity and advance. Re-entrant: after the human
13
+ * `continue`s (or `proceed`s), the durable driver wakes and re-enters here, running the
14
+ * (slow) interviewer LLM in the driver rather than the HTTP request.
15
+ */
16
+ async evaluate(workspaceId, instance, step, block, isFinalStep) {
17
+ if (!this.deps.interviewService?.enabled) {
18
+ return this.completeStep(workspaceId, instance, step, isFinalStep);
19
+ }
20
+ // Re-entry: the human answered and asked to continue/proceed. `proceed` forces the
21
+ // interviewer to converge (no more questions); `continue` lets it ask follow-ups.
22
+ const pending = step.pendingInterview;
23
+ if (pending) {
24
+ step.pendingInterview = null;
25
+ return this.runPass(workspaceId, instance, step, block, isFinalStep, {
26
+ proceed: pending.proceed === true,
27
+ });
28
+ }
29
+ // Fresh entry: the interviewer's first pass.
30
+ return this.runPass(workspaceId, instance, step, block, isFinalStep, { proceed: false });
31
+ }
32
+ /** One interviewer pass: ask (park) or converge (advance). */
33
+ async runPass(workspaceId, instance, step, block, isFinalStep, opts) {
34
+ const interviewService = this.deps.interviewService;
35
+ const initiative = interviewService
36
+ ? await this.deps.initiativeService.getByBlock(workspaceId, block.id)
37
+ : null;
38
+ if (!interviewService || !initiative) {
39
+ // No interviewer wired, or no initiative entity to interview into — don't wedge the
40
+ // run; just advance (the fresh-entry `enabled` guard normally handles the former).
41
+ return this.completeStep(workspaceId, instance, step, isFinalStep);
42
+ }
43
+ const finalize = opts.proceed || interviewAtCap(initiative);
44
+ const output = await interviewService.runInterview(workspaceId, block, initiative, {
45
+ finalize,
46
+ });
47
+ if (output.kind === 'questions') {
48
+ await this.deps.initiativeService.recordInterviewQuestions(workspaceId, block.id, output.questions);
49
+ // Surface a decision-required notification so the parked planning gate is discoverable.
50
+ await this.deps.stateMachine.raiseDecisionRequired(workspaceId, instance);
51
+ return this.deps.stateMachine.parkStepOnDecision(workspaceId, instance, step);
52
+ }
53
+ // Converged: fold the synthesized brief onto the entity and advance to the analyst.
54
+ await this.deps.initiativeService.recordInterviewOutcome(workspaceId, block.id, {
55
+ goal: output.goal,
56
+ constraints: output.constraints,
57
+ nonGoals: output.nonGoals,
58
+ });
59
+ return this.completeStep(workspaceId, instance, step, isFinalStep);
60
+ }
61
+ // ---- window actions (driven by the server InitiativePlanningController) --------------
62
+ /** Record the human's answer to one pending question. Does NOT resume the run. */
63
+ async answer(workspaceId, blockId, questionId, answer) {
64
+ return assertFound(await this.deps.initiativeService.recordInterviewAnswer(workspaceId, blockId, questionId, answer), 'Initiative', blockId);
65
+ }
66
+ /** Submit the answers and resume the interview (the interviewer re-runs, may ask more). */
67
+ continue(workspaceId, blockId) {
68
+ return this.resume(workspaceId, blockId, { proceed: false }, 'continue');
69
+ }
70
+ /** Skip remaining questions: force the interviewer to converge, then advance. */
71
+ proceed(workspaceId, blockId) {
72
+ return this.resume(workspaceId, blockId, { proceed: true }, 'proceed');
73
+ }
74
+ /**
75
+ * Record the continue/proceed intent on the parked interviewer step and signal the durable
76
+ * driver to wake — which re-enters {@link evaluate} and runs the (slow) interviewer LLM
77
+ * off the HTTP request. Off-path (no parked run) it is a no-op read: the interview is not
78
+ * live, so there is no driver to wake.
79
+ */
80
+ async resume(workspaceId, blockId, intent, choice) {
81
+ const parked = await this.findParkedStep(workspaceId, blockId);
82
+ if (parked) {
83
+ const { instance, step } = parked;
84
+ step.pendingInterview = intent.proceed ? { proceed: true } : {};
85
+ // Re-arm BEFORE signalling: the park left the run `blocked`, and `advanceInstance`
86
+ // no-ops unless it is `running`/`paused`, so a woken driver would otherwise return
87
+ // without re-entering the gate (mirrors ReviewGateController.incorporate).
88
+ if (instance.status === 'blocked')
89
+ instance.status = 'running';
90
+ await this.deps.stateMachine.persistInstance(workspaceId, instance);
91
+ await this.deps.stateMachine.emitInstance(workspaceId, instance);
92
+ await this.deps.workRunner.signalDecision(workspaceId, instance.id, step.approval.id, choice);
93
+ }
94
+ return this.currentInitiative(workspaceId, blockId);
95
+ }
96
+ async currentInitiative(workspaceId, blockId) {
97
+ return assertFound(await this.deps.initiativeService.getByBlock(workspaceId, blockId), 'Initiative', blockId);
98
+ }
99
+ /** Locate the run + interviewer step a block's interview is parked on (or null). */
100
+ async findParkedStep(workspaceId, blockId) {
101
+ const block = await this.deps.blockRepository.get(workspaceId, blockId);
102
+ if (!block?.executionId)
103
+ return null;
104
+ const instance = await this.deps.executionRepository.get(workspaceId, block.executionId);
105
+ if (!instance)
106
+ return null;
107
+ const step = instance.steps.find((s) => s.agentKind === INITIATIVE_INTERVIEWER_AGENT_KIND &&
108
+ s.state === 'waiting_decision' &&
109
+ s.approval?.status === 'pending');
110
+ return step ? { instance, step } : null;
111
+ }
112
+ /** Finish the interviewer step and advance to the next step (or finish the run). */
113
+ async completeStep(workspaceId, instance, step, isFinalStep) {
114
+ this.deps.stepGraph.finishStep(step);
115
+ step.progress = 1;
116
+ step.subtasks = undefined;
117
+ step.approval = null;
118
+ step.pendingInterview = null;
119
+ if (isFinalStep) {
120
+ instance.status = 'done';
121
+ await this.deps.stateMachine.finalizeBlock(workspaceId, instance, undefined);
122
+ await this.deps.stateMachine.persistInstance(workspaceId, instance);
123
+ await this.deps.stateMachine.emitInstance(workspaceId, instance);
124
+ await this.deps.stateMachine.stopRunContainer(workspaceId, instance);
125
+ return { kind: 'done' };
126
+ }
127
+ instance.currentStep += 1;
128
+ const next = instance.steps[instance.currentStep];
129
+ if (next)
130
+ this.deps.stepGraph.startStep(next);
131
+ await this.deps.stateMachine.updateBlockProgress(workspaceId, instance, 'in_progress');
132
+ await this.deps.stateMachine.persistInstance(workspaceId, instance);
133
+ await this.deps.stateMachine.emitInstance(workspaceId, instance);
134
+ return { kind: 'continue' };
135
+ }
136
+ }
137
+ //# sourceMappingURL=InitiativeInterviewController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitiativeInterviewController.js","sourceRoot":"","sources":["../../../src/modules/execution/InitiativeInterviewController.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { CompanionController } from './CompanionController.js';
5
5
  import { HumanTestController } from './HumanTestController.js';
6
6
  import { MergeResolver } from './MergeResolver.js';
7
7
  import { ReviewGateController, type ReviewKind } from './ReviewGateController.js';
8
+ import type { InitiativeInterviewController } from './InitiativeInterviewController.js';
8
9
  import { RunStateMachine } from './RunStateMachine.js';
9
10
  import { StepGraph } from './StepGraph.js';
10
11
  import { TesterController } from './TesterController.js';
@@ -54,6 +55,8 @@ export interface RunDispatcherDeps {
54
55
  clarityKind: ReviewKind<ClarityReview>;
55
56
  requirementsBrainstormKind: ReviewKind<BrainstormSession>;
56
57
  architectureBrainstormKind: ReviewKind<BrainstormSession>;
58
+ /** The interactive-planning interviewer gate (slice 2); absent → the step passes through. */
59
+ initiativeInterviewController?: InitiativeInterviewController;
57
60
  runInitiatorScope: RunInitiatorScope;
58
61
  environmentProvisioning?: EnvironmentProvisioningService;
59
62
  ticketTrackerProvider?: TicketTrackerProvider;
@@ -106,6 +109,7 @@ export declare class RunDispatcher {
106
109
  private readonly clarityKind;
107
110
  private readonly requirementsBrainstormKind;
108
111
  private readonly architectureBrainstormKind;
112
+ private readonly initiativeInterviewController?;
109
113
  private readonly runInitiatorScope;
110
114
  private readonly environmentProvisioning?;
111
115
  private readonly ticketTrackerProvider?;
@@ -278,6 +282,47 @@ export declare class RunDispatcher {
278
282
  * the root cause. So do NOT reintroduce a `rethrowAgentErrors` branch here.
279
283
  */
280
284
  private runDeployerStep;
285
+ /**
286
+ * Advance a `deployer` fan-out over its already-resolved `targets`: dispatch the first un-settled
287
+ * frame (parking on an async deploy job) or, once every frame has settled, complete the step. One
288
+ * deploy job per frame, dispatched SEQUENTIALLY (parking between) so a later provider can receive
289
+ * the already-ready peers' URLs. `step.deployEnvs` records each frame's TERMINAL outcome, so a
290
+ * replay resumes at the first un-settled frame. Re-entered (with the SAME targets) after each
291
+ * synchronous/infraless/failed-peer frame settles — never re-reading the block list per frame.
292
+ */
293
+ private advanceDeployerFrames;
294
+ /**
295
+ * Resolve the ordered set of service frames a `deployer` step provisions environments for: the
296
+ * task's OWN service frame (always, `isPrimary`) plus each involved-service frame (read-time
297
+ * stale-filtered to ids that are still a connection neighbour AND resolve to a `service` frame
298
+ * WITH declared provisioning — an involved frame with none stands nothing up here). Ordered
299
+ * PROVIDER-before-CONSUMER over the connection edges among the targets (see
300
+ * {@link orderProvisionTargets}) so a later provision can receive its ready peers' URLs. One
301
+ * workspace block-list read; no per-frame point read.
302
+ *
303
+ * `pinnedPrimaryFrameId` (from {@link PipelineStep.deployPrimaryFrameId}, set on the first
304
+ * resolution) keeps the OWN/primary frame STABLE across re-entries: once the fan-out has started,
305
+ * a mid-flight reparent must not re-classify which frame is primary — that would flip an
306
+ * own-frame failure from terminal to a non-terminal peer failure. Prefer the pinned frame when it
307
+ * still resolves; fall back to a fresh `frameOf` walk otherwise.
308
+ */
309
+ private resolveDeployTargets;
310
+ /**
311
+ * Record one frame's TERMINAL deploy outcome onto `step.deployEnvs`, then continue the fan-out.
312
+ * A `ready` handle records the env and re-enters {@link advanceDeployerFrames} for the next
313
+ * frame; a `failed` handle routes to {@link settleDeployerFailure} (terminal only for the own
314
+ * frame). Shared by the synchronous-provision and async-finalized paths.
315
+ */
316
+ private settleDeployerFrame;
317
+ /**
318
+ * Record a frame's FAILED deploy outcome and decide whether it is terminal. The task's OWN
319
+ * (primary) service frame failing fails the whole deploy step (unchanged from the single-env
320
+ * path). An involved PEER frame failing is NON-terminal — the peer's env is best-effort context
321
+ * enrichment, so the run proceeds to the remaining frames without that peer's URL rather than
322
+ * failing a task because a service it merely "involves" has a misconfigured provider. The failed
323
+ * outcome is still recorded (surfaced in {@link completeDeployerStep}).
324
+ */
325
+ private settleDeployerFailure;
281
326
  /**
282
327
  * Poll a `deployer` step's dispatched CONTAINER-backed deploy job (the async kustomize/helm
283
328
  * path) through the environment provisioning service — NOT the agent executor. Mirrors
@@ -286,8 +331,28 @@ export declare class RunDispatcher {
286
331
  * genuine terminal state finalizes the job into an environment record + the step result.
287
332
  */
288
333
  private pollDeployerJob;
289
- /** The {@link ProvisionArgs} a `deployer` step provisions with (synchronous or async). */
334
+ /**
335
+ * The {@link ProvisionArgs} for provisioning ONE target frame's environment (synchronous or
336
+ * async). The env is keyed by the task `block.id` + the target `frameId` — so a task's own env
337
+ * and each involved-service env coexist under the same block, discriminated by frame (see the
338
+ * per-`(blockId, frameId)` supersede). The repo/clone the provider resolves is the TARGET
339
+ * FRAME's (via `frameId`), so an involved-service env clones that peer's repo at its default
340
+ * branch, while the OWN frame targets the task's PR branch (its git/PR context); a peer carries
341
+ * no PR context. The `{{input.*}}` identity (blockId/title/…) is the TARGET FRAME's for a peer
342
+ * (see {@link deployTargetInputs}) so each peer's provider namespace is distinct — the task-
343
+ * scoped inputs would collapse every peer onto one namespace. Injects `frontendOrigins` (the
344
+ * browser origins binding this service) and `peerEnvUrls` (the already-ready peers) too.
345
+ */
290
346
  private deployerProvisionArgs;
347
+ /**
348
+ * The `{{input.*}}` identity a target frame provisions with. The OWN frame keeps the historical
349
+ * task-scoped inputs (its namespace is uniquified by the task's PR repo/number). An involved PEER
350
+ * frame is scoped to the PEER FRAME's identity, with a `(task, peer)` composite `blockId` — so
351
+ * the provider namespace derived from `{{input.blockId}}` is distinct per peer AND per task,
352
+ * where the task-scoped inputs would collapse every peer of a task onto ONE namespace (each
353
+ * clobbering the previous, teardown deleting the wrong one).
354
+ */
355
+ private deployTargetInputs;
291
356
  /**
292
357
  * The `frontendOrigins` provision input for a service frame: the comma-joined browser origins
293
358
  * of every `frontend` frame that binds this service (see `frontendOriginsForService`), for a
@@ -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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"}