@cat-factory/orchestration 0.129.11 → 0.131.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/ExecutionService.d.ts +5 -1
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +8 -0
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/PrReviewController.d.ts +43 -1
- package/dist/modules/execution/PrReviewController.d.ts.map +1 -1
- package/dist/modules/execution/PrReviewController.js +127 -10
- package/dist/modules/execution/PrReviewController.js.map +1 -1
- package/dist/modules/execution/PrReviewResolutionController.d.ts +14 -0
- package/dist/modules/execution/PrReviewResolutionController.d.ts.map +1 -1
- package/dist/modules/execution/PrReviewResolutionController.js +96 -25
- package/dist/modules/execution/PrReviewResolutionController.js.map +1 -1
- package/dist/modules/execution/RunDispatcher.d.ts +13 -1
- package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
- package/dist/modules/execution/RunDispatcher.js +46 -2
- package/dist/modules/execution/RunDispatcher.js.map +1 -1
- package/dist/modules/execution/dispatcher-registries.d.ts.map +1 -1
- package/dist/modules/execution/dispatcher-registries.js +29 -8
- package/dist/modules/execution/dispatcher-registries.js.map +1 -1
- package/dist/modules/execution/prReview.logic.d.ts +57 -3
- package/dist/modules/execution/prReview.logic.d.ts.map +1 -1
- package/dist/modules/execution/prReview.logic.js +141 -5
- package/dist/modules/execution/prReview.logic.js.map +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrReviewController.js","sourceRoot":"","sources":["../../../src/modules/execution/PrReviewController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PrReviewController.js","sourceRoot":"","sources":["../../../src/modules/execution/PrReviewController.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,11 +22,25 @@ export declare class PrReviewResolutionController {
|
|
|
22
22
|
private readonly deps;
|
|
23
23
|
constructor(deps: PrReviewResolutionControllerDeps);
|
|
24
24
|
/**
|
|
25
|
+
* - `challenging`: dispatch the read-only Challenge Investigator against the ONE challenged
|
|
26
|
+
* finding (parks on the job; its verdict is applied by the `pr-review-challenge` interceptor,
|
|
27
|
+
* which re-parks the review).
|
|
25
28
|
* - `fixing`: dispatch the Fixer against the reviewed PR's head branch with the selected
|
|
26
29
|
* findings folded in (parks on the job; its completion marks the review `done`).
|
|
27
30
|
* - `posting`: publish the selected findings as inline PR review comments, then finish the step.
|
|
28
31
|
*/
|
|
29
32
|
handle(ctx: StepHandlerContext): Promise<AdvanceResult>;
|
|
33
|
+
/**
|
|
34
|
+
* Dispatch the read-only Challenge Investigator for a challenged finding. The finding + the
|
|
35
|
+
* human's optional concern (else the generic "dig deeper + validate" prompt) are folded into the
|
|
36
|
+
* dispatch as a prior output — the same injection point the Fixer uses — so the investigator
|
|
37
|
+
* re-examines that ONE finding against the full source (it dispatches under
|
|
38
|
+
* {@link CHALLENGE_INVESTIGATOR_KIND}, so it resolves its OWN — possibly stronger — model). The
|
|
39
|
+
* step's own `pr-reviewer` pre-ops still run (they key off the step kind), so the investigator
|
|
40
|
+
* also gets the PR diff in `.cat-context/pr-diff.md`. On a replay (jobId already set) it
|
|
41
|
+
* re-attaches without re-injecting.
|
|
42
|
+
*/
|
|
43
|
+
private dispatchChallenge;
|
|
30
44
|
/**
|
|
31
45
|
* Dispatch the Fixer for a PR-review `fix` resolution. A `review` task carries no own work
|
|
32
46
|
* branch — it reviews an EXISTING PR — so resolve the PR's head branch (via the checkout-free
|
|
@@ -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,EACZ,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;
|
|
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,EACZ,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;CA6HnB"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { FIXER_AGENT_KIND, getErrorMessage } from '@cat-factory/kernel';
|
|
2
|
-
import {
|
|
2
|
+
import { CHALLENGE_INVESTIGATOR_KIND, resolvePrNumber } from '@cat-factory/agents';
|
|
3
|
+
import { buildPrReviewPost, buildPrReviewPostReport, computeCommentableLines, isPrReviewPostComplete, renderChallengeInvestigatorFeedback, renderPrReviewFixerFeedback, } from './prReview.logic.js';
|
|
3
4
|
/**
|
|
4
|
-
* Resolve a review `Block`'s PR number
|
|
5
|
-
* the `prUrl`
|
|
6
|
-
*
|
|
5
|
+
* Resolve a review `Block`'s PR number via the shared {@link resolvePrNumber} (an explicit
|
|
6
|
+
* `taskTypeFields.prNumber`, else parsed from the `prUrl`) — the SAME parser the reviewer agent
|
|
7
|
+
* and the review-start head-sha capture use, so the `fix`/`post` resolutions can't disagree with
|
|
8
|
+
* dispatch on which PR is under review. Null when neither yields one.
|
|
7
9
|
*/
|
|
8
10
|
function reviewPrNumber(block) {
|
|
9
|
-
|
|
10
|
-
if (typeof fields?.prNumber === 'number')
|
|
11
|
-
return fields.prNumber;
|
|
12
|
-
const url = fields?.prUrl?.trim();
|
|
13
|
-
const match = url?.match(/\/(?:pull|merge_requests)\/(\d+)/);
|
|
14
|
-
return match ? Number(match[1]) : undefined;
|
|
11
|
+
return resolvePrNumber(block?.taskTypeFields ?? undefined);
|
|
15
12
|
}
|
|
16
13
|
/**
|
|
17
14
|
* The DRIVER-side half of the PR deep-review resolution (the human-facing half is
|
|
@@ -27,15 +24,56 @@ export class PrReviewResolutionController {
|
|
|
27
24
|
this.deps = deps;
|
|
28
25
|
}
|
|
29
26
|
/**
|
|
27
|
+
* - `challenging`: dispatch the read-only Challenge Investigator against the ONE challenged
|
|
28
|
+
* finding (parks on the job; its verdict is applied by the `pr-review-challenge` interceptor,
|
|
29
|
+
* which re-parks the review).
|
|
30
30
|
* - `fixing`: dispatch the Fixer against the reviewed PR's head branch with the selected
|
|
31
31
|
* findings folded in (parks on the job; its completion marks the review `done`).
|
|
32
32
|
* - `posting`: publish the selected findings as inline PR review comments, then finish the step.
|
|
33
33
|
*/
|
|
34
34
|
handle(ctx) {
|
|
35
|
+
if (ctx.step.prReview?.status === 'challenging')
|
|
36
|
+
return this.dispatchChallenge(ctx);
|
|
35
37
|
if (ctx.step.prReview?.status === 'posting')
|
|
36
38
|
return this.post(ctx);
|
|
37
39
|
return this.dispatchFixer(ctx);
|
|
38
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Dispatch the read-only Challenge Investigator for a challenged finding. The finding + the
|
|
43
|
+
* human's optional concern (else the generic "dig deeper + validate" prompt) are folded into the
|
|
44
|
+
* dispatch as a prior output — the same injection point the Fixer uses — so the investigator
|
|
45
|
+
* re-examines that ONE finding against the full source (it dispatches under
|
|
46
|
+
* {@link CHALLENGE_INVESTIGATOR_KIND}, so it resolves its OWN — possibly stronger — model). The
|
|
47
|
+
* step's own `pr-reviewer` pre-ops still run (they key off the step kind), so the investigator
|
|
48
|
+
* also gets the PR diff in `.cat-context/pr-diff.md`. On a replay (jobId already set) it
|
|
49
|
+
* re-attaches without re-injecting.
|
|
50
|
+
*/
|
|
51
|
+
dispatchChallenge(ctx) {
|
|
52
|
+
const { step } = ctx;
|
|
53
|
+
const review = step.prReview;
|
|
54
|
+
const pending = step.pendingChallenge;
|
|
55
|
+
const finding = review.findings?.find((f) => f.id === pending?.findingId);
|
|
56
|
+
// The challenged finding is resolved from the marker `challengeFinding` set, and nothing can
|
|
57
|
+
// remove it while the review is parked in `challenging` (dismiss requires `awaiting_selection`).
|
|
58
|
+
// If it's somehow gone, fail loudly rather than dispatch a context-less investigator that would
|
|
59
|
+
// return a groundless verdict — mirrors `dispatchFixer`'s preflight guard.
|
|
60
|
+
if (!finding) {
|
|
61
|
+
return Promise.resolve({
|
|
62
|
+
kind: 'job_failed',
|
|
63
|
+
failureKind: 'preflight',
|
|
64
|
+
error: 'The challenged finding is no longer part of the review.',
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return this.deps.handleAgentStep(ctx, CHALLENGE_INVESTIGATOR_KIND, (context) => {
|
|
68
|
+
context.priorOutputs = [
|
|
69
|
+
...context.priorOutputs,
|
|
70
|
+
{
|
|
71
|
+
agentKind: CHALLENGE_INVESTIGATOR_KIND,
|
|
72
|
+
output: renderChallengeInvestigatorFeedback(finding, pending?.question ?? null, review.summary),
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
});
|
|
76
|
+
}
|
|
39
77
|
/**
|
|
40
78
|
* Dispatch the Fixer for a PR-review `fix` resolution. A `review` task carries no own work
|
|
41
79
|
* branch — it reviews an EXISTING PR — so resolve the PR's head branch (via the checkout-free
|
|
@@ -51,7 +89,7 @@ export class PrReviewResolutionController {
|
|
|
51
89
|
const review = step.prReview;
|
|
52
90
|
const selected = (review.findings ?? []).filter((f) => review.selectedFindingIds?.includes(f.id));
|
|
53
91
|
let headRef = null;
|
|
54
|
-
let prNumber;
|
|
92
|
+
let prNumber = null;
|
|
55
93
|
if (!step.jobId) {
|
|
56
94
|
prNumber = reviewPrNumber(block);
|
|
57
95
|
const runRepo = prNumber != null ? await this.deps.resolveRunRepoContext?.(workspaceId, block.id) : null;
|
|
@@ -141,25 +179,55 @@ export class PrReviewResolutionController {
|
|
|
141
179
|
output: `Recorded ${selected.length} selected finding${selected.length === 1 ? '' : 's'}.`,
|
|
142
180
|
});
|
|
143
181
|
}
|
|
182
|
+
// Detect branch DRIFT: if the PR head moved since the review started, the findings' frozen
|
|
183
|
+
// line numbers may now point at shifted/different code, so posting inline comments would
|
|
184
|
+
// anchor them to the wrong lines. Re-read the current head and compare to the sha captured at
|
|
185
|
+
// review start. Best-effort: an unknown sha on either side (no capability / older run / read
|
|
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
|
+
}
|
|
144
198
|
// Pre-filter against the actual PR diff so out-of-diff lines are folded into the summary
|
|
145
199
|
// rather than sent as inline comments GitHub would 422. Best-effort: if the changed-file
|
|
146
200
|
// read fails or isn't wired, we skip the filter and let per-comment posting report failures.
|
|
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.
|
|
147
203
|
let commentable;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
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
|
+
}
|
|
155
213
|
}
|
|
156
|
-
const built = buildPrReviewPost(selected, review.summary, commentable);
|
|
157
|
-
// The summary/body comment is posted AT MOST ONCE. If it already landed on a prior attempt,
|
|
158
|
-
// suppress it here so retrying the un-anchored inline comments doesn't duplicate the summary
|
|
159
|
-
// conversation comment (the body's analogue of `postedFindingIds`). A body that FAILED before
|
|
160
|
-
// keeps `postedBody` false, so it is still retried.
|
|
161
214
|
const bodyAlreadyPosted = review.postedBody === true;
|
|
162
|
-
const
|
|
215
|
+
const built = buildPrReviewPost(selected, review.summary, commentable, {
|
|
216
|
+
staleHead,
|
|
217
|
+
// Drop the summary prose from the body once it has landed (below), so a stale-head retry
|
|
218
|
+
// that must re-post the body to deliver newly-folded findings doesn't duplicate the summary.
|
|
219
|
+
summaryAlreadyPosted: bodyAlreadyPosted,
|
|
220
|
+
});
|
|
221
|
+
// The summary/body comment is posted AT MOST ONCE. Once it has landed we normally suppress it
|
|
222
|
+
// so retrying the un-anchored inline comments doesn't duplicate the summary conversation
|
|
223
|
+
// comment (the body's analogue of `postedFindingIds`). EXCEPTION: under a stale head every
|
|
224
|
+
// finding is folded into the body, and a retry can carry findings that were NOT in the prior
|
|
225
|
+
// body (e.g. one that first failed to post inline, then drifted) — so we still post the body
|
|
226
|
+
// (findings only, summary prose already dropped above), or those findings would be silently
|
|
227
|
+
// lost. A body that FAILED before keeps `postedBody` false, so it is still retried.
|
|
228
|
+
const deliversNewlyFolded = staleHead && built.foldedFindingIds.length > 0;
|
|
229
|
+
const suppressBody = bodyAlreadyPosted && !deliversNewlyFolded;
|
|
230
|
+
const input = suppressBody ? { ...built.input, body: '' } : built.input;
|
|
163
231
|
let result;
|
|
164
232
|
try {
|
|
165
233
|
result = await this.deps.runInitiatorScope(instance.initiatedBy, () => repo.createReview(prNumber, input));
|
|
@@ -183,8 +251,11 @@ export class PrReviewResolutionController {
|
|
|
183
251
|
if (isPrReviewPostComplete(report)) {
|
|
184
252
|
step.prReview = { ...step.prReview, status: 'done' };
|
|
185
253
|
const total = postedFindingIds.length;
|
|
254
|
+
const foldedReason = staleHead
|
|
255
|
+
? 'the branch was updated after the review started'
|
|
256
|
+
: 'no in-diff line to anchor to';
|
|
186
257
|
const foldedNote = report.folded > 0
|
|
187
|
-
? ` (${report.folded} finding${report.folded === 1 ? '' : 's'} added to the summary —
|
|
258
|
+
? ` (${report.folded} finding${report.folded === 1 ? '' : 's'} added to the summary — ${foldedReason})`
|
|
188
259
|
: '';
|
|
189
260
|
return this.deps.recordStepResult(workspaceId, instance, step, isFinalStep, {
|
|
190
261
|
output: `Posted ${total} review comment${total === 1 ? '' : 's'} to the pull request${foldedNote}.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrReviewResolutionController.js","sourceRoot":"","sources":["../../../src/modules/execution/PrReviewResolutionController.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"PrReviewResolutionController.js","sourceRoot":"","sources":["../../../src/modules/execution/PrReviewResolutionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentExecutor, AgentRunContext, AgentRunResult, Block, BlockRepository, BrainstormSession, ClarityReview, Clock, ExecutionEventPublisher, ExecutionInstance, ExecutionRepository, FollowUpsStepState, ForkDecisionStepState, ChooseForkInput, ForkChatRequestInput, PrReviewStepState, ResolvePrReviewInput, GateDefinition, GateRegistry, StepResolverRegistry, ProviderRegistry, IdGenerator, IssueWritebackProvider, PipelineStep, ProviderCapabilities, RequirementConcernLevel, StepGating, RequirementReview, ResolveRunRepoContext, RunInitiatorScope, TicketTrackerProvider, WorkRunner } from '@cat-factory/kernel';
|
|
1
|
+
import type { AgentExecutor, AgentRunContext, AgentRunResult, Block, BlockRepository, BrainstormSession, ClarityReview, Clock, ExecutionEventPublisher, ExecutionInstance, ExecutionRepository, FollowUpsStepState, ForkDecisionStepState, ChooseForkInput, 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
4
|
import { AgentContextBuilder } from './AgentContextBuilder.js';
|
|
@@ -257,6 +257,14 @@ export declare class RunDispatcher {
|
|
|
257
257
|
* behaviour). Only consulted on the over-budget path, so it never touches the happy path.
|
|
258
258
|
*/
|
|
259
259
|
currentStepIsNonMetered(workspaceId: string, instance: ExecutionInstance, step: ExecutionInstance['steps'][number]): Promise<boolean>;
|
|
260
|
+
/**
|
|
261
|
+
* Resolve the reviewed PR's head sha at review-START, stamped onto `step.prReview` when the
|
|
262
|
+
* `pr-reviewer` first dispatches. The `post` resolution later re-reads the PR head and folds
|
|
263
|
+
* every finding into the summary when it moved (the frozen line numbers may have drifted). Best
|
|
264
|
+
* effort: null on any failure, no PR number, or a client without the `pullRequestHeadSha`
|
|
265
|
+
* capability — the drift check then simply doesn't run (posting falls back to per-line filtering).
|
|
266
|
+
*/
|
|
267
|
+
private resolveReviewedHeadSha;
|
|
260
268
|
/**
|
|
261
269
|
* Poll the asynchronous job a parked step dispatched. Returns `awaiting_job`
|
|
262
270
|
* while it runs (the driver keeps polling), records the result and advances on
|
|
@@ -544,6 +552,10 @@ export declare class RunDispatcher {
|
|
|
544
552
|
getPrReview(workspaceId: string, executionId: string): Promise<PrReviewStepState | null>;
|
|
545
553
|
/** Resolve a parked PR review: record the human's finding selection and advance the run. */
|
|
546
554
|
resolvePrReview(workspaceId: string, executionId: string, input: ResolvePrReviewInput): Promise<PrReviewStepState>;
|
|
555
|
+
/** Dismiss a parked PR-review finding entirely (remove it + prune it from the selection). */
|
|
556
|
+
dismissPrReviewFinding(workspaceId: string, executionId: string, findingId: string): Promise<PrReviewStepState>;
|
|
557
|
+
/** Challenge a parked PR-review finding — dispatch the Challenge Investigator to re-examine it. */
|
|
558
|
+
challengePrReviewFinding(workspaceId: string, executionId: string, findingId: string, input: ChallengePrReviewFindingInput): Promise<PrReviewStepState>;
|
|
547
559
|
/** @see FollowUpGateController.getFollowUps */
|
|
548
560
|
getFollowUps(workspaceId: string, executionId: string): Promise<FollowUpsStepState | null>;
|
|
549
561
|
/** @see FollowUpGateController.fileFollowUp */
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"RunDispatcher.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/RunDispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ConflictError, DEFAULT_RISK_POLICY, failureKindFromHarnessCause, getErrorMessage, isAsyncAgentExecutor, NotFoundError, parseLocalModelId, recordGateAttempt, RunContendedError, sameSubtasks, } from '@cat-factory/kernel';
|
|
2
2
|
import { parseBlueprintService, parseSpecDoc } from '@cat-factory/contracts';
|
|
3
|
-
import { commitInitiativeTracker, FORK_PROPOSER_KIND, PR_REVIEWER_KIND } from '@cat-factory/agents';
|
|
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
6
|
import { ANALYSIS_AGENT_KIND, CONFLICTS_AGENT_KIND, HUMAN_TEST_AGENT_KIND, isTesterKind, VISUAL_CONFIRM_AGENT_KIND, } from './ci.logic.js';
|
|
@@ -311,7 +311,10 @@ export class RunDispatcher {
|
|
|
311
311
|
// be reset back to `reviewing`.
|
|
312
312
|
if (step.agentKind === PR_REVIEWER_KIND && !step.prReview) {
|
|
313
313
|
const prUrl = block?.taskTypeFields?.prUrl?.trim() || null;
|
|
314
|
-
|
|
314
|
+
// Capture the PR head sha NOW (review start), so the `post` resolution can detect a
|
|
315
|
+
// branch update between here and posting and fold drifted findings into the summary.
|
|
316
|
+
const reviewedHeadSha = await this.resolveReviewedHeadSha(workspaceId, instance, block);
|
|
317
|
+
step.prReview = initialPrReviewState(prUrl, step.model ?? null, reviewedHeadSha);
|
|
315
318
|
}
|
|
316
319
|
// Surface the block's ephemeral environment (if any) alongside the cold-boot
|
|
317
320
|
// phase, so a run's details show the env spinning up next to the container.
|
|
@@ -479,6 +482,30 @@ export class RunDispatcher {
|
|
|
479
482
|
return false;
|
|
480
483
|
}
|
|
481
484
|
}
|
|
485
|
+
/**
|
|
486
|
+
* Resolve the reviewed PR's head sha at review-START, stamped onto `step.prReview` when the
|
|
487
|
+
* `pr-reviewer` first dispatches. The `post` resolution later re-reads the PR head and folds
|
|
488
|
+
* every finding into the summary when it moved (the frozen line numbers may have drifted). Best
|
|
489
|
+
* effort: null on any failure, no PR number, or a client without the `pullRequestHeadSha`
|
|
490
|
+
* capability — the drift check then simply doesn't run (posting falls back to per-line filtering).
|
|
491
|
+
*/
|
|
492
|
+
async resolveReviewedHeadSha(workspaceId, instance, block) {
|
|
493
|
+
if (!block)
|
|
494
|
+
return null;
|
|
495
|
+
const prNumber = resolvePrNumber(block.taskTypeFields ?? undefined);
|
|
496
|
+
if (prNumber == null)
|
|
497
|
+
return null;
|
|
498
|
+
try {
|
|
499
|
+
const runRepo = await this.resolveRunRepoContext?.(workspaceId, block.id);
|
|
500
|
+
const headSha = runRepo?.repo.pullRequestHeadSha;
|
|
501
|
+
if (!headSha)
|
|
502
|
+
return null;
|
|
503
|
+
return await this.runInitiatorScope(instance.initiatedBy, () => headSha(prNumber));
|
|
504
|
+
}
|
|
505
|
+
catch {
|
|
506
|
+
return null;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
482
509
|
/**
|
|
483
510
|
* Poll the asynchronous job a parked step dispatched. Returns `awaiting_job`
|
|
484
511
|
* while it runs (the driver keeps polling), records the result and advances on
|
|
@@ -604,6 +631,15 @@ export class RunDispatcher {
|
|
|
604
631
|
const recovered = await this.recoverContainerEviction(workspaceId, instance, step, update.error, update.evicted);
|
|
605
632
|
if (recovered)
|
|
606
633
|
return recovered;
|
|
634
|
+
// A read-only Challenge Investigator (dispatched off a parked `pr-reviewer` step when the
|
|
635
|
+
// human challenged ONE finding) failed for real: settle the challenge as `failed` and RE-PARK
|
|
636
|
+
// the review — a non-critical second opinion crashing must not fail the human's in-flight
|
|
637
|
+
// curation. Mirrors the human-test / visual-confirmation helper-failure branches above.
|
|
638
|
+
if (step.agentKind === PR_REVIEWER_KIND && step.prReview?.status === 'challenging') {
|
|
639
|
+
const settled = await this.prReviewController.recordChallengeFailure(workspaceId, instance, step, update.error);
|
|
640
|
+
if (settled)
|
|
641
|
+
return settled;
|
|
642
|
+
}
|
|
607
643
|
// Not an eviction: a genuine agent/job failure. Prefer the harness's STRUCTURED cause
|
|
608
644
|
// to classify it (→ AgentFailureKind), falling back to the error-string regex when an
|
|
609
645
|
// older image (or a pool transport that doesn't forward the cause) reported none — the
|
|
@@ -1828,6 +1864,14 @@ export class RunDispatcher {
|
|
|
1828
1864
|
resolvePrReview(workspaceId, executionId, input) {
|
|
1829
1865
|
return this.prReviewController.resolve(workspaceId, executionId, input);
|
|
1830
1866
|
}
|
|
1867
|
+
/** Dismiss a parked PR-review finding entirely (remove it + prune it from the selection). */
|
|
1868
|
+
dismissPrReviewFinding(workspaceId, executionId, findingId) {
|
|
1869
|
+
return this.prReviewController.dismissFinding(workspaceId, executionId, findingId);
|
|
1870
|
+
}
|
|
1871
|
+
/** Challenge a parked PR-review finding — dispatch the Challenge Investigator to re-examine it. */
|
|
1872
|
+
challengePrReviewFinding(workspaceId, executionId, findingId, input) {
|
|
1873
|
+
return this.prReviewController.challengeFinding(workspaceId, executionId, findingId, input);
|
|
1874
|
+
}
|
|
1831
1875
|
// ---- Follow-up companion pass-throughs ----------------------------------
|
|
1832
1876
|
// The follow-up gate + its human-action API live on {@link FollowUpGateController}; these
|
|
1833
1877
|
// thin delegations keep the dispatcher the single surface `ExecutionService` re-exports.
|