@cat-factory/orchestration 0.133.0 → 0.133.2
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/environmentsModule.factory.d.ts +51 -0
- package/dist/container/environmentsModule.factory.d.ts.map +1 -0
- package/dist/container/environmentsModule.factory.js +102 -0
- package/dist/container/environmentsModule.factory.js.map +1 -0
- package/dist/container/modules.d.ts.map +1 -1
- package/dist/container/modules.js +17 -63
- package/dist/container/modules.js.map +1 -1
- package/dist/modules/board/BoardService.d.ts +30 -0
- package/dist/modules/board/BoardService.d.ts.map +1 -1
- package/dist/modules/board/BoardService.js +100 -72
- package/dist/modules/board/BoardService.js.map +1 -1
- package/dist/modules/execution/CompanionController.d.ts +8 -0
- package/dist/modules/execution/CompanionController.d.ts.map +1 -1
- package/dist/modules/execution/CompanionController.js +55 -34
- package/dist/modules/execution/CompanionController.js.map +1 -1
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +6 -39
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/PollCompletionController.d.ts +68 -0
- package/dist/modules/execution/PollCompletionController.d.ts.map +1 -0
- package/dist/modules/execution/PollCompletionController.js +139 -0
- package/dist/modules/execution/PollCompletionController.js.map +1 -0
- package/dist/modules/execution/PrReviewResolutionController.d.ts +15 -0
- package/dist/modules/execution/PrReviewResolutionController.d.ts.map +1 -1
- package/dist/modules/execution/PrReviewResolutionController.js +40 -29
- package/dist/modules/execution/PrReviewResolutionController.js.map +1 -1
- package/dist/modules/execution/RunDispatcher.d.ts +2 -0
- package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
- package/dist/modules/execution/RunDispatcher.js +24 -90
- package/dist/modules/execution/RunDispatcher.js.map +1 -1
- package/dist/modules/execution/reentrancy.logic.d.ts +13 -0
- package/dist/modules/execution/reentrancy.logic.d.ts.map +1 -0
- package/dist/modules/execution/reentrancy.logic.js +44 -0
- package/dist/modules/execution/reentrancy.logic.js.map +1 -0
- package/dist/modules/pipelines/PipelineService.d.ts.map +1 -1
- package/dist/modules/pipelines/PipelineService.js +24 -15
- package/dist/modules/pipelines/PipelineService.js.map +1 -1
- package/dist/validation/validateRegistrations.d.ts.map +1 -1
- package/dist/validation/validateRegistrations.js +81 -50
- package/dist/validation/validateRegistrations.js.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PollCompletionController.js","sourceRoot":"","sources":["../../../src/modules/execution/PollCompletionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,5 +79,20 @@ export declare class PrReviewResolutionController {
|
|
|
79
79
|
* finishes — the review pipeline never reaches this without GitHub in practice.
|
|
80
80
|
*/
|
|
81
81
|
private post;
|
|
82
|
+
/**
|
|
83
|
+
* Detect PR head DRIFT since the review started: re-read the current head and compare it to the
|
|
84
|
+
* sha captured at review start. Best-effort — an unknown sha on either side (no capability /
|
|
85
|
+
* older run / read blip) yields `false`, so the pre-existing per-line diff filtering still
|
|
86
|
+
* applies. Split out of {@link post} to keep it under the complexity ceiling.
|
|
87
|
+
*/
|
|
88
|
+
private detectStaleHead;
|
|
89
|
+
/**
|
|
90
|
+
* Pre-filter the findings against the actual PR diff so out-of-diff lines are folded into the
|
|
91
|
+
* summary rather than sent as inline comments GitHub would 422. Best-effort: a failed or unwired
|
|
92
|
+
* changed-file read skips the filter. Skipped under a stale head (every finding is folded
|
|
93
|
+
* already, so the diff read would be wasted work against a diff the findings no longer map onto
|
|
94
|
+
* cleanly). Split out of {@link post} to keep it under the complexity ceiling.
|
|
95
|
+
*/
|
|
96
|
+
private computeCommentable;
|
|
82
97
|
}
|
|
83
98
|
//# sourceMappingURL=PrReviewResolutionController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrReviewResolutionController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/PrReviewResolutionController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAGd,iBAAiB,EACjB,YAAY,
|
|
1
|
+
{"version":3,"file":"PrReviewResolutionController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/PrReviewResolutionController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAGd,iBAAiB,EACjB,YAAY,EAEZ,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AASjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAYpE,kHAAkH;AAClH,MAAM,WAAW,gCAAgC;IAC/C,eAAe,EAAE,eAAe,CAAA;IAChC,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,CAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,cAAc,KACnB,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3B,eAAe,EAAE,CACf,GAAG,EAAE,kBAAkB,EACvB,YAAY,CAAC,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,KAChD,OAAO,CAAC,aAAa,CAAC,CAAA;CAC5B;AAED;;;;;;;GAOG;AACH,qBAAa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,gCAAgC,EAAI;IAEvE;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAItD;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;;;;;;;;OASG;YACW,aAAa;IAkD3B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;YACW,IAAI;IAsGlB;;;;;OAKG;YACW,eAAe;IAgB7B;;;;;;OAMG;YACW,kBAAkB;CAajC"}
|
|
@@ -181,36 +181,11 @@ export class PrReviewResolutionController {
|
|
|
181
181
|
}
|
|
182
182
|
// Detect branch DRIFT: if the PR head moved since the review started, the findings' frozen
|
|
183
183
|
// line numbers may now point at shifted/different code, so posting inline comments would
|
|
184
|
-
// anchor them to the wrong lines
|
|
185
|
-
|
|
186
|
-
// blip) leaves `staleHead` false, so the pre-existing per-line diff filtering still applies.
|
|
187
|
-
let staleHead = false;
|
|
188
|
-
if (review.reviewedHeadSha && repo.pullRequestHeadSha) {
|
|
189
|
-
try {
|
|
190
|
-
const headSha = repo.pullRequestHeadSha;
|
|
191
|
-
const currentHeadSha = await this.deps.runInitiatorScope(instance.initiatedBy, () => headSha(prNumber));
|
|
192
|
-
staleHead = currentHeadSha != null && currentHeadSha !== review.reviewedHeadSha;
|
|
193
|
-
}
|
|
194
|
-
catch {
|
|
195
|
-
staleHead = false;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
184
|
+
// anchor them to the wrong lines (see {@link detectStaleHead}).
|
|
185
|
+
const staleHead = await this.detectStaleHead(review, repo, prNumber, instance.initiatedBy);
|
|
198
186
|
// Pre-filter against the actual PR diff so out-of-diff lines are folded into the summary
|
|
199
|
-
// rather than sent as inline comments GitHub would 422
|
|
200
|
-
|
|
201
|
-
// Skipped when the head drifted — `staleHead` already folds every finding, so the diff read
|
|
202
|
-
// would be wasted work against a diff the findings no longer map onto cleanly.
|
|
203
|
-
let commentable;
|
|
204
|
-
if (!staleHead) {
|
|
205
|
-
try {
|
|
206
|
-
const files = await repo.listChangedFiles?.(prNumber);
|
|
207
|
-
if (files)
|
|
208
|
-
commentable = computeCommentableLines(files);
|
|
209
|
-
}
|
|
210
|
-
catch {
|
|
211
|
-
commentable = undefined;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
187
|
+
// rather than sent as inline comments GitHub would 422 (see {@link computeCommentable}).
|
|
188
|
+
const commentable = await this.computeCommentable(staleHead, repo, prNumber);
|
|
214
189
|
const bodyAlreadyPosted = review.postedBody === true;
|
|
215
190
|
const built = buildPrReviewPost(selected, review.summary, commentable, {
|
|
216
191
|
staleHead,
|
|
@@ -266,5 +241,41 @@ export class PrReviewResolutionController {
|
|
|
266
241
|
step.prReview = { ...step.prReview, status: 'awaiting_selection', resolution: null };
|
|
267
242
|
return this.deps.runStateMachine.parkStepOnDecision(workspaceId, instance, step);
|
|
268
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* Detect PR head DRIFT since the review started: re-read the current head and compare it to the
|
|
246
|
+
* sha captured at review start. Best-effort — an unknown sha on either side (no capability /
|
|
247
|
+
* older run / read blip) yields `false`, so the pre-existing per-line diff filtering still
|
|
248
|
+
* applies. Split out of {@link post} to keep it under the complexity ceiling.
|
|
249
|
+
*/
|
|
250
|
+
async detectStaleHead(review, repo, prNumber, initiatedBy) {
|
|
251
|
+
if (!review.reviewedHeadSha || !repo.pullRequestHeadSha)
|
|
252
|
+
return false;
|
|
253
|
+
try {
|
|
254
|
+
const headSha = repo.pullRequestHeadSha;
|
|
255
|
+
const currentHeadSha = await this.deps.runInitiatorScope(initiatedBy, () => headSha(prNumber));
|
|
256
|
+
return currentHeadSha != null && currentHeadSha !== review.reviewedHeadSha;
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Pre-filter the findings against the actual PR diff so out-of-diff lines are folded into the
|
|
264
|
+
* summary rather than sent as inline comments GitHub would 422. Best-effort: a failed or unwired
|
|
265
|
+
* changed-file read skips the filter. Skipped under a stale head (every finding is folded
|
|
266
|
+
* already, so the diff read would be wasted work against a diff the findings no longer map onto
|
|
267
|
+
* cleanly). Split out of {@link post} to keep it under the complexity ceiling.
|
|
268
|
+
*/
|
|
269
|
+
async computeCommentable(staleHead, repo, prNumber) {
|
|
270
|
+
if (staleHead)
|
|
271
|
+
return undefined;
|
|
272
|
+
try {
|
|
273
|
+
const files = await repo.listChangedFiles?.(prNumber);
|
|
274
|
+
return files ? computeCommentableLines(files) : undefined;
|
|
275
|
+
}
|
|
276
|
+
catch {
|
|
277
|
+
return undefined;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
269
280
|
}
|
|
270
281
|
//# sourceMappingURL=PrReviewResolutionController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrReviewResolutionController.js","sourceRoot":"","sources":["../../../src/modules/execution/PrReviewResolutionController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PrReviewResolutionController.js","sourceRoot":"","sources":["../../../src/modules/execution/PrReviewResolutionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -163,6 +163,8 @@ export declare class RunDispatcher {
|
|
|
163
163
|
private readonly repoOps;
|
|
164
164
|
/** Driver-side PR deep-review resolution (`fix` / `post`), extracted as a cohesive collaborator. */
|
|
165
165
|
private readonly prReviewResolution;
|
|
166
|
+
/** Settled-agent-poll completion (helper-phase branches + `failed` handling), extracted collaborator. */
|
|
167
|
+
private readonly pollCompletion;
|
|
166
168
|
/**
|
|
167
169
|
* The Follow-up companion gate (the future-looking Coder's streamed items, the
|
|
168
170
|
* park-until-decided gate, and the human-action API), extracted to
|
|
@@ -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,EAEL,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAE7B,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAEhB,WAAW,EACX,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EAEjB,qBAAqB,EACrB,UAAU,EACX,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"RunDispatcher.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunDispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ConflictError, DEFAULT_RISK_POLICY,
|
|
1
|
+
import { ConflictError, DEFAULT_RISK_POLICY, getErrorMessage, isAsyncAgentExecutor, NotFoundError, parseLocalModelId, recordGateAttempt, RunContendedError, sameSubtasks, } from '@cat-factory/kernel';
|
|
2
2
|
import { parseBlueprintService, parseSpecDoc } from '@cat-factory/contracts';
|
|
3
3
|
import { commitInitiativeTracker, FORK_PROPOSER_KIND, PR_REVIEWER_KIND, resolvePrNumber, } from '@cat-factory/agents';
|
|
4
4
|
import { isDeployStep } from '@cat-factory/integrations';
|
|
5
5
|
import { reviewableArtifactOutput } from './artifact-review.logic.js';
|
|
6
|
-
import { ANALYSIS_AGENT_KIND, CONFLICTS_AGENT_KIND, HUMAN_TEST_AGENT_KIND
|
|
6
|
+
import { ANALYSIS_AGENT_KIND, CONFLICTS_AGENT_KIND, HUMAN_TEST_AGENT_KIND } from './ci.logic.js';
|
|
7
7
|
import { classifyDispatchFailure, MAX_EVICTION_RECOVERIES, MAX_TRANSIENT_EVICTION_RECOVERIES, shouldPersistActivity, } from './job.logic.js';
|
|
8
8
|
import { AgentContextBuilder } from './AgentContextBuilder.js';
|
|
9
9
|
import { DeployerStepController } from './DeployerStepController.js';
|
|
@@ -17,6 +17,7 @@ import { ForkDecisionController } from './ForkDecisionController.js';
|
|
|
17
17
|
import { PrReviewController } from './PrReviewController.js';
|
|
18
18
|
import { initialPrReviewState } from './prReview.logic.js';
|
|
19
19
|
import { PrReviewResolutionController } from './PrReviewResolutionController.js';
|
|
20
|
+
import { PollCompletionController } from './PollCompletionController.js';
|
|
20
21
|
import { DEFAULT_FORK_MAX_CHAT_TURNS, resolveForkTriState, shouldProposeForkAuto, } from './forkDecision.logic.js';
|
|
21
22
|
import { RunStateMachine } from './RunStateMachine.js';
|
|
22
23
|
import { StepGraph } from './StepGraph.js';
|
|
@@ -94,6 +95,8 @@ export class RunDispatcher {
|
|
|
94
95
|
repoOps;
|
|
95
96
|
/** Driver-side PR deep-review resolution (`fix` / `post`), extracted as a cohesive collaborator. */
|
|
96
97
|
prReviewResolution;
|
|
98
|
+
/** Settled-agent-poll completion (helper-phase branches + `failed` handling), extracted collaborator. */
|
|
99
|
+
pollCompletion;
|
|
97
100
|
/**
|
|
98
101
|
* The Follow-up companion gate (the future-looking Coder's streamed items, the
|
|
99
102
|
* park-until-decided gate, and the human-action API), extracted to
|
|
@@ -195,6 +198,18 @@ export class RunDispatcher {
|
|
|
195
198
|
recordStepResult: (ws, instance, step, isFinalStep, result) => this.recordStepResult(ws, instance, step, isFinalStep, result),
|
|
196
199
|
handleAgentStep: (ctx, dispatchKind, augment) => this.handleAgentStep(ctx, dispatchKind, augment),
|
|
197
200
|
});
|
|
201
|
+
this.pollCompletion = new PollCompletionController({
|
|
202
|
+
blockRepository: deps.blockRepository,
|
|
203
|
+
clock: deps.clock,
|
|
204
|
+
runStateMachine: deps.runStateMachine,
|
|
205
|
+
testerController: deps.testerController,
|
|
206
|
+
humanTestController: deps.humanTestController,
|
|
207
|
+
visualConfirmationController: deps.visualConfirmationController,
|
|
208
|
+
prReviewController: deps.prReviewController,
|
|
209
|
+
recordBackendDiagnostics: (instance, backend) => this.recordBackendDiagnostics(instance, backend),
|
|
210
|
+
recoverContainerEviction: (ws, instance, step, error, evicted) => this.recoverContainerEviction(ws, instance, step, error, evicted),
|
|
211
|
+
markContainerErrored: (ws, instance, step) => this.markContainerErrored(ws, instance, step),
|
|
212
|
+
});
|
|
198
213
|
// Assemble the seam the extracted dispatch-registry builders close over: the collaborators
|
|
199
214
|
// above + bound call-backs into this dispatcher's completion / gate / phase methods, so the
|
|
200
215
|
// built-ins resolve everything at call time exactly as the former inline closures did.
|
|
@@ -585,95 +600,14 @@ export class RunDispatcher {
|
|
|
585
600
|
if (reprobeGate) {
|
|
586
601
|
return this.reprobeGateAfterHelper(reprobeGate, { workspaceId, instance, step, update });
|
|
587
602
|
}
|
|
588
|
-
// A
|
|
589
|
-
// step's own work:
|
|
590
|
-
//
|
|
591
|
-
|
|
592
|
-
if (
|
|
593
|
-
|
|
594
|
-
// show an inspectable timeline of the otherwise-opaque fixer sub-jobs. Persisted as
|
|
595
|
-
// part of the re-dispatch below.
|
|
596
|
-
this.testerController.recordFixerOutcome(step, update.state === 'done'
|
|
597
|
-
? { state: 'done', output: update.result.output ?? null }
|
|
598
|
-
: { state: 'failed', error: update.error ?? null }, this.clock.now());
|
|
599
|
-
step.jobId = undefined;
|
|
600
|
-
step.subtasks = undefined;
|
|
601
|
-
step.test.phase = 'testing';
|
|
602
|
-
const block = await this.blockRepository.get(workspaceId, instance.blockId);
|
|
603
|
-
if (!block)
|
|
604
|
-
return { kind: 'noop' };
|
|
605
|
-
// Reclaim the finished Fixer container before re-dispatching the Tester so it
|
|
606
|
-
// boots fresh against the just-pushed fixes (rather than re-attaching to the
|
|
607
|
-
// completed job by run id).
|
|
608
|
-
await this.runStateMachine.stopRunContainer(workspaceId, instance);
|
|
609
|
-
return this.testerController.dispatchTester(workspaceId, instance, step, block);
|
|
610
|
-
}
|
|
611
|
-
// A `human-test` gate in its `fixing` / `resolving_conflicts` phase has a helper job
|
|
612
|
-
// (fixer / conflict-resolver) in flight, NOT the step's own work: when it settles —
|
|
613
|
-
// done OR failed — record the round's outcome, rebuild the environment against the
|
|
614
|
-
// (now-updated) branch and re-park the human. We never fail the run here; the human is
|
|
615
|
-
// in control. Mirrors the Tester→Fixer loop.
|
|
616
|
-
if (step.agentKind === HUMAN_TEST_AGENT_KIND &&
|
|
617
|
-
(step.humanTest?.phase === 'fixing' || step.humanTest?.phase === 'resolving_conflicts')) {
|
|
618
|
-
return this.humanTestController.onHelperComplete(workspaceId, instance, step, {
|
|
619
|
-
state: update.state === 'failed' ? 'failed' : 'done',
|
|
620
|
-
});
|
|
621
|
-
}
|
|
622
|
-
// A `visual-confirmation` gate in its `fixing` phase has a `fixer` job in flight: when it
|
|
623
|
-
// settles, record the round, refresh the screenshot pairs, and re-park the human.
|
|
624
|
-
if (step.agentKind === VISUAL_CONFIRM_AGENT_KIND && step.visualConfirm?.phase === 'fixing') {
|
|
625
|
-
return this.visualConfirmationController.onHelperComplete(workspaceId, instance, step, {
|
|
626
|
-
state: update.state === 'failed' ? 'failed' : 'done',
|
|
627
|
-
});
|
|
628
|
-
}
|
|
603
|
+
// A helper job (Fixer / conflict-resolver) in flight for a tester / human-test /
|
|
604
|
+
// visual-confirmation gate is NOT the step's own work: settle that round and re-park/re-dispatch
|
|
605
|
+
// instead of recording a step result. Returns null when this step has no such helper in flight.
|
|
606
|
+
const phased = await this.pollCompletion.resolveHelperPhaseCompletion(workspaceId, instance, step, update);
|
|
607
|
+
if (phased)
|
|
608
|
+
return phased;
|
|
629
609
|
if (update.state === 'failed') {
|
|
630
|
-
|
|
631
|
-
// BEFORE branching on eviction: a first-poll failure/eviction may never have hit the
|
|
632
|
-
// running branch that normally records it, and an evicted run is exactly the case a
|
|
633
|
-
// post-mortem inspects ("which backend evicted this?"). Idempotent, so it's harmless when
|
|
634
|
-
// the running branch already stamped it; whichever path upserts below persists it — the
|
|
635
|
-
// eviction re-dispatch/exhausted upsert in recoverContainerEviction, or markContainerErrored
|
|
636
|
-
// on a genuine failure (failRun then re-reads from storage).
|
|
637
|
-
this.recordBackendDiagnostics(instance, update.backend);
|
|
638
|
-
// A container eviction (the per-run container vanished, its in-memory job is gone) is
|
|
639
|
-
// usually transient. The shared recovery drops the dead handle and returns `continue` so
|
|
640
|
-
// the driver re-dispatches the SAME step to a fresh container, within the per-flavour
|
|
641
|
-
// budget (transient infra churn vs a crash/OOM); once the budget is spent it fails the run
|
|
642
|
-
// as `evicted`. Returns null for a genuine agent/job failure, handled below.
|
|
643
|
-
const recovered = await this.recoverContainerEviction(workspaceId, instance, step, update.error, update.evicted);
|
|
644
|
-
if (recovered)
|
|
645
|
-
return recovered;
|
|
646
|
-
// A read-only Challenge Investigator (dispatched off a parked `pr-reviewer` step when the
|
|
647
|
-
// human challenged ONE finding) failed for real: settle the challenge as `failed` and RE-PARK
|
|
648
|
-
// the review — a non-critical second opinion crashing must not fail the human's in-flight
|
|
649
|
-
// curation. Mirrors the human-test / visual-confirmation helper-failure branches above.
|
|
650
|
-
if (step.agentKind === PR_REVIEWER_KIND && step.prReview?.status === 'challenging') {
|
|
651
|
-
const settled = await this.prReviewController.recordChallengeFailure(workspaceId, instance, step, update.error);
|
|
652
|
-
if (settled)
|
|
653
|
-
return settled;
|
|
654
|
-
}
|
|
655
|
-
// Not an eviction: a genuine agent/job failure. Prefer the harness's STRUCTURED cause
|
|
656
|
-
// to classify it (→ AgentFailureKind), falling back to the error-string regex when an
|
|
657
|
-
// older image (or a pool transport that doesn't forward the cause) reported none — the
|
|
658
|
-
// same regex the bootstrap path uses, so a watchdog timeout still classifies as `timeout`
|
|
659
|
-
// rather than a generic `agent`. The extended diagnostic surfaces as the failure detail.
|
|
660
|
-
// Mark the container errored and persist so the failed details show it (failRun
|
|
661
|
-
// re-reads from storage, so an in-memory-only mutation would be lost; failRun emits
|
|
662
|
-
// the terminal frame, so markContainerErrored deliberately doesn't).
|
|
663
|
-
await this.markContainerErrored(workspaceId, instance, step);
|
|
664
|
-
return {
|
|
665
|
-
kind: 'job_failed',
|
|
666
|
-
error: update.error,
|
|
667
|
-
// Prefer the harness's structured cause; default to the coarse `agent` when it reported
|
|
668
|
-
// none (the watchdog-phrase string fallback is gone — current images always emit a cause).
|
|
669
|
-
failureKind: failureKindFromHarnessCause(update.failureCause) ?? 'agent',
|
|
670
|
-
detail: update.detail ?? update.error,
|
|
671
|
-
// Preserve the harness's FINE-GRAINED cause (git / api / no-usable-output / no-changes)
|
|
672
|
-
// that `failureKind` collapses to the coarse `agent` — recorded on the failure's
|
|
673
|
-
// machine-readable `reason` so a post-mortem sees it was e.g. a `git` push failure, not
|
|
674
|
-
// a generic agent error, without regrepping the transcript.
|
|
675
|
-
...(update.failureCause ? { reason: update.failureCause } : {}),
|
|
676
|
-
};
|
|
610
|
+
return this.pollCompletion.handleFailedPoll(workspaceId, instance, step, update);
|
|
677
611
|
}
|
|
678
612
|
const block = await this.blockRepository.get(workspaceId, instance.blockId);
|
|
679
613
|
if (!block)
|