@cat-factory/orchestration 0.248.4 → 0.249.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.
- package/dist/modules/execution/BinaryCandidateController.d.ts +61 -0
- package/dist/modules/execution/BinaryCandidateController.d.ts.map +1 -0
- package/dist/modules/execution/BinaryCandidateController.js +215 -0
- package/dist/modules/execution/BinaryCandidateController.js.map +1 -0
- package/dist/modules/execution/ExecutionService.d.ts +19 -39
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +32 -89
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/RunAdmission.js +2 -0
- package/dist/modules/execution/RunAdmission.js.map +1 -1
- package/dist/modules/execution/RunDispatcher.d.ts +6 -1
- package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
- package/dist/modules/execution/RunDispatcher.js +11 -0
- package/dist/modules/execution/RunDispatcher.js.map +1 -1
- package/dist/modules/execution/RunDispatcherDependencies.d.ts +2 -0
- package/dist/modules/execution/RunDispatcherDependencies.d.ts.map +1 -1
- package/dist/modules/execution/RunDispatcherDependencies.js.map +1 -1
- package/dist/modules/execution/StepDecisionController.d.ts.map +1 -1
- package/dist/modules/execution/StepDecisionController.js +1 -0
- package/dist/modules/execution/StepDecisionController.js.map +1 -1
- package/dist/modules/execution/dispatcher-registries.d.ts +2 -0
- package/dist/modules/execution/dispatcher-registries.d.ts.map +1 -1
- package/dist/modules/execution/dispatcher-registries.js +15 -0
- package/dist/modules/execution/dispatcher-registries.js.map +1 -1
- package/dist/modules/execution/gate-window-controllers.d.ts +2 -0
- package/dist/modules/execution/gate-window-controllers.d.ts.map +1 -1
- package/dist/modules/execution/gate-window-controllers.js +12 -0
- package/dist/modules/execution/gate-window-controllers.js.map +1 -1
- package/dist/modules/execution/run-binary-output.d.ts.map +1 -1
- package/dist/modules/execution/run-binary-output.js +6 -1
- package/dist/modules/execution/run-binary-output.js.map +1 -1
- package/dist/modules/execution/run-decision-surfaces.d.ts +23 -0
- package/dist/modules/execution/run-decision-surfaces.d.ts.map +1 -0
- package/dist/modules/execution/run-decision-surfaces.js +66 -0
- package/dist/modules/execution/run-decision-surfaces.js.map +1 -0
- package/dist/modules/execution/run-foundational-services.d.ts +5 -2
- package/dist/modules/execution/run-foundational-services.d.ts.map +1 -1
- package/dist/modules/execution/run-foundational-services.js.map +1 -1
- package/dist/modules/execution/step-park.logic.d.ts +1 -1
- package/dist/modules/execution/step-park.logic.d.ts.map +1 -1
- package/dist/modules/execution/step-park.logic.js +5 -0
- package/dist/modules/execution/step-park.logic.js.map +1 -1
- package/dist/modules/pipelines/pipelineShape.d.ts.map +1 -1
- package/dist/modules/pipelines/pipelineShape.js +31 -1
- package/dist/modules/pipelines/pipelineShape.js.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { BinaryCandidateStepState, BlockRepository, Clock, ExecutionInstance, ExecutionRepository, IdGenerator, KeepBinaryCandidatesInput, PipelineStep, WorkRunner } from '@cat-factory/kernel';
|
|
2
|
+
import type { NotificationService } from '../notifications/NotificationService.js';
|
|
3
|
+
import type { AdvanceResult } from './advance.js';
|
|
4
|
+
import type { RunStateMachine } from './RunStateMachine.js';
|
|
5
|
+
import type { StepGraph } from './StepGraph.js';
|
|
6
|
+
/** What the candidate controller needs beyond the shared run state-machine spine. */
|
|
7
|
+
export interface BinaryCandidateControllerDeps {
|
|
8
|
+
blockRepository: BlockRepository;
|
|
9
|
+
executionRepository: ExecutionRepository;
|
|
10
|
+
workRunner: WorkRunner;
|
|
11
|
+
/** The async instance/block spine (park/advance/persist/emit/progress). */
|
|
12
|
+
stateMachine: RunStateMachine;
|
|
13
|
+
/** The pure step mutators (start/finish/reset a step). */
|
|
14
|
+
stepGraph: StepGraph;
|
|
15
|
+
idGenerator: IdGenerator;
|
|
16
|
+
clock: Clock;
|
|
17
|
+
/** Optional inbox channel; when unwired the specific card is skipped and the generic
|
|
18
|
+
* waiting-notification the park itself raises still names the run. */
|
|
19
|
+
notificationService?: NotificationService;
|
|
20
|
+
}
|
|
21
|
+
export declare class BinaryCandidateController {
|
|
22
|
+
private readonly deps;
|
|
23
|
+
constructor(deps: BinaryCandidateControllerDeps);
|
|
24
|
+
/**
|
|
25
|
+
* Record the first pass's staged candidates onto the step and decide the flow. Runs as the
|
|
26
|
+
* completion interceptor's body, so it must return one of three things and each is a different
|
|
27
|
+
* fact about the run:
|
|
28
|
+
*
|
|
29
|
+
* - **≥2 candidates** ⇒ park. This is what the comparison is for.
|
|
30
|
+
* - **exactly 1** ⇒ keep it automatically and re-arm the step for the delivering pass. Nobody
|
|
31
|
+
* is asked to choose between one thing, and discarding a real generation because it had no
|
|
32
|
+
* rival would be the worse outcome. The choice records `automatic: true` so no surface can
|
|
33
|
+
* present it as reviewed (the fork decision's `single_path`, one subject over).
|
|
34
|
+
* - **none** ⇒ record `no_choice` with the reason and FALL THROUGH (`null`) to the ordinary
|
|
35
|
+
* completion, so the run advances. A comparison that wedged a run because a model forgot a
|
|
36
|
+
* fenced block would be a worse failure than the one it exists to prevent, and the reason
|
|
37
|
+
* (`undeclared` / `parse_failed` / `no_candidates`) is on the step for a human to read.
|
|
38
|
+
*
|
|
39
|
+
* The state is recorded on EVERY path including the last, which is the point: a step that
|
|
40
|
+
* settles with nothing rendered would otherwise be indistinguishable from a step that never
|
|
41
|
+
* compared.
|
|
42
|
+
*/
|
|
43
|
+
recordCandidates(workspaceId: string, instance: ExecutionInstance, step: PipelineStep, output: string | undefined): Promise<AdvanceResult | null>;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve the human's choice: validate the kept ids against a FRESH snapshot, record what
|
|
46
|
+
* survives and under which alternate ids, re-arm the step for the delivering pass and wake the
|
|
47
|
+
* driver.
|
|
48
|
+
*
|
|
49
|
+
* The validation is against the snapshot rather than against whatever the client sent, for the
|
|
50
|
+
* ordinary reason (two people, one park) and one specific to this surface: `storeAs` is the id
|
|
51
|
+
* an artifact lands under, so a duplicate would deliver two files to one address and report both
|
|
52
|
+
* as stored. That is refused here rather than left to the agent, which has no way to tell a
|
|
53
|
+
* deliberate overwrite from a collision.
|
|
54
|
+
*/
|
|
55
|
+
keep(workspaceId: string, executionId: string, input: KeepBinaryCandidatesInput): Promise<BinaryCandidateStepState>;
|
|
56
|
+
/** The active candidate state for a run's GET, or null when no step carries one. */
|
|
57
|
+
getActive(workspaceId: string, executionId: string): Promise<BinaryCandidateStepState | null>;
|
|
58
|
+
/** Raise the "compare the generated candidates" inbox card when the run parks. */
|
|
59
|
+
private raiseCandidatesPending;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=BinaryCandidateController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BinaryCandidateController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/BinaryCandidateController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EACxB,eAAe,EACf,KAAK,EACL,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,yBAAyB,EACzB,YAAY,EACZ,UAAU,EACX,MAAM,qBAAqB,CAAA;AAO5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAiB/C,qFAAqF;AACrF,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,eAAe,CAAA;IAChC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,UAAU,EAAE,UAAU,CAAA;IACtB,2EAA2E;IAC3E,YAAY,EAAE,eAAe,CAAA;IAC7B,0DAA0D;IAC1D,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ;2EACuE;IACvE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AAED,qBAAa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,6BAA6B,EAAI;IAEpE;;;;;;;;;;;;;;;;;;OAkBG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAoD/B;IAED;;;;;;;;;;OAUG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CAqDnC;IAED,oFAAoF;IAC9E,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAU1C;IAED,kFAAkF;YACpE,sBAAsB;CA0BrC"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { ConflictError, MAX_BINARY_CANDIDATES, parseBinaryCandidateDeclaration, ValidationError, } from '@cat-factory/kernel';
|
|
2
|
+
export class BinaryCandidateController {
|
|
3
|
+
deps;
|
|
4
|
+
constructor(deps) {
|
|
5
|
+
this.deps = deps;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Record the first pass's staged candidates onto the step and decide the flow. Runs as the
|
|
9
|
+
* completion interceptor's body, so it must return one of three things and each is a different
|
|
10
|
+
* fact about the run:
|
|
11
|
+
*
|
|
12
|
+
* - **≥2 candidates** ⇒ park. This is what the comparison is for.
|
|
13
|
+
* - **exactly 1** ⇒ keep it automatically and re-arm the step for the delivering pass. Nobody
|
|
14
|
+
* is asked to choose between one thing, and discarding a real generation because it had no
|
|
15
|
+
* rival would be the worse outcome. The choice records `automatic: true` so no surface can
|
|
16
|
+
* present it as reviewed (the fork decision's `single_path`, one subject over).
|
|
17
|
+
* - **none** ⇒ record `no_choice` with the reason and FALL THROUGH (`null`) to the ordinary
|
|
18
|
+
* completion, so the run advances. A comparison that wedged a run because a model forgot a
|
|
19
|
+
* fenced block would be a worse failure than the one it exists to prevent, and the reason
|
|
20
|
+
* (`undeclared` / `parse_failed` / `no_candidates`) is on the step for a human to read.
|
|
21
|
+
*
|
|
22
|
+
* The state is recorded on EVERY path including the last, which is the point: a step that
|
|
23
|
+
* settles with nothing rendered would otherwise be indistinguishable from a step that never
|
|
24
|
+
* compared.
|
|
25
|
+
*/
|
|
26
|
+
async recordCandidates(workspaceId, instance, step, output) {
|
|
27
|
+
const declaration = parseBinaryCandidateDeclaration(output);
|
|
28
|
+
const candidates = declaration.candidates.map((candidate) => ({
|
|
29
|
+
id: this.deps.idGenerator.next('cand'),
|
|
30
|
+
...candidate,
|
|
31
|
+
}));
|
|
32
|
+
const multiSelect = step.stepOptions?.binaryOutput?.comparison?.multiSelect === true;
|
|
33
|
+
const bookkeeping = {
|
|
34
|
+
candidates,
|
|
35
|
+
multiSelect,
|
|
36
|
+
invalidEntries: declaration.invalidEntries,
|
|
37
|
+
omitted: declaration.omitted,
|
|
38
|
+
unusablePreviews: declaration.unusablePreviews,
|
|
39
|
+
};
|
|
40
|
+
if (candidates.length === 0) {
|
|
41
|
+
step.binaryCandidates = {
|
|
42
|
+
...bookkeeping,
|
|
43
|
+
status: 'no_choice',
|
|
44
|
+
noChoiceReason: declaration.parseFailed
|
|
45
|
+
? 'parse_failed'
|
|
46
|
+
: declaration.undeclared
|
|
47
|
+
? 'undeclared'
|
|
48
|
+
: 'no_candidates',
|
|
49
|
+
};
|
|
50
|
+
// Deliberately NOT persisted here: returning null hands the step to the ordinary completion
|
|
51
|
+
// path, which persists and emits the whole instance. Writing it twice would emit a run
|
|
52
|
+
// whose step is finished by one field and still running by another.
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
if (candidates.length === 1) {
|
|
56
|
+
step.binaryCandidates = {
|
|
57
|
+
...bookkeeping,
|
|
58
|
+
status: 'chosen',
|
|
59
|
+
choice: {
|
|
60
|
+
kept: [{ candidateId: candidates[0].id }],
|
|
61
|
+
discarded: [],
|
|
62
|
+
automatic: true,
|
|
63
|
+
at: this.deps.clock.now(),
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
// Re-arm the SAME step so the driver re-enters and dispatches the delivering pass.
|
|
67
|
+
this.deps.stepGraph.resetStepForRerun(step);
|
|
68
|
+
this.deps.stepGraph.startStep(step);
|
|
69
|
+
await this.deps.stateMachine.persistAndEmit(workspaceId, instance);
|
|
70
|
+
return { kind: 'continue' };
|
|
71
|
+
}
|
|
72
|
+
step.binaryCandidates = { ...bookkeeping, status: 'awaiting_choice' };
|
|
73
|
+
await this.raiseCandidatesPending(workspaceId, instance, candidates.length);
|
|
74
|
+
return this.deps.stateMachine.parkStepOnDecision(workspaceId, instance, step);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Resolve the human's choice: validate the kept ids against a FRESH snapshot, record what
|
|
78
|
+
* survives and under which alternate ids, re-arm the step for the delivering pass and wake the
|
|
79
|
+
* driver.
|
|
80
|
+
*
|
|
81
|
+
* The validation is against the snapshot rather than against whatever the client sent, for the
|
|
82
|
+
* ordinary reason (two people, one park) and one specific to this surface: `storeAs` is the id
|
|
83
|
+
* an artifact lands under, so a duplicate would deliver two files to one address and report both
|
|
84
|
+
* as stored. That is refused here rather than left to the agent, which has no way to tell a
|
|
85
|
+
* deliberate overwrite from a collision.
|
|
86
|
+
*/
|
|
87
|
+
async keep(workspaceId, executionId, input) {
|
|
88
|
+
let approvalId = '';
|
|
89
|
+
let state;
|
|
90
|
+
const instance = await this.deps.stateMachine.mutateInstance(workspaceId, executionId, (inst) => {
|
|
91
|
+
const step = inst.steps.find((s) => s.state === 'waiting_decision' &&
|
|
92
|
+
s.approval?.status === 'pending' &&
|
|
93
|
+
s.binaryCandidates?.status === 'awaiting_choice');
|
|
94
|
+
if (!step?.approval || !step.binaryCandidates) {
|
|
95
|
+
throw new ConflictError('The run is no longer awaiting a generated-candidate choice');
|
|
96
|
+
}
|
|
97
|
+
const candidates = step.binaryCandidates;
|
|
98
|
+
assertKeepable(input, candidates);
|
|
99
|
+
// Captured BEFORE `resetStepForRerun` clears `step.approval`.
|
|
100
|
+
approvalId = step.approval.id;
|
|
101
|
+
const kept = new Set(input.keep.map((entry) => entry.candidateId));
|
|
102
|
+
step.binaryCandidates = {
|
|
103
|
+
...candidates,
|
|
104
|
+
status: 'chosen',
|
|
105
|
+
choice: {
|
|
106
|
+
kept: input.keep.map((entry) => ({
|
|
107
|
+
candidateId: entry.candidateId,
|
|
108
|
+
...(entry.storeAs ? { storeAs: entry.storeAs } : {}),
|
|
109
|
+
})),
|
|
110
|
+
// Recorded explicitly rather than derived at read time: the delivering pass is what
|
|
111
|
+
// clears the staged files, and it needs the list even after a later reader would
|
|
112
|
+
// have to reconstruct it by subtraction from a candidate list nothing guarantees
|
|
113
|
+
// survives a future reset.
|
|
114
|
+
discarded: candidates.candidates
|
|
115
|
+
.map((candidate) => candidate.id)
|
|
116
|
+
.filter((id) => !kept.has(id)),
|
|
117
|
+
...(input.note ? { note: input.note } : {}),
|
|
118
|
+
at: this.deps.clock.now(),
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
// Re-arm the SAME step so the driver re-enters and dispatches the delivering pass
|
|
122
|
+
// (`binaryCandidates` survives `resetStepForRerun`, like `forkDecision`).
|
|
123
|
+
this.deps.stepGraph.resetStepForRerun(step);
|
|
124
|
+
this.deps.stepGraph.startStep(step);
|
|
125
|
+
if (inst.status === 'blocked')
|
|
126
|
+
inst.status = 'running';
|
|
127
|
+
state = step.binaryCandidates;
|
|
128
|
+
});
|
|
129
|
+
await this.deps.stateMachine.clearWaitingNotification(workspaceId, instance);
|
|
130
|
+
await this.deps.stateMachine.updateBlockProgress(workspaceId, instance, 'in_progress');
|
|
131
|
+
await this.deps.stateMachine.emitInstance(workspaceId, instance);
|
|
132
|
+
await this.deps.workRunner.signalDecision(workspaceId, instance.id, approvalId, 'approved');
|
|
133
|
+
return state;
|
|
134
|
+
}
|
|
135
|
+
/** The active candidate state for a run's GET, or null when no step carries one. */
|
|
136
|
+
async getActive(workspaceId, executionId) {
|
|
137
|
+
const instance = await this.deps.executionRepository.get(workspaceId, executionId);
|
|
138
|
+
if (!instance)
|
|
139
|
+
return null;
|
|
140
|
+
const current = instance.steps[instance.currentStep];
|
|
141
|
+
if (current?.binaryCandidates)
|
|
142
|
+
return current.binaryCandidates;
|
|
143
|
+
for (let i = instance.steps.length - 1; i >= 0; i--) {
|
|
144
|
+
const candidates = instance.steps[i].binaryCandidates;
|
|
145
|
+
if (candidates)
|
|
146
|
+
return candidates;
|
|
147
|
+
}
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
/** Raise the "compare the generated candidates" inbox card when the run parks. */
|
|
151
|
+
async raiseCandidatesPending(workspaceId, instance, count) {
|
|
152
|
+
if (!this.deps.notificationService)
|
|
153
|
+
return;
|
|
154
|
+
const block = await this.deps.blockRepository.get(workspaceId, instance.blockId);
|
|
155
|
+
if (!block)
|
|
156
|
+
return;
|
|
157
|
+
// `decision_required` rather than a type of its own, and the reasoning is the iteration-cap
|
|
158
|
+
// card's: the park already raises a generic waiting notification whose reveal opens the
|
|
159
|
+
// parked step, which routes to this window by itself, so a dedicated type would buy an icon
|
|
160
|
+
// and cost a member of a closed vocabulary that four wire surfaces and every locale mirror.
|
|
161
|
+
// What is worth having is the SPECIFIC wording, and the park's own card is non-clobbering, so
|
|
162
|
+
// raising this first is what makes the inbox say which decision is waiting.
|
|
163
|
+
await this.deps.notificationService.raise(workspaceId, {
|
|
164
|
+
type: 'decision_required',
|
|
165
|
+
blockId: block.id,
|
|
166
|
+
executionId: instance.id,
|
|
167
|
+
title: `"${block.title}" has ${count} generated candidates to compare`,
|
|
168
|
+
body: 'A generating step produced several candidates rather than committing to one. Open the ' +
|
|
169
|
+
'task to compare them and keep the one (or ones) you want: the step delivers what you ' +
|
|
170
|
+
'keep.',
|
|
171
|
+
payload: { pipelineName: instance.pipelineName },
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Whether this request may resolve the park, refusing every way it could not.
|
|
177
|
+
*
|
|
178
|
+
* Each refusal is a distinct fault a caller can fix, and each would otherwise land somewhere far
|
|
179
|
+
* from its cause: an unknown id would silently keep nothing, a second kept candidate on a
|
|
180
|
+
* single-select step would deliver an artifact count nobody configured, and duplicate `storeAs`
|
|
181
|
+
* ids would put two files at one address and report both as delivered.
|
|
182
|
+
*/
|
|
183
|
+
function assertKeepable(input, state) {
|
|
184
|
+
const known = new Set(state.candidates.map((candidate) => candidate.id));
|
|
185
|
+
const seen = new Set();
|
|
186
|
+
for (const entry of input.keep) {
|
|
187
|
+
if (!known.has(entry.candidateId)) {
|
|
188
|
+
throw new ValidationError(`Unknown candidate '${entry.candidateId}'`);
|
|
189
|
+
}
|
|
190
|
+
if (seen.has(entry.candidateId)) {
|
|
191
|
+
throw new ValidationError(`Candidate '${entry.candidateId}' was kept twice`);
|
|
192
|
+
}
|
|
193
|
+
seen.add(entry.candidateId);
|
|
194
|
+
}
|
|
195
|
+
if (input.keep.length > 1 && !state.multiSelect) {
|
|
196
|
+
throw new ValidationError('This step keeps one candidate. Enable multi-select on the step to keep more than one.');
|
|
197
|
+
}
|
|
198
|
+
// Above the parse cap nothing could have been kept anyway, but the bound is restated on the
|
|
199
|
+
// WRITE path because it is the one a client controls: a request naming more entries than the
|
|
200
|
+
// step could ever hold is a client bug, and the id check above would already have refused it
|
|
201
|
+
// one id at a time with a message about the wrong thing.
|
|
202
|
+
if (input.keep.length > MAX_BINARY_CANDIDATES) {
|
|
203
|
+
throw new ValidationError(`At most ${MAX_BINARY_CANDIDATES} candidates may be kept`);
|
|
204
|
+
}
|
|
205
|
+
const aliases = input.keep.flatMap((entry) => (entry.storeAs ? [entry.storeAs] : []));
|
|
206
|
+
if (new Set(aliases).size !== aliases.length) {
|
|
207
|
+
throw new ValidationError('Each kept candidate needs a DISTINCT id to be stored under: two artifacts at one location is one artifact.');
|
|
208
|
+
}
|
|
209
|
+
// More than one survivor with no alternate id is the same collision spelled differently: the
|
|
210
|
+
// step's ordinary naming is one name, so two candidates claiming it would overwrite each other.
|
|
211
|
+
if (input.keep.length > 1 && aliases.length < input.keep.length) {
|
|
212
|
+
throw new ValidationError('Keeping more than one candidate requires an id for each of them, or they would all be stored under the same name.');
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=BinaryCandidateController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BinaryCandidateController.js","sourceRoot":"","sources":["../../../src/modules/execution/BinaryCandidateController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { JudgeDefinition, JudgeStepState, ResolveJudgeInput, AgentFailureKind, Block, ExecutionInstance,
|
|
1
|
+
import type { JudgeDefinition, JudgeStepState, ResolveJudgeInput, AgentFailureKind, Block, ExecutionInstance, GateActor, StepReviewComment, InputGateInput, ResolveInputGateChoice, RunInputGate } from '@cat-factory/kernel';
|
|
2
2
|
import type { PrVerificationReport, RunOutcome, ServiceSpecView } from '@cat-factory/contracts';
|
|
3
3
|
import type { RunStartOptions } from './runStartOptions.js';
|
|
4
4
|
import { type HasPersonalSubscription } from './individualVendors.logic.js';
|
|
5
5
|
import { type SubscriptionVendor } from '@cat-factory/kernel';
|
|
6
|
+
import { type RunDecisionSurfaces } from './run-decision-surfaces.js';
|
|
6
7
|
import { BrainstormActions, ClarityReviewActions, type HumanTestActions, RequirementReviewActions, type VisualConfirmActions } from './gate-window-facades.js';
|
|
7
8
|
import { InitiativeInterviewController } from './InitiativeInterviewController.js';
|
|
8
9
|
import { DocInterviewController } from './DocInterviewController.js';
|
|
@@ -45,22 +46,19 @@ export declare class ExecutionService {
|
|
|
45
46
|
private readonly mergeResolver;
|
|
46
47
|
/** Drives a companion (reviewer/spec/architect) step: grade → pass / loop producer / park. */
|
|
47
48
|
private readonly companionController;
|
|
48
|
-
/**
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
private readonly
|
|
49
|
+
/**
|
|
50
|
+
* The controllers behind the run's gates and dedicated park windows, as ONE bundle rather than
|
|
51
|
+
* one field each: the Tester fix loop, the Ralph loop, the human-testing and
|
|
52
|
+
* visual-confirmation gates, both iterative review gates, the implementation-fork decision, the
|
|
53
|
+
* PR deep-review and the generated-candidate comparison. The family grows with every park
|
|
54
|
+
* surface, and a field plus an assignment per member spends two lines of this class's budget on
|
|
55
|
+
* a value that is only ever forwarded. See {@link buildGateWindowControllers}.
|
|
56
|
+
*/
|
|
57
|
+
private readonly gateWindows;
|
|
57
58
|
/** The pre-dispatch input gate; see {@link InputGateController}. */
|
|
58
59
|
private readonly inputGate;
|
|
59
60
|
/** Bound collaborators for the shared pre-dispatch preamble ({@link runStepPreamble}). */
|
|
60
61
|
private stepPreambleDepsCache?;
|
|
61
|
-
/** Drives the human-facing half of the implementation-fork decision phase on the Coder step. */
|
|
62
|
-
private readonly forkDecisionController;
|
|
63
|
-
private readonly prReviewController;
|
|
64
62
|
/** The requirements subject for {@link reviewGate}. */
|
|
65
63
|
private readonly requirementsKind;
|
|
66
64
|
/** The clarity (bug-report triage) subject for {@link reviewGate}. */
|
|
@@ -266,32 +264,14 @@ export declare class ExecutionService {
|
|
|
266
264
|
registeredJudges(): JudgeDefinition[];
|
|
267
265
|
/** @see RunDispatcher.resolveGatePollExhaustion */
|
|
268
266
|
resolveGatePollExhaustion(workspaceId: string, executionId: string): Promise<AdvanceResult>;
|
|
269
|
-
/**
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
/** @see RunDispatcher.getPrReview */
|
|
278
|
-
getPrReview(workspaceId: string, executionId: string): Promise<PrReviewStepState | null>;
|
|
279
|
-
/** @see RunDispatcher.resolvePrReview */
|
|
280
|
-
resolvePrReview(workspaceId: string, executionId: string, input: ResolvePrReviewInput): Promise<PrReviewStepState>;
|
|
281
|
-
/** @see RunDispatcher.resumePrReview */
|
|
282
|
-
resumePrReview(workspaceId: string, executionId: string): Promise<PrReviewStepState>;
|
|
283
|
-
/** @see RunDispatcher.dismissPrReviewFinding */
|
|
284
|
-
dismissPrReviewFinding(workspaceId: string, executionId: string, findingId: string): Promise<PrReviewStepState>;
|
|
285
|
-
/** @see RunDispatcher.challengePrReviewFinding */
|
|
286
|
-
challengePrReviewFinding(workspaceId: string, executionId: string, findingId: string, input: ChallengePrReviewFindingInput): Promise<PrReviewStepState>;
|
|
287
|
-
/** @see RunDispatcher.fileFollowUp */
|
|
288
|
-
fileFollowUp(workspaceId: string, executionId: string, itemId: string): Promise<FollowUpsStepState>;
|
|
289
|
-
/** @see RunDispatcher.queueFollowUp */
|
|
290
|
-
queueFollowUp(workspaceId: string, executionId: string, itemId: string): Promise<FollowUpsStepState>;
|
|
291
|
-
/** @see RunDispatcher.answerFollowUp */
|
|
292
|
-
answerFollowUp(workspaceId: string, executionId: string, itemId: string, answer: string): Promise<FollowUpsStepState>;
|
|
293
|
-
/** @see RunDispatcher.dismissFollowUp */
|
|
294
|
-
dismissFollowUp(workspaceId: string, executionId: string, itemId: string): Promise<FollowUpsStepState>;
|
|
267
|
+
/**
|
|
268
|
+
* The verbs a run's DEDICATED PARK WINDOWS are answered with: the Follow-up companion, the
|
|
269
|
+
* implementation-fork decision, the PR deep-review and the generated-candidate comparison.
|
|
270
|
+
*
|
|
271
|
+
* One property rather than sixteen delegates, because they are one concern and the family grows
|
|
272
|
+
* by two every time a park surface is added. See `run-decision-surfaces.ts`.
|
|
273
|
+
*/
|
|
274
|
+
readonly decisions: RunDecisionSurfaces;
|
|
295
275
|
/**
|
|
296
276
|
* Infer + persist the block's `technical` label from the settled spec phase (item 5):
|
|
297
277
|
* combine the spec-writer's `noBusinessSpecs` determination (recorded on the producer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionService.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExecutionService.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,EACL,iBAAiB,EAGjB,SAAS,EACT,iBAAiB,EAGjB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACb,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAA;AAuB5B,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,wBAAwB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE,OAAO,KAAK,EACV,kBAAkB,EAKnB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAsB,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAQvD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAQrF,YAAY,EACV,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,mCAAmC,CAAA;AAE1C,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAqE9D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,iGAAiG;IACjG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+C;IAC3E,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,0FAA0F;IAC1F,OAAO,CAAC,qBAAqB,CAAC,CAAkB;IAChD,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAChE,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA+B;IAC1E,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA+B;IAK1E,mFAAmF;IACnF,OAAO,CAAC,yBAAyB,CAAC,CAA0B;IAC5D,sFAAsF;IACtF,OAAO,CAAC,oBAAoB,CAAC,CAAsB;IACnD,kEAAkE;IAClE,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,kGAAkG;IAClG,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAA+B;IAC9E,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAwB;IAShE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAwB;IACxD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAG5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAI3B;IACT,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAId;IAChC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IACtD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;IAErE,YAAY,YAAY,EAAE,4BAA4B,EAkPrD;IAED;;;;;;;;;;;;OAYG;IACG,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvF;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAS5B;IAEF,wDAAwD;IAClD,yBAAyB,CAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAEtC;IAED,yDAAyD;IACnD,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAE5F;IAED,6FAA6F;IACvF,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAE3F;IAED;;;;OAIG;IACH;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,mBAAmB;IA4B3B,wFAAwF;IACxF,IAAI,kBAAkB,IAAI,wBAAwB,CAMjD;IAED,yDAAyD;IACzD,IAAI,aAAa,IAAI,oBAAoB,CAMxC;IAED,uEAAuE;IACvE,IAAI,UAAU,IAAI,iBAAiB,CAKlC;IAED,kGAAkG;IAClG,IAAI,SAAS,IAAI,gBAAgB,CAEhC;IAED,mFAAmF;IACnF,IAAI,aAAa,IAAI,oBAAoB,CAExC;IAED;;;;OAIG;IACH,IAAI,mBAAmB,IAAI,6BAA6B,GAAG,SAAS,CAEnE;IAED;;;;OAIG;IACH,IAAI,YAAY,IAAI,sBAAsB,GAAG,SAAS,CAErD;IAED;;;;;;;;OAQG;IACH,OAAO,KAAK,mBAAmB,GAI9B;IAED;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE7D;IAED,OAAO,CAAC,gBAAgB;YAIV,YAAY;IAI1B;;;;;;;;;OASG;IACG,yBAAyB,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,uBAAuB,GAAE,uBAAqC,GAC7D,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAc/B;IAED,0FAA0F;IACpF,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,uBAAuB,GAAE,uBAAqC,GAC7D,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAY/B;IAED;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;;;;OAKG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAuCxB;IAED;;;;OAIG;IACH,OAAO,KAAK,gBAAgB,GAkB3B;IAED,4EAA4E;YAC9D,YAAY;IAiC1B;;;;;OAKG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhF;IAED;;;;OAIG;IACH,gBAAgB,CACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,sBAAsB,EAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,YAAY,CAAC,CAEvB;IAED,sCAAsC;IACtC,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAE7E;IAED,kCAAkC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAEzE;IAED,yCAAyC;IACzC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAEtF;IAED;;;;;OAKG;IACH,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,cAAc,CAAC,CAEzB;IAED;;;OAGG;IACH,gBAAgB,IAAI,eAAe,EAAE,CAEpC;IAED,mDAAmD;IACnD,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAE1F;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAgD;IAEvF;;;;;;;;;;OAUG;YACW,mBAAmB;IA6BjC,iGAAiG;IACjG,OAAO,CAAC,iBAAiB;IAMzB,2DAA2D;IAC3D,wBAAwB,CACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAO5B;IAMD;;;;;;;;;;;;;OAaG;YACW,aAAa;IA2E3B;;;;OAIG;YACW,6BAA6B;IAwB3C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAU7B,gFAAgF;IAChF,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED;;;;;;OAMG;IACH,WAAW,CACT,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,YAAK,EAChC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,gGAAgG;IAChG,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAE,EAC7D,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,iBAAiB,CAAC,CAQ5B;IAED,+EAA+E;IAC/E,UAAU,CACR,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,mFAAmF;IACnF,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,6EAA6E;IAC7E,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,GACjC,OAAO,CAAC,KAAK,CAAC,CAEhB;IAED,2FAA2F;IAC3F,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;IAED;;;;;;;OAOG;IACH,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,gBAA0B,EAChC,MAAM,GAAE,MAAM,GAAG,IAAW,EAC5B,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,OAAO,CAAC,IAAI,CAAC,CAEf;IAOD,wCAAwC;IACxC,KAAK,CACH,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,wCAAwC;IACxC,KAAK,CACH,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAChD,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,kDAAkD;IAClD,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAChD,OAAO,CAAC,iBAAiB,CAAC,CAQ5B;IAED,+CAA+C;IAC/C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAE9D;IAED,yCAAyC;IACzC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAE3D;IAED,0CAA0C;IAC1C,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;KAAO,GACtD,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,uDAAuD;IACvD,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAElF;CACF"}
|
|
@@ -18,13 +18,8 @@ import {} from './ReviewGateController.js';
|
|
|
18
18
|
import { runStepPreamble } from './stepPreamble.js';
|
|
19
19
|
import { buildGateWindowControllers, buildInputGateController, buildReviewSubjects, } from './gate-window-controllers.js';
|
|
20
20
|
import { buildRunContextAndAdmission } from './run-context-admission.js';
|
|
21
|
-
import {
|
|
22
|
-
import { PrReviewController } from './PrReviewController.js';
|
|
21
|
+
import { runDecisionSurfaces } from './run-decision-surfaces.js';
|
|
23
22
|
import { BrainstormActions, ClarityReviewActions, RequirementReviewActions, } from './gate-window-facades.js';
|
|
24
|
-
import { TesterController } from './TesterController.js';
|
|
25
|
-
import { RalphController } from './RalphController.js';
|
|
26
|
-
import { HumanTestController } from './HumanTestController.js';
|
|
27
|
-
import { VisualConfirmationController } from './VisualConfirmationController.js';
|
|
28
23
|
import { InitiativeInterviewController } from './InitiativeInterviewController.js';
|
|
29
24
|
import { DocInterviewController } from './DocInterviewController.js';
|
|
30
25
|
import { RunMergePolicy } from './RunMergePolicy.js';
|
|
@@ -125,22 +120,19 @@ export class ExecutionService {
|
|
|
125
120
|
mergeResolver;
|
|
126
121
|
/** Drives a companion (reviewer/spec/architect) step: grade → pass / loop producer / park. */
|
|
127
122
|
companionController;
|
|
128
|
-
/**
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
123
|
+
/**
|
|
124
|
+
* The controllers behind the run's gates and dedicated park windows, as ONE bundle rather than
|
|
125
|
+
* one field each: the Tester fix loop, the Ralph loop, the human-testing and
|
|
126
|
+
* visual-confirmation gates, both iterative review gates, the implementation-fork decision, the
|
|
127
|
+
* PR deep-review and the generated-candidate comparison. The family grows with every park
|
|
128
|
+
* surface, and a field plus an assignment per member spends two lines of this class's budget on
|
|
129
|
+
* a value that is only ever forwarded. See {@link buildGateWindowControllers}.
|
|
130
|
+
*/
|
|
131
|
+
gateWindows;
|
|
137
132
|
/** The pre-dispatch input gate; see {@link InputGateController}. */
|
|
138
133
|
inputGate;
|
|
139
134
|
/** Bound collaborators for the shared pre-dispatch preamble ({@link runStepPreamble}). */
|
|
140
135
|
stepPreambleDepsCache;
|
|
141
|
-
/** Drives the human-facing half of the implementation-fork decision phase on the Coder step. */
|
|
142
|
-
forkDecisionController;
|
|
143
|
-
prReviewController;
|
|
144
136
|
/** The requirements subject for {@link reviewGate}. */
|
|
145
137
|
requirementsKind;
|
|
146
138
|
/** The clarity (bug-report triage) subject for {@link reviewGate}. */
|
|
@@ -311,13 +303,7 @@ export class ExecutionService {
|
|
|
311
303
|
issueWriteback,
|
|
312
304
|
logger,
|
|
313
305
|
});
|
|
314
|
-
this.
|
|
315
|
-
this.ralphController = gateWindows.ralphController;
|
|
316
|
-
this.humanTestController = gateWindows.humanTestController;
|
|
317
|
-
this.visualConfirmationController = gateWindows.visualConfirmationController;
|
|
318
|
-
this.reviewGate = gateWindows.reviewGate;
|
|
319
|
-
this.forkDecisionController = gateWindows.forkDecisionController;
|
|
320
|
-
this.prReviewController = gateWindows.prReviewController;
|
|
306
|
+
this.gateWindows = gateWindows;
|
|
321
307
|
// The pre-dispatch input gate: not a gate WINDOW (it guards the run's first dispatch and has no
|
|
322
308
|
// pipeline step of its own), so it has its own factory over the same dependency bag.
|
|
323
309
|
this.inputGate = buildInputGateController(dependencies, {
|
|
@@ -470,13 +456,14 @@ export class ExecutionService {
|
|
|
470
456
|
contextBuilder: this.contextBuilder,
|
|
471
457
|
mergeResolver: this.mergeResolver,
|
|
472
458
|
companionController: this.companionController,
|
|
473
|
-
testerController: this.testerController,
|
|
474
|
-
ralphController: this.ralphController,
|
|
475
|
-
humanTestController: this.humanTestController,
|
|
476
|
-
visualConfirmationController: this.visualConfirmationController,
|
|
477
|
-
reviewGate: this.reviewGate,
|
|
478
|
-
forkDecisionController: this.forkDecisionController,
|
|
479
|
-
|
|
459
|
+
testerController: this.gateWindows.testerController,
|
|
460
|
+
ralphController: this.gateWindows.ralphController,
|
|
461
|
+
humanTestController: this.gateWindows.humanTestController,
|
|
462
|
+
visualConfirmationController: this.gateWindows.visualConfirmationController,
|
|
463
|
+
reviewGate: this.gateWindows.reviewGate,
|
|
464
|
+
forkDecisionController: this.gateWindows.forkDecisionController,
|
|
465
|
+
binaryCandidateController: this.gateWindows.binaryCandidateController,
|
|
466
|
+
prReviewController: this.gateWindows.prReviewController,
|
|
480
467
|
requirementsKind: this.requirementsKind,
|
|
481
468
|
clarityKind: this.clarityKind,
|
|
482
469
|
requirementsBrainstormKind: this.requirementsBrainstormKind,
|
|
@@ -517,26 +504,26 @@ export class ExecutionService {
|
|
|
517
504
|
// still the single injected object, so the runtimes stay symmetric (no composition-root edit).
|
|
518
505
|
/** Requirements-review window actions (run / incorporate / re-review / proceed / …). */
|
|
519
506
|
get requirementsReview() {
|
|
520
|
-
this.requirementsReviewActions ??= new RequirementReviewActions(this.reviewGate, this.requirementsKind);
|
|
507
|
+
this.requirementsReviewActions ??= new RequirementReviewActions(this.gateWindows.reviewGate, this.requirementsKind);
|
|
521
508
|
return this.requirementsReviewActions;
|
|
522
509
|
}
|
|
523
510
|
/** Clarity-review (bug-report triage) window actions. */
|
|
524
511
|
get clarityReview() {
|
|
525
|
-
this.clarityReviewActions ??= new ClarityReviewActions(this.reviewGate, this.clarityKind);
|
|
512
|
+
this.clarityReviewActions ??= new ClarityReviewActions(this.gateWindows.reviewGate, this.clarityKind);
|
|
526
513
|
return this.clarityReviewActions;
|
|
527
514
|
}
|
|
528
515
|
/** Brainstorm (structured-dialogue) window actions, keyed by stage. */
|
|
529
516
|
get brainstorm() {
|
|
530
|
-
this.brainstormActions ??= new BrainstormActions(this.reviewGate, (stage) => this.brainstormKindFor(stage));
|
|
517
|
+
this.brainstormActions ??= new BrainstormActions(this.gateWindows.reviewGate, (stage) => this.brainstormKindFor(stage));
|
|
531
518
|
return this.brainstormActions;
|
|
532
519
|
}
|
|
533
520
|
/** Human-testing gate window actions (confirm / request-fix / pull-main / recreate / destroy). */
|
|
534
521
|
get humanTest() {
|
|
535
|
-
return this.humanTestController;
|
|
522
|
+
return this.gateWindows.humanTestController;
|
|
536
523
|
}
|
|
537
524
|
/** Visual-confirmation gate window actions (approve / request-fix / recapture). */
|
|
538
525
|
get visualConfirm() {
|
|
539
|
-
return this.visualConfirmationController;
|
|
526
|
+
return this.gateWindows.visualConfirmationController;
|
|
540
527
|
}
|
|
541
528
|
/**
|
|
542
529
|
* Interactive-planning interviewer window actions (answer / continue / proceed). Undefined
|
|
@@ -776,58 +763,14 @@ export class ExecutionService {
|
|
|
776
763
|
resolveGatePollExhaustion(workspaceId, executionId) {
|
|
777
764
|
return this.runDispatcher.resolveGatePollExhaustion(workspaceId, executionId);
|
|
778
765
|
}
|
|
779
|
-
/**
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
/** @see RunDispatcher.chooseFork */
|
|
788
|
-
chooseFork(workspaceId, executionId, input) {
|
|
789
|
-
return this.runDispatcher.chooseFork(workspaceId, executionId, input);
|
|
790
|
-
}
|
|
791
|
-
/** @see RunDispatcher.forkChat */
|
|
792
|
-
forkChat(workspaceId, executionId, input) {
|
|
793
|
-
return this.runDispatcher.forkChat(workspaceId, executionId, input);
|
|
794
|
-
}
|
|
795
|
-
/** @see RunDispatcher.getPrReview */
|
|
796
|
-
getPrReview(workspaceId, executionId) {
|
|
797
|
-
return this.runDispatcher.getPrReview(workspaceId, executionId);
|
|
798
|
-
}
|
|
799
|
-
/** @see RunDispatcher.resolvePrReview */
|
|
800
|
-
resolvePrReview(workspaceId, executionId, input) {
|
|
801
|
-
return this.runDispatcher.resolvePrReview(workspaceId, executionId, input);
|
|
802
|
-
}
|
|
803
|
-
/** @see RunDispatcher.resumePrReview */
|
|
804
|
-
resumePrReview(workspaceId, executionId) {
|
|
805
|
-
return this.runDispatcher.resumePrReview(workspaceId, executionId);
|
|
806
|
-
}
|
|
807
|
-
/** @see RunDispatcher.dismissPrReviewFinding */
|
|
808
|
-
dismissPrReviewFinding(workspaceId, executionId, findingId) {
|
|
809
|
-
return this.runDispatcher.dismissPrReviewFinding(workspaceId, executionId, findingId);
|
|
810
|
-
}
|
|
811
|
-
/** @see RunDispatcher.challengePrReviewFinding */
|
|
812
|
-
challengePrReviewFinding(workspaceId, executionId, findingId, input) {
|
|
813
|
-
return this.runDispatcher.challengePrReviewFinding(workspaceId, executionId, findingId, input);
|
|
814
|
-
}
|
|
815
|
-
/** @see RunDispatcher.fileFollowUp */
|
|
816
|
-
fileFollowUp(workspaceId, executionId, itemId) {
|
|
817
|
-
return this.runDispatcher.fileFollowUp(workspaceId, executionId, itemId);
|
|
818
|
-
}
|
|
819
|
-
/** @see RunDispatcher.queueFollowUp */
|
|
820
|
-
queueFollowUp(workspaceId, executionId, itemId) {
|
|
821
|
-
return this.runDispatcher.queueFollowUp(workspaceId, executionId, itemId);
|
|
822
|
-
}
|
|
823
|
-
/** @see RunDispatcher.answerFollowUp */
|
|
824
|
-
answerFollowUp(workspaceId, executionId, itemId, answer) {
|
|
825
|
-
return this.runDispatcher.answerFollowUp(workspaceId, executionId, itemId, answer);
|
|
826
|
-
}
|
|
827
|
-
/** @see RunDispatcher.dismissFollowUp */
|
|
828
|
-
dismissFollowUp(workspaceId, executionId, itemId) {
|
|
829
|
-
return this.runDispatcher.dismissFollowUp(workspaceId, executionId, itemId);
|
|
830
|
-
}
|
|
766
|
+
/**
|
|
767
|
+
* The verbs a run's DEDICATED PARK WINDOWS are answered with: the Follow-up companion, the
|
|
768
|
+
* implementation-fork decision, the PR deep-review and the generated-candidate comparison.
|
|
769
|
+
*
|
|
770
|
+
* One property rather than sixteen delegates, because they are one concern and the family grows
|
|
771
|
+
* by two every time a park surface is added. See `run-decision-surfaces.ts`.
|
|
772
|
+
*/
|
|
773
|
+
decisions = runDecisionSurfaces(() => this.runDispatcher);
|
|
831
774
|
/**
|
|
832
775
|
* Infer + persist the block's `technical` label from the settled spec phase (item 5):
|
|
833
776
|
* combine the spec-writer's `noBusinessSpecs` determination (recorded on the producer
|