@cat-factory/orchestration 0.326.0 → 0.328.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/AgentContextBuilder.d.ts +3 -0
- package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
- package/dist/modules/execution/AgentContextBuilder.js +4 -1
- package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
- package/dist/modules/execution/AgentDispatchController.d.ts +23 -1
- package/dist/modules/execution/AgentDispatchController.d.ts.map +1 -1
- package/dist/modules/execution/AgentDispatchController.js +32 -0
- package/dist/modules/execution/AgentDispatchController.js.map +1 -1
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +1 -1
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/PollCompletionController.d.ts +1 -4
- package/dist/modules/execution/PollCompletionController.d.ts.map +1 -1
- package/dist/modules/execution/PollCompletionController.js +6 -19
- package/dist/modules/execution/PollCompletionController.js.map +1 -1
- package/dist/modules/execution/PrReviewChallengeQueue.d.ts +89 -0
- package/dist/modules/execution/PrReviewChallengeQueue.d.ts.map +1 -0
- package/dist/modules/execution/PrReviewChallengeQueue.js +273 -0
- package/dist/modules/execution/PrReviewChallengeQueue.js.map +1 -0
- package/dist/modules/execution/PrReviewController.d.ts +15 -26
- package/dist/modules/execution/PrReviewController.d.ts.map +1 -1
- package/dist/modules/execution/PrReviewController.js +44 -52
- package/dist/modules/execution/PrReviewController.js.map +1 -1
- package/dist/modules/execution/PrReviewResolutionController.d.ts +9 -14
- package/dist/modules/execution/PrReviewResolutionController.d.ts.map +1 -1
- package/dist/modules/execution/PrReviewResolutionController.js +15 -42
- package/dist/modules/execution/PrReviewResolutionController.js.map +1 -1
- package/dist/modules/execution/ReviewGateController.d.ts +11 -1
- package/dist/modules/execution/ReviewGateController.d.ts.map +1 -1
- package/dist/modules/execution/ReviewGateController.js +29 -3
- package/dist/modules/execution/ReviewGateController.js.map +1 -1
- package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
- package/dist/modules/execution/RunDispatcher.js +14 -2
- package/dist/modules/execution/RunDispatcher.js.map +1 -1
- package/dist/modules/execution/advance.d.ts +13 -0
- package/dist/modules/execution/advance.d.ts.map +1 -1
- package/dist/modules/execution/advance.js.map +1 -1
- package/dist/modules/execution/builder-review-effort.d.ts +24 -0
- package/dist/modules/execution/builder-review-effort.d.ts.map +1 -0
- package/dist/modules/execution/builder-review-effort.js +37 -0
- package/dist/modules/execution/builder-review-effort.js.map +1 -0
- package/dist/modules/execution/dispatcher-registries.d.ts.map +1 -1
- package/dist/modules/execution/dispatcher-registries.js +2 -20
- package/dist/modules/execution/dispatcher-registries.js.map +1 -1
- package/dist/modules/execution/drive.d.ts.map +1 -1
- package/dist/modules/execution/drive.js +16 -9
- package/dist/modules/execution/drive.js.map +1 -1
- package/dist/modules/execution/gate-window-controllers.d.ts +5 -0
- package/dist/modules/execution/gate-window-controllers.d.ts.map +1 -1
- package/dist/modules/execution/gate-window-facades.d.ts +4 -2
- package/dist/modules/execution/gate-window-facades.d.ts.map +1 -1
- package/dist/modules/execution/gate-window-facades.js +5 -4
- package/dist/modules/execution/gate-window-facades.js.map +1 -1
- package/dist/modules/execution/policy-types.d.ts +7 -0
- package/dist/modules/execution/policy-types.d.ts.map +1 -1
- package/dist/modules/execution/policy-types.js.map +1 -1
- package/dist/modules/execution/prReview.logic.js +2 -2
- package/dist/modules/execution/prReview.logic.js.map +1 -1
- package/dist/modules/execution/run-context-admission.d.ts +8 -1
- package/dist/modules/execution/run-context-admission.d.ts.map +1 -1
- package/dist/modules/execution/run-context-admission.js +8 -1
- package/dist/modules/execution/run-context-admission.js.map +1 -1
- package/dist/modules/execution/step-fold.logic.d.ts +10 -0
- package/dist/modules/execution/step-fold.logic.d.ts.map +1 -1
- package/dist/modules/execution/step-fold.logic.js +16 -0
- package/dist/modules/execution/step-fold.logic.js.map +1 -1
- package/dist/modules/merge/AccountRiskPolicyService.d.ts.map +1 -1
- package/dist/modules/merge/AccountRiskPolicyService.js +1 -0
- package/dist/modules/merge/AccountRiskPolicyService.js.map +1 -1
- package/dist/modules/merge/RiskPolicyService.d.ts.map +1 -1
- package/dist/modules/merge/RiskPolicyService.js +1 -0
- package/dist/modules/merge/RiskPolicyService.js.map +1 -1
- package/dist/modules/requirements/RequirementReviewService.d.ts +2 -0
- package/dist/modules/requirements/RequirementReviewService.d.ts.map +1 -1
- package/dist/modules/requirements/RequirementReviewService.js +3 -0
- package/dist/modules/requirements/RequirementReviewService.js.map +1 -1
- package/dist/modules/requirements/requirements.logic.d.ts +7 -1
- package/dist/modules/requirements/requirements.logic.d.ts.map +1 -1
- package/dist/modules/requirements/requirements.logic.js +18 -2
- package/dist/modules/requirements/requirements.logic.js.map +1 -1
- package/dist/modules/review/IterativeReviewService.d.ts +7 -1
- package/dist/modules/review/IterativeReviewService.d.ts.map +1 -1
- package/dist/modules/review/IterativeReviewService.js +19 -6
- package/dist/modules/review/IterativeReviewService.js.map +1 -1
- package/dist/modules/review/follow-up-bar.logic.d.ts +32 -0
- package/dist/modules/review/follow-up-bar.logic.d.ts.map +1 -0
- package/dist/modules/review/follow-up-bar.logic.js +62 -0
- package/dist/modules/review/follow-up-bar.logic.js.map +1 -0
- package/package.json +11 -11
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ConflictError } from '@cat-factory/kernel';
|
|
2
|
+
import { isChallengeInFlight } from '@cat-factory/contracts';
|
|
2
3
|
import { PR_REVIEWER_KIND } from '@cat-factory/agents';
|
|
3
|
-
import {
|
|
4
|
+
import { coercePrReview, dismissFinding } from './prReview.logic.js';
|
|
4
5
|
import { planResumeSlices, sliceReviewsAfterAggregation } from './prReviewSlices.logic.js';
|
|
5
6
|
/** The step kind the PR-review park loop runs on (the read-only reviewer agent). */
|
|
6
7
|
export const PR_REVIEW_STEP_KIND = PR_REVIEWER_KIND;
|
|
@@ -301,19 +302,22 @@ export class PrReviewController {
|
|
|
301
302
|
return state;
|
|
302
303
|
}
|
|
303
304
|
/**
|
|
304
|
-
* Challenge a
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
*
|
|
308
|
-
*
|
|
309
|
-
*
|
|
305
|
+
* Challenge a finding: QUEUE it for a read-only Challenge Investigator (`queued` until a slot is
|
|
306
|
+
* free; see {@link PrReviewChallengeQueue}). An empty `question` uses the generic "dig deeper +
|
|
307
|
+
* validate" prompt.
|
|
308
|
+
*
|
|
309
|
+
* Accepted while the review is parked AND while other challenges are still running, which is what
|
|
310
|
+
* lets a human challenge several findings in a row. Only the first one re-arms the step and wakes
|
|
311
|
+
* the parked driver (the `fix`/`post` re-arm); later ones join the queue the running driver is
|
|
312
|
+
* already polling. Refused for an unknown finding, a retracted one, and one whose challenge is
|
|
313
|
+
* already in flight.
|
|
310
314
|
*/
|
|
311
315
|
async challengeFinding(workspaceId, executionId, findingId, input) {
|
|
312
316
|
const question = input.question?.trim() || null;
|
|
313
317
|
let approvalId;
|
|
314
318
|
let state;
|
|
315
319
|
const instance = await this.deps.stateMachine.mutateInstance(workspaceId, executionId, (inst) => {
|
|
316
|
-
const { step } = this.
|
|
320
|
+
const { step, parked } = this.findChallengeableReview(inst);
|
|
317
321
|
const review = step.prReview;
|
|
318
322
|
const target = review.findings?.find((f) => f.id === findingId);
|
|
319
323
|
if (!target) {
|
|
@@ -324,23 +328,27 @@ export class PrReviewController {
|
|
|
324
328
|
if (target.challenge?.status === 'retracted') {
|
|
325
329
|
throw new ConflictError('A retracted finding can no longer be challenged.');
|
|
326
330
|
}
|
|
327
|
-
|
|
331
|
+
if (isChallengeInFlight(target.challenge)) {
|
|
332
|
+
throw new ConflictError('That finding is already being challenged.');
|
|
333
|
+
}
|
|
328
334
|
const findings = review.findings.map((f) => f.id === findingId
|
|
329
|
-
? {
|
|
330
|
-
...f,
|
|
331
|
-
challenge: { status: 'investigating', question, justification: null },
|
|
332
|
-
}
|
|
335
|
+
? { ...f, challenge: { status: 'queued', question, justification: null } }
|
|
333
336
|
: f);
|
|
337
|
+
step.challengeJobs = [...(step.challengeJobs ?? []), { findingId, question }];
|
|
334
338
|
step.prReview = { ...review, status: 'challenging', resolution: null, findings };
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
inst.status
|
|
339
|
+
if (parked) {
|
|
340
|
+
approvalId = step.approval.id;
|
|
341
|
+
this.deps.stepGraph.resetStepForRerun(step);
|
|
342
|
+
this.deps.stepGraph.startStep(step);
|
|
343
|
+
if (inst.status === 'blocked')
|
|
344
|
+
inst.status = 'running';
|
|
345
|
+
}
|
|
340
346
|
state = step.prReview;
|
|
341
347
|
});
|
|
342
|
-
|
|
343
|
-
|
|
348
|
+
if (approvalId) {
|
|
349
|
+
await this.deps.stateMachine.clearWaitingNotification(workspaceId, instance);
|
|
350
|
+
await this.deps.stateMachine.updateBlockProgress(workspaceId, instance, 'in_progress');
|
|
351
|
+
}
|
|
344
352
|
await this.deps.stateMachine.emitInstance(workspaceId, instance);
|
|
345
353
|
if (approvalId) {
|
|
346
354
|
await this.deps.workRunner.signalDecision(workspaceId, instance.id, approvalId, 'approved');
|
|
@@ -348,43 +356,27 @@ export class PrReviewController {
|
|
|
348
356
|
return state;
|
|
349
357
|
}
|
|
350
358
|
/**
|
|
351
|
-
*
|
|
352
|
-
*
|
|
353
|
-
*
|
|
354
|
-
* `revised*` field + records the justification (`amended`); `retracted` records the justification
|
|
355
|
-
* and auto-deselects the finding. Idempotent: a replay after the marker cleared (status no longer
|
|
356
|
-
* `challenging`) returns `null`, letting the normal `pr-review` interceptor re-park.
|
|
359
|
+
* The run's `pr-reviewer` step a challenge can be added to: the parked review (`parked: true`,
|
|
360
|
+
* the human is curating) or one whose challenge queue is already running. Throws
|
|
361
|
+
* {@link ConflictError} otherwise (still reviewing, resolved, or mid fix/post).
|
|
357
362
|
*/
|
|
358
|
-
|
|
359
|
-
const
|
|
360
|
-
if (
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
* visual-confirmation `onHelperComplete` failure branch): mark the challenged finding `failed`
|
|
371
|
-
* (carrying the reason), leave its body untouched, and re-park at `awaiting_selection` so the
|
|
372
|
-
* human can re-challenge or act on it — a non-critical second opinion crashing on ONE finding
|
|
373
|
-
* must never nuke the human's in-flight curation. Idempotent: a step no longer `challenging`
|
|
374
|
-
* (verdict already applied) returns null and falls through to the normal spine.
|
|
375
|
-
*/
|
|
376
|
-
async recordChallengeFailure(workspaceId, instance, step, reason) {
|
|
377
|
-
const pending = step.pendingChallenge;
|
|
378
|
-
if (!step.prReview || step.prReview.status !== 'challenging' || !pending)
|
|
379
|
-
return null;
|
|
380
|
-
step.pendingChallenge = null;
|
|
381
|
-
step.prReview = failChallenge(step.prReview, pending.findingId, pending.question ?? null, reason);
|
|
382
|
-
return this.deps.stateMachine.parkStepOnDecision(workspaceId, instance, step);
|
|
363
|
+
findChallengeableReview(instance) {
|
|
364
|
+
const running = instance.steps.find((s) => s.agentKind === PR_REVIEW_STEP_KIND && s.prReview?.status === 'challenging');
|
|
365
|
+
if (running) {
|
|
366
|
+
// Only a run the driver is still working (or a spend pause it resumes from) will ever start
|
|
367
|
+
// the entry. A run that failed or was stopped mid-queue keeps its review `challenging`, and
|
|
368
|
+
// accepting there would answer `queued` for a challenge nothing picks up.
|
|
369
|
+
if (instance.status !== 'running' && instance.status !== 'paused') {
|
|
370
|
+
throw new ConflictError('The run is no longer running its challenge investigations');
|
|
371
|
+
}
|
|
372
|
+
return { step: running, parked: false };
|
|
373
|
+
}
|
|
374
|
+
return { step: this.findParkedReview(instance).step, parked: true };
|
|
383
375
|
}
|
|
384
376
|
/**
|
|
385
377
|
* The run's parked `pr-reviewer` step (the human is curating findings) — the single lookup the
|
|
386
378
|
* `resolve` / `dismiss` / `challenge` actions share. Throws {@link ConflictError} when the run is
|
|
387
|
-
* no longer awaiting a selection (already resolved, or
|
|
379
|
+
* no longer awaiting a selection (already resolved, or challenges are still running).
|
|
388
380
|
*/
|
|
389
381
|
findParkedReview(instance) {
|
|
390
382
|
const stepIndex = instance.steps.findIndex((s) => s.agentKind === PR_REVIEW_STEP_KIND &&
|
|
@@ -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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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AgentRunContext, AgentRunResult, ExecutionInstance, PipelineStep, ResolveRunRepoContext, RunInitiatorScope } from '@cat-factory/kernel';
|
|
2
2
|
import type { AdvanceResult } from './advance.js';
|
|
3
3
|
import type { RunStateMachine } from './RunStateMachine.js';
|
|
4
|
+
import { type PrReviewChallengeQueueDeps } from './PrReviewChallengeQueue.js';
|
|
4
5
|
import type { StepHandlerContext } from './step-handler-registry.js';
|
|
5
6
|
/** The dispatcher hooks the PR-review resolution driver needs (mirrors {@link DeployerStepController}'s seam). */
|
|
6
7
|
export interface PrReviewResolutionControllerDeps {
|
|
@@ -9,6 +10,8 @@ export interface PrReviewResolutionControllerDeps {
|
|
|
9
10
|
runInitiatorScope: RunInitiatorScope;
|
|
10
11
|
recordStepResult: (workspaceId: string, instance: ExecutionInstance, step: PipelineStep, isFinalStep: boolean, result: AgentRunResult) => Promise<AdvanceResult>;
|
|
11
12
|
handleAgentStep: (ctx: StepHandlerContext, dispatchKind?: string, augmentContext?: (context: AgentRunContext) => void) => Promise<AdvanceResult>;
|
|
13
|
+
/** What the challenge queue needs beyond the state machine (see {@link PrReviewChallengeQueue}). */
|
|
14
|
+
challengeQueue: Omit<PrReviewChallengeQueueDeps, 'runStateMachine'>;
|
|
12
15
|
}
|
|
13
16
|
/**
|
|
14
17
|
* The DRIVER-side half of the PR deep-review resolution (the human-facing half is
|
|
@@ -20,27 +23,19 @@ export interface PrReviewResolutionControllerDeps {
|
|
|
20
23
|
*/
|
|
21
24
|
export declare class PrReviewResolutionController {
|
|
22
25
|
private readonly deps;
|
|
26
|
+
/** The challenge investigators, run side by side off the parked review (see its own note). */
|
|
27
|
+
private readonly challenges;
|
|
23
28
|
constructor(deps: PrReviewResolutionControllerDeps);
|
|
29
|
+
/** @see PrReviewChallengeQueue.poll */
|
|
30
|
+
pollChallenges(workspaceId: string, instance: ExecutionInstance, step: PipelineStep): Promise<AdvanceResult>;
|
|
24
31
|
/**
|
|
25
|
-
* - `challenging`:
|
|
26
|
-
*
|
|
27
|
-
* which re-parks the review).
|
|
32
|
+
* - `challenging`: drive the challenge queue (start queued investigators into free slots and
|
|
33
|
+
* park on the running ones; re-park for the human once it drains).
|
|
28
34
|
* - `fixing`: dispatch the Fixer against the reviewed PR's head branch with the selected
|
|
29
35
|
* findings folded in (parks on the job; its completion marks the review `done`).
|
|
30
36
|
* - `posting`: publish the selected findings as inline PR review comments, then finish the step.
|
|
31
37
|
*/
|
|
32
38
|
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;
|
|
44
39
|
/**
|
|
45
40
|
* Dispatch the Fixer for a PR-review `fix` resolution. A `review` task carries no own work
|
|
46
41
|
* 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,EAEZ,qBAAqB,EAErB,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,EAEZ,qBAAqB,EAErB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAQjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAA;AACpC,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;IAC3B,oGAAoG;IACpG,cAAc,EAAE,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAA;CACpE;AAED;;;;;;;GAOG;AACH,qBAAa,4BAA4B;IAI3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IAEnD,YAA6B,IAAI,EAAE,gCAAgC,EAKlE;IAED,uCAAuC;IACvC,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,aAAa,CAAC,CAExB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAItD;IAED;;;;;;;;;OASG;YACW,aAAa;IAmD3B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;YACW,IAAI;IA+GlB;;;;;OAKG;YACW,eAAe;IAgB7B;;;;;;OAMG;YACW,kBAAkB;CAajC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FIXER_AGENT_KIND, getErrorMessage } from '@cat-factory/kernel';
|
|
2
2
|
import { resolvePrNumber } from '@cat-factory/contracts';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { buildPrReviewPost, buildPrReviewPostReport, computeCommentableLines, isPrReviewPostComplete, renderPrReviewFixerFeedback, } from './prReview.logic.js';
|
|
4
|
+
import { PrReviewChallengeQueue, } from './PrReviewChallengeQueue.js';
|
|
5
5
|
/**
|
|
6
6
|
* Resolve a review `Block`'s PR number via the shared {@link resolvePrNumber} (an explicit
|
|
7
7
|
* `taskTypeFields.prNumber`, else parsed from the `prUrl`) — the SAME parser the reviewer agent
|
|
@@ -21,60 +21,33 @@ function reviewPrNumber(block) {
|
|
|
21
21
|
*/
|
|
22
22
|
export class PrReviewResolutionController {
|
|
23
23
|
deps;
|
|
24
|
+
/** The challenge investigators, run side by side off the parked review (see its own note). */
|
|
25
|
+
challenges;
|
|
24
26
|
constructor(deps) {
|
|
25
27
|
this.deps = deps;
|
|
28
|
+
this.challenges = new PrReviewChallengeQueue({
|
|
29
|
+
...deps.challengeQueue,
|
|
30
|
+
runStateMachine: deps.runStateMachine,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/** @see PrReviewChallengeQueue.poll */
|
|
34
|
+
pollChallenges(workspaceId, instance, step) {
|
|
35
|
+
return this.challenges.poll(workspaceId, instance, step);
|
|
26
36
|
}
|
|
27
37
|
/**
|
|
28
|
-
* - `challenging`:
|
|
29
|
-
*
|
|
30
|
-
* which re-parks the review).
|
|
38
|
+
* - `challenging`: drive the challenge queue (start queued investigators into free slots and
|
|
39
|
+
* park on the running ones; re-park for the human once it drains).
|
|
31
40
|
* - `fixing`: dispatch the Fixer against the reviewed PR's head branch with the selected
|
|
32
41
|
* findings folded in (parks on the job; its completion marks the review `done`).
|
|
33
42
|
* - `posting`: publish the selected findings as inline PR review comments, then finish the step.
|
|
34
43
|
*/
|
|
35
44
|
handle(ctx) {
|
|
36
45
|
if (ctx.step.prReview?.status === 'challenging')
|
|
37
|
-
return this.
|
|
46
|
+
return this.challenges.drive(ctx);
|
|
38
47
|
if (ctx.step.prReview?.status === 'posting')
|
|
39
48
|
return this.post(ctx);
|
|
40
49
|
return this.dispatchFixer(ctx);
|
|
41
50
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Dispatch the read-only Challenge Investigator for a challenged finding. The finding + the
|
|
44
|
-
* human's optional concern (else the generic "dig deeper + validate" prompt) are folded into the
|
|
45
|
-
* dispatch as a prior output — the same injection point the Fixer uses — so the investigator
|
|
46
|
-
* re-examines that ONE finding against the full source (it dispatches under
|
|
47
|
-
* {@link CHALLENGE_INVESTIGATOR_KIND}, so it resolves its OWN — possibly stronger — model). The
|
|
48
|
-
* step's own `pr-reviewer` pre-ops still run (they key off the step kind), so the investigator
|
|
49
|
-
* also gets the PR diff in `.cat-context/pr-diff.md`. On a replay (jobId already set) it
|
|
50
|
-
* re-attaches without re-injecting.
|
|
51
|
-
*/
|
|
52
|
-
dispatchChallenge(ctx) {
|
|
53
|
-
const { step } = ctx;
|
|
54
|
-
const review = step.prReview;
|
|
55
|
-
const pending = step.pendingChallenge;
|
|
56
|
-
const finding = review.findings?.find((f) => f.id === pending?.findingId);
|
|
57
|
-
// The challenged finding is resolved from the marker `challengeFinding` set, and nothing can
|
|
58
|
-
// remove it while the review is parked in `challenging` (dismiss requires `awaiting_selection`).
|
|
59
|
-
// If it's somehow gone, fail loudly rather than dispatch a context-less investigator that would
|
|
60
|
-
// return a groundless verdict — mirrors `dispatchFixer`'s preflight guard.
|
|
61
|
-
if (!finding) {
|
|
62
|
-
return Promise.resolve({
|
|
63
|
-
kind: 'job_failed',
|
|
64
|
-
failureKind: 'preflight',
|
|
65
|
-
error: 'The challenged finding is no longer part of the review.',
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
return this.deps.handleAgentStep(ctx, CHALLENGE_INVESTIGATOR_KIND, (context) => {
|
|
69
|
-
context.priorOutputs = [
|
|
70
|
-
...context.priorOutputs,
|
|
71
|
-
{
|
|
72
|
-
agentKind: CHALLENGE_INVESTIGATOR_KIND,
|
|
73
|
-
output: renderChallengeInvestigatorFeedback(finding, pending?.question ?? null, review.summary),
|
|
74
|
-
},
|
|
75
|
-
];
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
51
|
/**
|
|
79
52
|
* Dispatch the Fixer for a PR-review `fix` resolution. A `review` task carries no own work
|
|
80
53
|
* branch — it reviews an EXISTING PR — so resolve the PR's head branch (via the checkout-free
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrReviewResolutionController.js","sourceRoot":"","sources":["../../../src/modules/execution/PrReviewResolutionController.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"PrReviewResolutionController.js","sourceRoot":"","sources":["../../../src/modules/execution/PrReviewResolutionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Block, BlockRepository, ExecutionInstance, ExecutionRepository, IssueWritebackProvider, Logger, PipelineStep, RequestRecommendationItem, RequirementConcernLevel, RequirementFloorProgression, ReviewItemSeverity, ResolveRequirementsExceededChoice, ReviewQuestionSubject, RunAutonomy, WorkRunner } from '@cat-factory/kernel';
|
|
2
|
+
import { type IncorporateAfter } from '@cat-factory/contracts';
|
|
2
3
|
import type { ReviewCommon } from '../review/IterativeReviewService.js';
|
|
3
4
|
import type { AdvanceResult } from './advance.js';
|
|
4
5
|
import type { RunStateMachine } from './RunStateMachine.js';
|
|
@@ -258,6 +259,12 @@ export declare class ReviewGateController {
|
|
|
258
259
|
* Returns the re-reviewed review.
|
|
259
260
|
*/
|
|
260
261
|
private runIncorporationCycle;
|
|
262
|
+
/**
|
|
263
|
+
* Fold the human's settled answers in and settle the review on the result, with no re-review: the
|
|
264
|
+
* "incorporate and proceed" choice. The caller advances the run. Nothing to fold in settles the
|
|
265
|
+
* review as it stands, exactly as {@link runIncorporationCycle} does.
|
|
266
|
+
*/
|
|
267
|
+
private incorporateAndSettle;
|
|
261
268
|
/**
|
|
262
269
|
* Run the auto-recommendation automation for a block's review when the kind supports it
|
|
263
270
|
* (requirements only). Best-effort: the recommendations are a convenience, so a Writer
|
|
@@ -292,8 +299,11 @@ export declare class ReviewGateController {
|
|
|
292
299
|
* No parked run (an off-path inspector review with no active pipeline) → there is no driver
|
|
293
300
|
* to offload to, so the fold + re-review run inline here. That path never had the
|
|
294
301
|
* pipeline-gate freeze this method exists to remove.
|
|
302
|
+
*
|
|
303
|
+
* `after: 'proceed'` folds the answers in and settles on the result instead of re-reviewing it,
|
|
304
|
+
* advancing the run (see {@link incorporateAndSettle}).
|
|
295
305
|
*/
|
|
296
|
-
incorporate<TReview extends ReviewCommon>(kind: ReviewKind<TReview>, workspaceId: string, blockId: string, feedback?: string): Promise<TReview>;
|
|
306
|
+
incorporate<TReview extends ReviewCommon>(kind: ReviewKind<TReview>, workspaceId: string, blockId: string, feedback?: string, after?: IncorporateAfter): Promise<TReview>;
|
|
297
307
|
/**
|
|
298
308
|
* Request a batch of Requirement-Writer recommendations ASYNCHRONOUSLY. Appends `pending`
|
|
299
309
|
* placeholder recommendations at once (so the SPA shows "generating…" and the human is handed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewGateController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ReviewGateController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,MAAM,EACN,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,EAElB,iCAAiC,EACjC,qBAAqB,EACrB,WAAW,EACX,UAAU,EACX,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"ReviewGateController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ReviewGateController.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,6 +89,10 @@ export class ReviewGateController {
|
|
|
89
89
|
const pending = step.pendingIncorporation;
|
|
90
90
|
if (pending) {
|
|
91
91
|
step.pendingIncorporation = null;
|
|
92
|
+
if (pending.after === 'proceed') {
|
|
93
|
+
await this.incorporateAndSettle(kind, workspaceId, block.id, pending.feedback);
|
|
94
|
+
return this.completeSettledStep(kind, workspaceId, instance, step, block, isFinalStep);
|
|
95
|
+
}
|
|
92
96
|
const cycled = await this.runIncorporationCycle(kind, workspaceId, block.id, pending.feedback, autoRecommendEnabled, instance);
|
|
93
97
|
// The same self-settling the fresh pass gets, for the same reason: a re-review can surface a
|
|
94
98
|
// fresh batch of practice-level findings, and an unattended run that could settle the first
|
|
@@ -346,6 +350,20 @@ export class ReviewGateController {
|
|
|
346
350
|
}
|
|
347
351
|
return reviewed;
|
|
348
352
|
}
|
|
353
|
+
/**
|
|
354
|
+
* Fold the human's settled answers in and settle the review on the result, with no re-review: the
|
|
355
|
+
* "incorporate and proceed" choice. The caller advances the run. Nothing to fold in settles the
|
|
356
|
+
* review as it stands, exactly as {@link runIncorporationCycle} does.
|
|
357
|
+
*/
|
|
358
|
+
async incorporateAndSettle(kind, workspaceId, blockId, feedback) {
|
|
359
|
+
const review = await this.currentReview(kind, workspaceId, blockId);
|
|
360
|
+
if (hasNotesToIncorporate(review.items, feedback)) {
|
|
361
|
+
await kind.incorporate(workspaceId, blockId, review.id, feedback);
|
|
362
|
+
}
|
|
363
|
+
const settled = await kind.markIncorporated(workspaceId, review.id);
|
|
364
|
+
await kind.emit(workspaceId, settled);
|
|
365
|
+
return settled;
|
|
366
|
+
}
|
|
349
367
|
/**
|
|
350
368
|
* Run the auto-recommendation automation for a block's review when the kind supports it
|
|
351
369
|
* (requirements only). Best-effort: the recommendations are a convenience, so a Writer
|
|
@@ -402,8 +420,11 @@ export class ReviewGateController {
|
|
|
402
420
|
* No parked run (an off-path inspector review with no active pipeline) → there is no driver
|
|
403
421
|
* to offload to, so the fold + re-review run inline here. That path never had the
|
|
404
422
|
* pipeline-gate freeze this method exists to remove.
|
|
423
|
+
*
|
|
424
|
+
* `after: 'proceed'` folds the answers in and settles on the result instead of re-reviewing it,
|
|
425
|
+
* advancing the run (see {@link incorporateAndSettle}).
|
|
405
426
|
*/
|
|
406
|
-
async incorporate(kind, workspaceId, blockId, feedback) {
|
|
427
|
+
async incorporate(kind, workspaceId, blockId, feedback, after = 'rereview') {
|
|
407
428
|
const review = await this.currentReview(kind, workspaceId, blockId);
|
|
408
429
|
const open = review.items.filter((i) => i.status === 'open');
|
|
409
430
|
if (open.length > 0) {
|
|
@@ -413,7 +434,9 @@ export class ReviewGateController {
|
|
|
413
434
|
if (!parked) {
|
|
414
435
|
// Off-path: no pipeline parked on this review. Do the work inline (it cannot be
|
|
415
436
|
// offloaded to a driver that isn't running) and return the re-reviewed result.
|
|
416
|
-
return
|
|
437
|
+
return after === 'proceed'
|
|
438
|
+
? this.incorporateAndSettle(kind, workspaceId, blockId, feedback)
|
|
439
|
+
: this.runIncorporationCycle(kind, workspaceId, blockId, feedback);
|
|
417
440
|
}
|
|
418
441
|
// Record the intent + re-arm the run under OPTIMISTIC CONCURRENCY (race-audit 2.2
|
|
419
442
|
// controller-half): a blind full-row upsert here would clobber a concurrent driver poll
|
|
@@ -430,7 +453,10 @@ export class ReviewGateController {
|
|
|
430
453
|
if (!step?.approval) {
|
|
431
454
|
throw new ConflictError('The review is no longer awaiting incorporation');
|
|
432
455
|
}
|
|
433
|
-
step.pendingIncorporation =
|
|
456
|
+
step.pendingIncorporation = {
|
|
457
|
+
...(feedback ? { feedback } : {}),
|
|
458
|
+
...(after === 'proceed' ? { after } : {}),
|
|
459
|
+
};
|
|
434
460
|
if (inst.status === 'blocked')
|
|
435
461
|
inst.status = 'running';
|
|
436
462
|
approvalId = step.approval.id;
|