@cat-factory/orchestration 0.143.1 → 0.145.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/container/dependencies.d.ts +16 -1
- package/dist/container/dependencies.d.ts.map +1 -1
- package/dist/container/engine-collaborators.d.ts +1 -0
- package/dist/container/engine-collaborators.d.ts.map +1 -1
- package/dist/container/engine-collaborators.js +5 -1
- package/dist/container/engine-collaborators.js.map +1 -1
- package/dist/container/modules.d.ts +10 -1
- package/dist/container/modules.d.ts.map +1 -1
- package/dist/container/modules.js +26 -0
- package/dist/container/modules.js.map +1 -1
- package/dist/container/runtime.d.ts +1 -0
- package/dist/container/runtime.d.ts.map +1 -1
- package/dist/container/runtime.js +2 -1
- package/dist/container/runtime.js.map +1 -1
- package/dist/container.d.ts +8 -1
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +5 -2
- package/dist/container.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/environments/EnvironmentTestService.d.ts +8 -1
- package/dist/modules/environments/EnvironmentTestService.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentTestService.js +9 -0
- package/dist/modules/environments/EnvironmentTestService.js.map +1 -1
- package/dist/modules/execution/ExecutionService.d.ts +19 -14
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +39 -8
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/ExecutionServiceDependencies.d.ts +10 -1
- package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -1
- package/dist/modules/execution/GateHelperDispatcher.d.ts +26 -0
- package/dist/modules/execution/GateHelperDispatcher.d.ts.map +1 -0
- package/dist/modules/execution/GateHelperDispatcher.js +66 -0
- package/dist/modules/execution/GateHelperDispatcher.js.map +1 -0
- package/dist/modules/execution/GateStepController.d.ts +39 -0
- package/dist/modules/execution/GateStepController.d.ts.map +1 -0
- package/dist/modules/execution/GateStepController.js +118 -0
- package/dist/modules/execution/GateStepController.js.map +1 -0
- package/dist/modules/execution/JudgeService.d.ts +42 -0
- package/dist/modules/execution/JudgeService.d.ts.map +1 -0
- package/dist/modules/execution/JudgeService.js +78 -0
- package/dist/modules/execution/JudgeService.js.map +1 -0
- package/dist/modules/execution/JudgeStepController.d.ts +116 -0
- package/dist/modules/execution/JudgeStepController.d.ts.map +1 -0
- package/dist/modules/execution/JudgeStepController.js +395 -0
- package/dist/modules/execution/JudgeStepController.js.map +1 -0
- package/dist/modules/execution/RunDispatcher.d.ts +41 -19
- package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
- package/dist/modules/execution/RunDispatcher.js +70 -185
- package/dist/modules/execution/RunDispatcher.js.map +1 -1
- package/dist/modules/execution/dispatcher-registries.d.ts +3 -1
- package/dist/modules/execution/dispatcher-registries.d.ts.map +1 -1
- package/dist/modules/execution/dispatcher-registries.js +13 -0
- package/dist/modules/execution/dispatcher-registries.js.map +1 -1
- package/dist/modules/execution/extension-contexts.d.ts +36 -0
- package/dist/modules/execution/extension-contexts.d.ts.map +1 -0
- package/dist/modules/execution/extension-contexts.js +38 -0
- package/dist/modules/execution/extension-contexts.js.map +1 -0
- package/dist/modules/execution/policy-types.d.ts +3 -0
- package/dist/modules/execution/policy-types.d.ts.map +1 -1
- package/dist/modules/execution/prReport.logic.d.ts.map +1 -1
- package/dist/modules/execution/prReport.logic.js +69 -0
- package/dist/modules/execution/prReport.logic.js.map +1 -1
- package/dist/modules/execution/reproductionProof.logic.d.ts.map +1 -1
- package/dist/modules/execution/reproductionProof.logic.js +19 -2
- package/dist/modules/execution/reproductionProof.logic.js.map +1 -1
- package/dist/modules/merge/RiskPolicyService.d.ts.map +1 -1
- package/dist/modules/merge/RiskPolicyService.js +6 -0
- package/dist/modules/merge/RiskPolicyService.js.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JudgeStepController.js","sourceRoot":"","sources":["../../../src/modules/execution/JudgeStepController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { AgentExecutor, AgentRunContext, AgentRunResult, Block, BlockRepository, BrainstormSession, ClarityReview, Clock, ExecutionEventPublisher, ExecutionInstance, ExecutionRepository, FollowUpsStepState, ForkDecisionStepState, ChooseForkInput, ForkChatRequestInput, PrReviewStepState, ResolvePrReviewInput, ChallengePrReviewFindingInput, GateDefinition, GateRegistry, StepResolverRegistry, ProviderRegistry, IdGenerator, IssueWritebackProvider, PipelineStep, ProviderCapabilities, RequirementConcernLevel, StepGating, RequirementReview, ResolveRunRepoContext, RunInitiatorScope, TicketTrackerProvider, WorkRunner } from '@cat-factory/kernel';
|
|
1
|
+
import type { JudgeAssessor, JudgeDefinition, JudgeRegistry, JudgeStepState, ResolveJudgeInput, AgentExecutor, AgentRunContext, AgentRunResult, Block, BlockRepository, BrainstormSession, ClarityReview, Clock, ExecutionEventPublisher, ExecutionInstance, ExecutionRepository, FollowUpsStepState, ForkDecisionStepState, ChooseForkInput, ForkChatRequestInput, PrReviewStepState, ResolvePrReviewInput, ChallengePrReviewFindingInput, GateDefinition, GateRegistry, StepResolverRegistry, ProviderRegistry, IdGenerator, IssueWritebackProvider, PipelineStep, ProviderCapabilities, 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
|
-
import { AgentContextBuilder } from './AgentContextBuilder.js';
|
|
4
|
+
import { AgentContextBuilder, type FragmentBodyResolver } from './AgentContextBuilder.js';
|
|
5
5
|
import { CompanionController } from './CompanionController.js';
|
|
6
6
|
import { HumanTestController } from './HumanTestController.js';
|
|
7
7
|
import { MergeResolver } from './MergeResolver.js';
|
|
@@ -33,6 +33,8 @@ type ResolvedRiskPolicy = {
|
|
|
33
33
|
ciMaxAttempts: number;
|
|
34
34
|
maxRequirementIterations: number;
|
|
35
35
|
maxRequirementConcernAllowed: RequirementConcernLevel;
|
|
36
|
+
judgeMinScore: number;
|
|
37
|
+
judgeMaxBounces: number;
|
|
36
38
|
releaseWatchWindowMinutes: number;
|
|
37
39
|
releaseMaxAttempts: number;
|
|
38
40
|
humanReviewGraceMinutes: number;
|
|
@@ -47,6 +49,20 @@ export interface RunDispatcherDeps {
|
|
|
47
49
|
agentKindRegistry: AgentKindRegistry;
|
|
48
50
|
/** App-owned polling-gate registry (built-ins installed by the facade via `registerBuiltinGates`). */
|
|
49
51
|
gateRegistry: GateRegistry;
|
|
52
|
+
/**
|
|
53
|
+
* The app-owned JUDGE registry (the fourth step-taxonomy bucket) the composition root
|
|
54
|
+
* injected, plus the verdict producer. An absent / disabled assessor makes every judge step
|
|
55
|
+
* a pass-through, which is exactly what a deployment with no model wired (and the
|
|
56
|
+
* conformance/e2e suites) gets. See `docs/initiatives/judge-registry.md`.
|
|
57
|
+
*/
|
|
58
|
+
judgeRegistry: JudgeRegistry;
|
|
59
|
+
judgeAssessor?: JudgeAssessor;
|
|
60
|
+
/**
|
|
61
|
+
* The prompt-fragment library, used by the judge driver for ONE thing: resolving a rubric's
|
|
62
|
+
* per-workspace override body (see `JudgeRubric.fragmentId`). Absent ⇒ the registration's
|
|
63
|
+
* default rubric.
|
|
64
|
+
*/
|
|
65
|
+
fragmentResolver?: FragmentBodyResolver;
|
|
50
66
|
/** App-owned step-completion-resolver registry (deployment-registered resolvers). */
|
|
51
67
|
stepResolverRegistry: StepResolverRegistry;
|
|
52
68
|
/** App-owned provider registry the gate machine's {@link GateContext} reads (gate data sources). */
|
|
@@ -177,6 +193,14 @@ export declare class RunDispatcher {
|
|
|
177
193
|
* are thin pass-throughs the execution service re-exports.
|
|
178
194
|
*/
|
|
179
195
|
private readonly followUpGate;
|
|
196
|
+
/**
|
|
197
|
+
* The JUDGE driver (the fourth step-taxonomy bucket): rubric assessment → per-task threshold
|
|
198
|
+
* → advance / park / bounce / fail. Owns its own lazily-built registry, mirroring
|
|
199
|
+
* {@link gateFor}. See {@link JudgeStepController}.
|
|
200
|
+
*/
|
|
201
|
+
private readonly judgeController;
|
|
202
|
+
/** The polling-gate state machine (precheck → advance / poll / escalate / give up). */
|
|
203
|
+
private readonly gateStepController;
|
|
180
204
|
/** Lazily-built polling-gate registry, keyed by `agentKind`. See {@link gateFor}. */
|
|
181
205
|
private gateRegistryCache?;
|
|
182
206
|
/** Lazily-built post-completion resolver registry, keyed by `agentKind`. */
|
|
@@ -503,26 +527,24 @@ export declare class RunDispatcher {
|
|
|
503
527
|
private buildStepCompletionInterceptors;
|
|
504
528
|
private stepResolverFor;
|
|
505
529
|
private buildStepResolverRegistry;
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
* Evaluate a polling gate step once and decide (shared by the initial advance and the
|
|
511
|
-
* durable `awaiting_gate` re-poll):
|
|
512
|
-
* - no provider wired → pass-through (advance; nothing to gate);
|
|
513
|
-
* - precheck passes → advance to the next step (the helper agent is NEVER spun up);
|
|
514
|
-
* - still computing → `awaiting_gate` (the driver sleeps then calls {@link pollGate});
|
|
515
|
-
* - fails, budget left → dispatch the helper container agent (`awaiting_job`);
|
|
516
|
-
* - fails, budget spent → the gate's exhaustion handler, then fail the run.
|
|
530
|
+
/**
|
|
531
|
+
* The collaborators the extension contexts (gate + judge) close over. Assembled here and
|
|
532
|
+
* handed to the shared factories in `extension-contexts.ts`, so both extension families see
|
|
533
|
+
* exactly the same seams and neither can drift.
|
|
517
534
|
*/
|
|
518
|
-
private
|
|
535
|
+
private extensionContextDeps;
|
|
536
|
+
/** @see JudgeStepController.getActive */
|
|
537
|
+
getJudgeState(workspaceId: string, executionId: string): Promise<JudgeStepState | null>;
|
|
538
|
+
/** @see JudgeStepController.resolveDecision */
|
|
539
|
+
resolveJudgeDecision(workspaceId: string, executionId: string, input: ResolveJudgeInput): Promise<JudgeStepState>;
|
|
540
|
+
/** Every registered judge, for the workspace-snapshot palette projection. */
|
|
541
|
+
registeredJudges(): JudgeDefinition[];
|
|
519
542
|
/**
|
|
520
|
-
*
|
|
521
|
-
*
|
|
522
|
-
*
|
|
523
|
-
* under replay via the step's `jobId` (re-attach handled in {@link evaluateGate}).
|
|
543
|
+
* Evaluate a polling gate step once and decide (shared by the initial advance and the durable
|
|
544
|
+
* `awaiting_gate` re-poll). Thin delegate — the state machine lives in
|
|
545
|
+
* {@link GateStepController}.
|
|
524
546
|
*/
|
|
525
|
-
private
|
|
547
|
+
private evaluateGate;
|
|
526
548
|
/**
|
|
527
549
|
* Run the fork-decision phase for a coder step. On fresh entry resolve whether to propose
|
|
528
550
|
* (tri-state `off` → skip; `always` → propose; `auto` → the risk-policy fork gate against the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunDispatcher.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAGb,eAAe,EACf,cAAc,EACd,KAAK,EACL,eAAe,EAEf,iBAAiB,EACjB,aAAa,EACb,KAAK,EACL,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,
|
|
1
|
+
{"version":3,"file":"RunDispatcher.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunDispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ConflictError,
|
|
1
|
+
import { ConflictError, getErrorMessage, isAsyncAgentExecutor, NotFoundError, parseLocalModelId, recordGateAttempt, RunContendedError, } from '@cat-factory/kernel';
|
|
2
2
|
import { parseBlueprintService, parseSpecDoc } from '@cat-factory/contracts';
|
|
3
3
|
import { applyContainerRunning, applyLastActivity, applySubtaskProgress, } from './step-fold.logic.js';
|
|
4
4
|
import { applyValidationReport } from './validation.logic.js';
|
|
@@ -17,6 +17,10 @@ import { HumanTestController } from './HumanTestController.js';
|
|
|
17
17
|
import { MergeResolver } from './MergeResolver.js';
|
|
18
18
|
import { ReviewGateController } from './ReviewGateController.js';
|
|
19
19
|
import { ForkDecisionController } from './ForkDecisionController.js';
|
|
20
|
+
import { JudgeStepController } from './JudgeStepController.js';
|
|
21
|
+
import { GateHelperDispatcher } from './GateHelperDispatcher.js';
|
|
22
|
+
import { GateStepController } from './GateStepController.js';
|
|
23
|
+
import { buildGateMap, makeGateContext, makeJudgeContext, } from './extension-contexts.js';
|
|
20
24
|
import { PrReviewController } from './PrReviewController.js';
|
|
21
25
|
import { initialPrReviewState } from './prReview.logic.js';
|
|
22
26
|
import { PrReviewResolutionController } from './PrReviewResolutionController.js';
|
|
@@ -109,6 +113,14 @@ export class RunDispatcher {
|
|
|
109
113
|
* are thin pass-throughs the execution service re-exports.
|
|
110
114
|
*/
|
|
111
115
|
followUpGate;
|
|
116
|
+
/**
|
|
117
|
+
* The JUDGE driver (the fourth step-taxonomy bucket): rubric assessment → per-task threshold
|
|
118
|
+
* → advance / park / bounce / fail. Owns its own lazily-built registry, mirroring
|
|
119
|
+
* {@link gateFor}. See {@link JudgeStepController}.
|
|
120
|
+
*/
|
|
121
|
+
judgeController;
|
|
122
|
+
/** The polling-gate state machine (precheck → advance / poll / escalate / give up). */
|
|
123
|
+
gateStepController;
|
|
112
124
|
/** Lazily-built polling-gate registry, keyed by `agentKind`. See {@link gateFor}. */
|
|
113
125
|
gateRegistryCache;
|
|
114
126
|
/** Lazily-built post-completion resolver registry, keyed by `agentKind`. */
|
|
@@ -215,6 +227,35 @@ export class RunDispatcher {
|
|
|
215
227
|
recoverContainerEviction: (ws, instance, step, failure) => this.recoverContainerEviction(ws, instance, step, failure),
|
|
216
228
|
markContainerErrored: (ws, instance, step) => this.markContainerErrored(ws, instance, step),
|
|
217
229
|
});
|
|
230
|
+
this.gateStepController = new GateStepController({
|
|
231
|
+
agentExecutor: deps.agentExecutor,
|
|
232
|
+
clock: deps.clock,
|
|
233
|
+
runStateMachine: deps.runStateMachine,
|
|
234
|
+
runInitiatorScope: this.runInitiatorScope,
|
|
235
|
+
resolveRiskPolicy: (ws, block) => this.resolveRiskPolicy(ws, block),
|
|
236
|
+
recordStepResult: (ws, instance, step, isFinalStep, result) => this.recordStepResult(ws, instance, step, isFinalStep, result),
|
|
237
|
+
}, new GateHelperDispatcher({
|
|
238
|
+
agentExecutor: deps.agentExecutor,
|
|
239
|
+
contextBuilder: deps.contextBuilder,
|
|
240
|
+
runStateMachine: deps.runStateMachine,
|
|
241
|
+
}));
|
|
242
|
+
this.judgeController = new JudgeStepController({
|
|
243
|
+
judgeRegistry: deps.judgeRegistry,
|
|
244
|
+
judgeAssessor: deps.judgeAssessor,
|
|
245
|
+
executionRepository: deps.executionRepository,
|
|
246
|
+
stateMachine: deps.runStateMachine,
|
|
247
|
+
stepGraph: deps.stepGraph,
|
|
248
|
+
workRunner: deps.workRunner,
|
|
249
|
+
clock: deps.clock,
|
|
250
|
+
runInitiatorScope: this.runInitiatorScope,
|
|
251
|
+
raiseNotification: async (ws, input) => {
|
|
252
|
+
await this.notificationService?.raise(ws, input);
|
|
253
|
+
},
|
|
254
|
+
resolveRiskPolicy: (ws, block) => this.resolveRiskPolicy(ws, block),
|
|
255
|
+
fragmentResolver: deps.fragmentResolver,
|
|
256
|
+
recordStepResult: (ws, instance, step, isFinalStep, result) => this.recordStepResult(ws, instance, step, isFinalStep, result),
|
|
257
|
+
makeJudgeContext: () => makeJudgeContext(this.extensionContextDeps()),
|
|
258
|
+
});
|
|
218
259
|
// Assemble the seam the extracted dispatch-registry builders close over: the collaborators
|
|
219
260
|
// above + bound call-backs into this dispatcher's completion / gate / phase methods, so the
|
|
220
261
|
// built-ins resolve everything at call time exactly as the former inline closures did.
|
|
@@ -247,6 +288,8 @@ export class RunDispatcher {
|
|
|
247
288
|
runInitiativeCommitter: (ws, block) => this.runInitiativeCommitter(ws, block),
|
|
248
289
|
evaluateGate: (ws, instance, step, block, isFinalStep, gate) => this.evaluateGate(ws, instance, step, block, isFinalStep, gate),
|
|
249
290
|
gateFor: (kind) => this.gateFor(kind),
|
|
291
|
+
evaluateJudge: (ws, instance, step, block, isFinalStep, judge) => this.judgeController.evaluate(ws, instance, step, block, isFinalStep, judge),
|
|
292
|
+
judgeFor: (kind) => this.judgeController.judgeFor(kind),
|
|
250
293
|
handleForkDecisionPhase: (ctx) => this.handleForkDecisionPhase(ctx),
|
|
251
294
|
handlePrReviewResolution: (ctx) => this.handlePrReviewResolution(ctx),
|
|
252
295
|
handleAgentStep: (ctx) => this.handleAgentStep(ctx),
|
|
@@ -1501,8 +1544,9 @@ export class RunDispatcher {
|
|
|
1501
1544
|
* undefined for a non-gate kind. See {@link GateDefinition} and {@link evaluateGate}.
|
|
1502
1545
|
*/
|
|
1503
1546
|
gateFor(agentKind) {
|
|
1504
|
-
if (!this.gateRegistryCache)
|
|
1505
|
-
this.gateRegistryCache = this.
|
|
1547
|
+
if (!this.gateRegistryCache) {
|
|
1548
|
+
this.gateRegistryCache = buildGateMap(this.gateRegistry, makeGateContext(this.extensionContextDeps()));
|
|
1549
|
+
}
|
|
1506
1550
|
return this.gateRegistryCache.get(agentKind);
|
|
1507
1551
|
}
|
|
1508
1552
|
/**
|
|
@@ -1573,21 +1617,12 @@ export class RunDispatcher {
|
|
|
1573
1617
|
buildStepResolverRegistry() {
|
|
1574
1618
|
return buildStepResolverRegistryImpl(this.registryDeps);
|
|
1575
1619
|
}
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
// then has no gates and those steps fail — which the cross-runtime conformance suite catches.
|
|
1583
|
-
const map = new Map();
|
|
1584
|
-
const ctx = this.makeGateContext();
|
|
1585
|
-
for (const { kind, factory } of this.gateRegistry.factories())
|
|
1586
|
-
map.set(kind, factory(ctx));
|
|
1587
|
-
return map;
|
|
1588
|
-
}
|
|
1589
|
-
/** The shared engine seams handed to a deployment-registered gate's factory. */
|
|
1590
|
-
makeGateContext() {
|
|
1620
|
+
/**
|
|
1621
|
+
* The collaborators the extension contexts (gate + judge) close over. Assembled here and
|
|
1622
|
+
* handed to the shared factories in `extension-contexts.ts`, so both extension families see
|
|
1623
|
+
* exactly the same seams and neither can drift.
|
|
1624
|
+
*/
|
|
1625
|
+
extensionContextDeps() {
|
|
1591
1626
|
return {
|
|
1592
1627
|
clock: this.clock,
|
|
1593
1628
|
getBlock: (workspaceId, blockId) => this.blockRepository.get(workspaceId, blockId),
|
|
@@ -1595,178 +1630,28 @@ export class RunDispatcher {
|
|
|
1595
1630
|
raiseNotification: async (workspaceId, input) => {
|
|
1596
1631
|
await this.notificationService?.raise(workspaceId, input);
|
|
1597
1632
|
},
|
|
1598
|
-
|
|
1599
|
-
// facade injected — not a module global; the engine just forwards to that instance.
|
|
1600
|
-
getProvider: (token) => this.providerRegistry.get(token),
|
|
1601
|
-
requireProvider: (token) => this.providerRegistry.require(token),
|
|
1602
|
-
isProviderWired: (token) => this.providerRegistry.isWired(token),
|
|
1633
|
+
providerRegistry: this.providerRegistry,
|
|
1603
1634
|
};
|
|
1604
1635
|
}
|
|
1605
|
-
/**
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
if (step.gate?.phase === 'working' && step.jobId) {
|
|
1617
|
-
return { kind: 'awaiting_job', jobId: step.jobId, stepIndex: instance.currentStep };
|
|
1618
|
-
}
|
|
1619
|
-
// Provider not wired: the gate is a pass-through so the engine works without it.
|
|
1620
|
-
if (!gate.wired()) {
|
|
1621
|
-
return this.recordStepResult(workspaceId, instance, step, isFinalStep, {
|
|
1622
|
-
output: gate.unwiredOutput,
|
|
1623
|
-
});
|
|
1624
|
-
}
|
|
1625
|
-
// Initialise the gate's state on first entry, resolving the attempt budget from the
|
|
1626
|
-
// task's merge preset (stable across polls once set).
|
|
1627
|
-
if (!step.gate) {
|
|
1628
|
-
const preset = await this.resolveRiskPolicy(workspaceId, block);
|
|
1629
|
-
step.gate = {
|
|
1630
|
-
phase: 'checking',
|
|
1631
|
-
attempts: 0,
|
|
1632
|
-
maxAttempts: gate.attemptBudget ? gate.attemptBudget(preset) : preset.ciMaxAttempts,
|
|
1633
|
-
headSha: null,
|
|
1634
|
-
// Stash the watch window once (read on every poll by a time-windowed gate's
|
|
1635
|
-
// probe; harmless/unused for the CI/conflicts gates).
|
|
1636
|
-
watchWindowMinutes: preset.releaseWatchWindowMinutes,
|
|
1637
|
-
// Stash the human-review grace window once (read by the human-review gate's probe;
|
|
1638
|
-
// harmless/unused for the other gates).
|
|
1639
|
-
humanReviewGraceMinutes: preset.humanReviewGraceMinutes,
|
|
1640
|
-
};
|
|
1641
|
-
}
|
|
1642
|
-
// A human-initiated fix request (an in-app freeform prompt, or a GitHub-comment
|
|
1643
|
-
// instruction) parked on the gate is dispatched immediately — bypassing the precheck +
|
|
1644
|
-
// grace window. Consume it at-most-once: clear + persist BEFORE the (side-effecting)
|
|
1645
|
-
// dispatch so a retried driver step can't re-dispatch a second fixer. Falls through to
|
|
1646
|
-
// the normal probe when there is no async executor to escalate to.
|
|
1647
|
-
if (step.gate.pendingFix && isAsyncAgentExecutor(this.agentExecutor)) {
|
|
1648
|
-
const fix = step.gate.pendingFix;
|
|
1649
|
-
step.gate.pendingFix = null;
|
|
1650
|
-
await this.runStateMachine.casPersist(workspaceId, instance);
|
|
1651
|
-
return this.dispatchGateHelper(workspaceId, instance, step, block, isFinalStep, {
|
|
1652
|
-
gate,
|
|
1653
|
-
failureSummary: fix.instructions,
|
|
1654
|
-
});
|
|
1655
|
-
}
|
|
1656
|
-
// A time-windowed gate (post-release-health) marks when it began watching, on first
|
|
1657
|
-
// entry, so its probe knows whether the monitoring window has elapsed. Harmless for
|
|
1658
|
-
// the CI/conflicts gates, which ignore it.
|
|
1659
|
-
if (step.gate.watchSince == null)
|
|
1660
|
-
step.gate.watchSince = this.clock.now();
|
|
1661
|
-
// Resolve the gate's GitHub reads (CI checks / mergeability) under the run
|
|
1662
|
-
// initiator's ambient context, so a per-user PAT (when set) is preferred over the
|
|
1663
|
-
// deployment's App/env token — see PatPreferringAppRegistry.
|
|
1664
|
-
const gateState = step.gate;
|
|
1665
|
-
const probe = await this.runInitiatorScope(instance.initiatedBy, () => gate.probe(workspaceId, block.id, gateState));
|
|
1666
|
-
step.gate.headSha = probe.headSha;
|
|
1667
|
-
// Multi-repo (service-connections phase 4): the CI / conflicts gates aggregate across every
|
|
1668
|
-
// PR the task opened; persist the per-repo head shas (and, for the conflicts gate, which repo
|
|
1669
|
-
// conflicted) so the run-detail UI can group checks by service and the conflict-resolver can
|
|
1670
|
-
// target the conflicted repo.
|
|
1671
|
-
step.gate.headShas = probe.headShas ?? null;
|
|
1672
|
-
step.gate.conflictTarget = probe.conflictTarget ?? null;
|
|
1673
|
-
// Persist the precheck outcome so the run-detail UI can surface why the gate is
|
|
1674
|
-
// looping (the failing checks / conflict reason) — detail that was previously fed
|
|
1675
|
-
// only to the helper agent and then discarded.
|
|
1676
|
-
step.gate.lastVerdict = probe.status;
|
|
1677
|
-
step.gate.lastFailureSummary = probe.failureSummary ?? null;
|
|
1678
|
-
step.gate.failingChecks = probe.failingChecks ?? null;
|
|
1679
|
-
if (probe.status === 'pass') {
|
|
1680
|
-
// Stop the moment the precheck passes — finish the step and advance.
|
|
1681
|
-
return this.recordStepResult(workspaceId, instance, step, isFinalStep, {
|
|
1682
|
-
output: probe.passOutput ?? `${gate.kind} gate passed.`,
|
|
1683
|
-
});
|
|
1684
|
-
}
|
|
1685
|
-
if (probe.status === 'pending') {
|
|
1686
|
-
// Keep polling. Persist the head sha + phase so the board can reflect it.
|
|
1687
|
-
step.gate.phase = 'checking';
|
|
1688
|
-
await this.runStateMachine.casPersist(workspaceId, instance);
|
|
1689
|
-
await this.runStateMachine.emitInstance(workspaceId, instance);
|
|
1690
|
-
return { kind: 'awaiting_gate', stepIndex: instance.currentStep };
|
|
1691
|
-
}
|
|
1692
|
-
// probe.status === 'fail'.
|
|
1693
|
-
// A gate can decline escalation for a failure its helper can't fix (e.g. the conflicts
|
|
1694
|
-
// gate on a PEER-repo conflict it has no resolver for) — go straight to give-up instead
|
|
1695
|
-
// of burning the attempt budget on a helper that can't touch the problem.
|
|
1696
|
-
const canEscalate = isAsyncAgentExecutor(this.agentExecutor) && probe.escalatable !== false;
|
|
1697
|
-
if (canEscalate && step.gate.attempts < step.gate.maxAttempts) {
|
|
1698
|
-
return this.dispatchGateHelper(workspaceId, instance, step, block, isFinalStep, {
|
|
1699
|
-
gate,
|
|
1700
|
-
failureSummary: probe.failureSummary,
|
|
1701
|
-
});
|
|
1702
|
-
}
|
|
1703
|
-
// Budget spent (or no async executor to escalate to): give up.
|
|
1704
|
-
const { error } = await gate.onExhausted({
|
|
1705
|
-
workspaceId,
|
|
1706
|
-
instance,
|
|
1707
|
-
block,
|
|
1708
|
-
step,
|
|
1709
|
-
summary: probe.failureSummary,
|
|
1710
|
-
});
|
|
1711
|
-
return { kind: 'job_failed', error };
|
|
1636
|
+
/** @see JudgeStepController.getActive */
|
|
1637
|
+
getJudgeState(workspaceId, executionId) {
|
|
1638
|
+
return this.judgeController.getActive(workspaceId, executionId);
|
|
1639
|
+
}
|
|
1640
|
+
/** @see JudgeStepController.resolveDecision */
|
|
1641
|
+
resolveJudgeDecision(workspaceId, executionId, input) {
|
|
1642
|
+
return this.judgeController.resolveDecision(workspaceId, executionId, input);
|
|
1643
|
+
}
|
|
1644
|
+
/** Every registered judge, for the workspace-snapshot palette projection. */
|
|
1645
|
+
registeredJudges() {
|
|
1646
|
+
return this.judgeController.all();
|
|
1712
1647
|
}
|
|
1713
1648
|
/**
|
|
1714
|
-
*
|
|
1715
|
-
*
|
|
1716
|
-
*
|
|
1717
|
-
* under replay via the step's `jobId` (re-attach handled in {@link evaluateGate}).
|
|
1649
|
+
* Evaluate a polling gate step once and decide (shared by the initial advance and the durable
|
|
1650
|
+
* `awaiting_gate` re-poll). Thin delegate — the state machine lives in
|
|
1651
|
+
* {@link GateStepController}.
|
|
1718
1652
|
*/
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
const executor = this.agentExecutor;
|
|
1722
|
-
if (!isAsyncAgentExecutor(executor)) {
|
|
1723
|
-
// Defensive: evaluateGate only calls this when async-capable.
|
|
1724
|
-
return { kind: 'job_failed', error: `No async executor available for the ${gate.kind} gate.` };
|
|
1725
|
-
}
|
|
1726
|
-
// Build the context AS the helper kind: the hosting step's kind is the gate
|
|
1727
|
-
// (`ci` / `post-release-health`), so trait-driven context — the `code-aware`
|
|
1728
|
-
// service-fragment fold for `ci-fixer` / `on-call` — must key off the helper.
|
|
1729
|
-
const base = await this.contextBuilder.buildContext(workspaceId, instance, step, isFinalStep, block, { agentKind: gate.helperKind });
|
|
1730
|
-
// A gate may build richer helper context asynchronously (the on-call agent gets the
|
|
1731
|
-
// full Datadog evidence bundle); otherwise fall back to the simple summary prior.
|
|
1732
|
-
const extras = gate.gatherHelperPriorOutputs
|
|
1733
|
-
? await gate.gatherHelperPriorOutputs(workspaceId, block.id, step.gate ?? { phase: 'checking', attempts: 0, maxAttempts: 0 })
|
|
1734
|
-
: [gate.helperPriorOutput?.(failureSummary ?? '')].filter((o) => o != null);
|
|
1735
|
-
// When the conflicts gate detected the conflict on a PEER repo (multi-repo task), hand the
|
|
1736
|
-
// conflict-resolver the target repo so the executor points it at THAT repo (own-service or
|
|
1737
|
-
// a connected service) instead of always the own service. Own-repo conflicts leave it absent
|
|
1738
|
-
// (`conflictTarget` carries no `frameId`), so the resolver targets the own repo as before.
|
|
1739
|
-
const conflictTarget = step.gate?.conflictTarget;
|
|
1740
|
-
const context = {
|
|
1741
|
-
...base,
|
|
1742
|
-
agentKind: gate.helperKind,
|
|
1743
|
-
priorOutputs: [...base.priorOutputs, ...extras],
|
|
1744
|
-
...(conflictTarget?.frameId
|
|
1745
|
-
? { conflictTarget: { repo: conflictTarget.repo, frameId: conflictTarget.frameId } }
|
|
1746
|
-
: {}),
|
|
1747
|
-
};
|
|
1748
|
-
const handle = await executor.startJob(context);
|
|
1749
|
-
step.jobId = handle.jobId;
|
|
1750
|
-
if (handle.model)
|
|
1751
|
-
step.model = handle.model;
|
|
1752
|
-
step.gate = {
|
|
1753
|
-
// Preserve the recorded verdict/failure detail (set in evaluateGate) so the UI
|
|
1754
|
-
// keeps showing what the helper is fixing while it works.
|
|
1755
|
-
...step.gate,
|
|
1756
|
-
phase: 'working',
|
|
1757
|
-
attempts: (step.gate?.attempts ?? 0) + 1,
|
|
1758
|
-
maxAttempts: step.gate?.maxAttempts ?? DEFAULT_RISK_POLICY.ciMaxAttempts,
|
|
1759
|
-
headSha: step.gate?.headSha ?? null,
|
|
1760
|
-
// Stash the instructions this helper was handed (the failing-check summary / conflict
|
|
1761
|
-
// reason / human fix prompt) so the attempt recorded at its completion can show WHAT
|
|
1762
|
-
// this round set out to fix — the gate analogue of the Tester attempt's `concerns`.
|
|
1763
|
-
// Covers every dispatch path (the failed-precheck `probe.failureSummary` and the human
|
|
1764
|
-
// `pendingFix.instructions`), which both arrive here as `failureSummary`.
|
|
1765
|
-
lastDispatchedInstructions: failureSummary ?? step.gate?.lastDispatchedInstructions ?? null,
|
|
1766
|
-
};
|
|
1767
|
-
await this.runStateMachine.casPersist(workspaceId, instance);
|
|
1768
|
-
await this.runStateMachine.emitInstance(workspaceId, instance);
|
|
1769
|
-
return { kind: 'awaiting_job', jobId: step.jobId, stepIndex: instance.currentStep };
|
|
1653
|
+
evaluateGate(workspaceId, instance, step, block, isFinalStep, gate) {
|
|
1654
|
+
return this.gateStepController.evaluate(workspaceId, instance, step, block, isFinalStep, gate);
|
|
1770
1655
|
}
|
|
1771
1656
|
// ---- Implementation-fork decision phase (Phase A dispatch) --------------
|
|
1772
1657
|
// The proposer explore job runs as a HELPER off the coder step; its completion is handled
|