@cat-factory/orchestration 0.21.0 → 0.22.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.d.ts +9 -1
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js +22 -3
- package/dist/container.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/execution/ExecutionService.d.ts +23 -0
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +116 -8
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/ReviewGateController.d.ts +37 -0
- package/dist/modules/execution/ReviewGateController.d.ts.map +1 -1
- package/dist/modules/execution/ReviewGateController.js +71 -0
- package/dist/modules/execution/ReviewGateController.js.map +1 -1
- package/dist/modules/requirements/RequirementReviewService.d.ts +62 -20
- package/dist/modules/requirements/RequirementReviewService.d.ts.map +1 -1
- package/dist/modules/requirements/RequirementReviewService.js +236 -134
- package/dist/modules/requirements/RequirementReviewService.js.map +1 -1
- package/dist/modules/requirements/requirements.logic.d.ts +24 -0
- package/dist/modules/requirements/requirements.logic.d.ts.map +1 -1
- package/dist/modules/requirements/requirements.logic.js +44 -0
- package/dist/modules/requirements/requirements.logic.js.map +1 -1
- package/package.json +9 -9
|
@@ -30,6 +30,17 @@ export class ReviewGateController {
|
|
|
30
30
|
if (!kind.enabled()) {
|
|
31
31
|
return this.completeStep(workspaceId, instance, step, isFinalStep);
|
|
32
32
|
}
|
|
33
|
+
// Re-entry: the human asked the Requirement Writer to recommend answers for a batch of
|
|
34
|
+
// findings (or re-requested one). Run the Writer here in the durable driver — filling the
|
|
35
|
+
// `pending` placeholders one by one (progress streams to the window) and notifying when the
|
|
36
|
+
// batch finishes — then re-park. Recommendations NEVER advance the run: the human still has
|
|
37
|
+
// to accept/reject them and then incorporate, so this always returns to the decision wait.
|
|
38
|
+
const pendingRec = step.pendingRecommendation;
|
|
39
|
+
if (pendingRec && kind.fillRecommendations) {
|
|
40
|
+
step.pendingRecommendation = null;
|
|
41
|
+
await kind.fillRecommendations(workspaceId, block.id);
|
|
42
|
+
return this.deps.parkStepOnDecision(workspaceId, instance, step);
|
|
43
|
+
}
|
|
33
44
|
// Re-entry: the human answered the findings and asked to incorporate. Do the (slow)
|
|
34
45
|
// LLM work here in the durable driver — fold the answers into a document, then
|
|
35
46
|
// re-review it — instead of in the HTTP request that the user is no longer waiting on.
|
|
@@ -170,6 +181,66 @@ export class ReviewGateController {
|
|
|
170
181
|
await this.deps.workRunner.signalDecision(workspaceId, instance.id, step.approval.id, 'incorporate');
|
|
171
182
|
return updated;
|
|
172
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Request a batch of Requirement-Writer recommendations ASYNCHRONOUSLY. Appends `pending`
|
|
186
|
+
* placeholder recommendations at once (so the SPA shows "generating…" and the human is handed
|
|
187
|
+
* back to the board), then signals the durable driver to run the Writer per finding in the
|
|
188
|
+
* background (see {@link evaluate} re-entry) — filling the placeholders and notifying when done.
|
|
189
|
+
* Off-path (no parked run) the Writer runs inline. Returns the review with the placeholders.
|
|
190
|
+
*/
|
|
191
|
+
async requestRecommendations(kind, workspaceId, blockId, itemIds, note) {
|
|
192
|
+
if (!kind.prepareRecommendations || !kind.fillRecommendations) {
|
|
193
|
+
throw new ConflictError('Recommendations are not supported for this review');
|
|
194
|
+
}
|
|
195
|
+
const current = await this.currentReview(kind, workspaceId, blockId);
|
|
196
|
+
const prepared = await kind.prepareRecommendations(workspaceId, current.id, itemIds, note);
|
|
197
|
+
await kind.emit(workspaceId, prepared);
|
|
198
|
+
return this.scheduleRecommendation(kind, workspaceId, blockId, itemIds, note, prepared);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Re-request a single recommendation with a "do it differently" note: resets it to `pending`
|
|
202
|
+
* and drives the Writer through the SAME async path as a fresh batch. Review-scoped (the
|
|
203
|
+
* re-request endpoint addresses the recommendation by review + id).
|
|
204
|
+
*/
|
|
205
|
+
async reRequestRecommendation(kind, workspaceId, reviewId, recId, note) {
|
|
206
|
+
if (!kind.markRecommendationPending || !kind.fillRecommendations) {
|
|
207
|
+
throw new ConflictError('Recommendations are not supported for this review');
|
|
208
|
+
}
|
|
209
|
+
const prepared = await kind.markRecommendationPending(workspaceId, reviewId, recId, note);
|
|
210
|
+
await kind.emit(workspaceId, prepared);
|
|
211
|
+
return this.scheduleRecommendation(kind, workspaceId, prepared.blockId, [], note, prepared);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Offload a prepared recommendation batch to the durable driver (parked run) or run it inline
|
|
215
|
+
* (off-path). Mirrors {@link incorporate}'s signal-or-inline split. Returns the prepared review
|
|
216
|
+
* (parked) or the filled review (inline).
|
|
217
|
+
*/
|
|
218
|
+
async scheduleRecommendation(kind, workspaceId, blockId, itemIds, note, prepared) {
|
|
219
|
+
const parked = await this.findParkedStep(kind, workspaceId, blockId);
|
|
220
|
+
if (!parked) {
|
|
221
|
+
// Off-path: no pipeline parked on this review (an inspector "Run review" with no active
|
|
222
|
+
// pipeline). There is no durable driver to offload to, so run the Writer inline and return
|
|
223
|
+
// the filled review. `fillRecommendations` degrades gracefully when the reviewer model is
|
|
224
|
+
// unavailable (it drops the placeholders and reopens the findings), so this stays a 200 on
|
|
225
|
+
// every runtime instead of faulting — the divergence the cross-runtime suite guards.
|
|
226
|
+
return (await kind.fillRecommendations(workspaceId, blockId)) ?? prepared;
|
|
227
|
+
}
|
|
228
|
+
return this.offloadRecommendation(workspaceId, parked, itemIds, note, prepared);
|
|
229
|
+
}
|
|
230
|
+
/** Hand a prepared recommendation batch to the durable driver that owns the parked run. */
|
|
231
|
+
async offloadRecommendation(workspaceId, parked, itemIds, note, prepared) {
|
|
232
|
+
const { instance, step } = parked;
|
|
233
|
+
step.pendingRecommendation = { itemIds, ...(note ? { note } : {}) };
|
|
234
|
+
// Re-arm the run BEFORE signalling (the park left it `blocked`; `advanceInstance` no-ops
|
|
235
|
+
// unless `running`/`paused`) so the woken driver actually re-enters the gate. Mirrors
|
|
236
|
+
// {@link incorporate}.
|
|
237
|
+
if (instance.status === 'blocked')
|
|
238
|
+
instance.status = 'running';
|
|
239
|
+
await this.deps.persistInstance(workspaceId, instance);
|
|
240
|
+
await this.deps.emitInstance(workspaceId, instance);
|
|
241
|
+
await this.deps.workRunner.signalDecision(workspaceId, instance.id, step.approval.id, 'recommend');
|
|
242
|
+
return prepared;
|
|
243
|
+
}
|
|
173
244
|
/** Locate the run + gate step a block's review is parked on (or null). */
|
|
174
245
|
async findParkedStep(kind, workspaceId, blockId) {
|
|
175
246
|
const block = await this.deps.blockRepository.get(workspaceId, blockId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewGateController.js","sourceRoot":"","sources":["../../../src/modules/execution/ReviewGateController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReviewGateController.js","sourceRoot":"","sources":["../../../src/modules/execution/ReviewGateController.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,40 +65,82 @@ export declare class RequirementReviewService extends IterativeReviewService<Req
|
|
|
65
65
|
/** Whether the Writer can run (same model gate as the reviewer). */
|
|
66
66
|
get writerEnabled(): boolean;
|
|
67
67
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
* the
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
68
|
+
* Prepare a recommendation batch SYNCHRONOUSLY: mark the targeted findings
|
|
69
|
+
* `recommend_requested` and append one `pending` placeholder recommendation per finding
|
|
70
|
+
* (snapshotting the source finding by title/detail). The slow Writer LLM does NOT run here —
|
|
71
|
+
* {@link fillPendingRecommendations} fills the placeholders later, in the durable driver, so
|
|
72
|
+
* the human is handed straight back to the board. Returns the review with the placeholders so
|
|
73
|
+
* the SPA shows the "generating…" state immediately. Idempotent per finding: a finding that
|
|
74
|
+
* already carries a `pending` placeholder is not duplicated.
|
|
74
75
|
*/
|
|
75
|
-
|
|
76
|
+
prepareRecommendations(workspaceId: string, reviewId: string, itemIds: string[], note?: string): Promise<RequirementReview>;
|
|
76
77
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
78
|
+
* Fill every `pending` recommendation on a review by running the Requirement Writer once per
|
|
79
|
+
* finding, so progress streams in as `ready / total`. Grounding shared across findings (the
|
|
80
|
+
* block's best-practice fragments + the in-repo `spec/`/`tech-spec/` excerpts) is gathered
|
|
81
|
+
* ONCE; only web search runs per finding. Each filled recommendation is persisted and
|
|
82
|
+
* `onProgress` is invoked with the fresh review, so an open window tracks the count live and
|
|
83
|
+
* the board's "Recommending…" badge clears the moment the last placeholder settles. A
|
|
84
|
+
* per-finding Writer failure drops that placeholder and reopens its finding (so the human can
|
|
85
|
+
* answer manually) rather than wedging the whole batch. Best-effort and re-entrant: a replay
|
|
86
|
+
* that re-runs it simply finds no `pending` placeholders and produces nothing. Returns the
|
|
87
|
+
* number of recommendations produced (for the completion notification).
|
|
80
88
|
*/
|
|
81
|
-
|
|
89
|
+
fillPendingRecommendations(workspaceId: string, reviewId: string, opts?: {
|
|
90
|
+
onProgress?: (review: RequirementReview) => Promise<void>;
|
|
91
|
+
}): Promise<{
|
|
92
|
+
produced: number;
|
|
93
|
+
}>;
|
|
94
|
+
/**
|
|
95
|
+
* Drop every `pending` placeholder on a review and reopen its source finding (the same cleanup
|
|
96
|
+
* the per-finding failure path does, applied to the whole batch). Used when the Writer can't run
|
|
97
|
+
* at all — the reviewer model is unresolvable — so the human gets the findings back to answer by
|
|
98
|
+
* hand instead of a wedged "generating…" state. Best-effort: emits progress after the cleanup.
|
|
99
|
+
*/
|
|
100
|
+
private dropPendingRecommendations;
|
|
101
|
+
/**
|
|
102
|
+
* Flip a settled recommendation back to `pending` with a fresh "do it differently" note and
|
|
103
|
+
* re-mark its source finding `recommend_requested`. The (slow) Writer re-runs later via
|
|
104
|
+
* {@link fillPendingRecommendations} in the durable driver — the SAME async path as a fresh
|
|
105
|
+
* batch — so a re-request never blocks the request either. Returns the review (with the
|
|
106
|
+
* placeholder reset). The source finding for the recommendation must still exist.
|
|
107
|
+
*/
|
|
108
|
+
markRecommendationPending(workspaceId: string, reviewId: string, recId: string, note: string): Promise<RequirementReview>;
|
|
82
109
|
/**
|
|
83
110
|
* Accept a recommendation: it becomes the source finding's answer (the matching item flips
|
|
84
111
|
* to `answered`) so the NEXT incorporation folds it in. Match by the snapshotted finding
|
|
85
112
|
* title/detail since item ids churn across re-reviews.
|
|
86
113
|
*/
|
|
87
114
|
acceptRecommendation(workspaceId: string, reviewId: string, recId: string): Promise<RequirementReview>;
|
|
88
|
-
/** Reject a recommendation (the human will dismiss / answer manually / re-request). */
|
|
89
|
-
rejectRecommendation(workspaceId: string, reviewId: string, recId: string): Promise<RequirementReview>;
|
|
90
115
|
/**
|
|
91
|
-
*
|
|
92
|
-
*
|
|
116
|
+
* Reject a recommendation and reopen its source finding (status `open`) so the human can
|
|
117
|
+
* answer it manually — a `recommend_requested` finding hides its answer box, so leaving it
|
|
118
|
+
* marked would strand the finding with no way to settle it.
|
|
93
119
|
*/
|
|
94
|
-
|
|
120
|
+
rejectRecommendation(workspaceId: string, reviewId: string, recId: string): Promise<RequirementReview>;
|
|
121
|
+
/** Run the Writer for one live finding; returns null when it fails (the caller reopens the finding). */
|
|
122
|
+
private runWriterForFinding;
|
|
95
123
|
private mutateRecommendation;
|
|
96
124
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
125
|
+
* Read the in-repo `spec/`/`tech-spec/` overviews (via RepoFiles when wired) the Writer
|
|
126
|
+
* grounds on. Gathered ONCE per batch (finding-independent) and reused across the per-finding
|
|
127
|
+
* Writer calls. Best-effort — unwired / errors → an empty list.
|
|
128
|
+
*/
|
|
129
|
+
private gatherSpecExcerpts;
|
|
130
|
+
/**
|
|
131
|
+
* Gateway-RAG web snippets for a recommendation batch (when web search is wired). Gathered
|
|
132
|
+
* ONCE over the batch's finding titles — like the spec excerpts and fragments — so a batch of
|
|
133
|
+
* N findings makes a single web-search call, not N. Best-effort — unwired / errors → an empty
|
|
134
|
+
* list.
|
|
135
|
+
*/
|
|
136
|
+
private gatherWebResults;
|
|
137
|
+
/**
|
|
138
|
+
* Tell people the Requirement Writer finished a recommendation batch (so the human who walked
|
|
139
|
+
* away from the window is summoned back to accept/reject). Best-effort, mirrors
|
|
140
|
+
* {@link notifyFindings}; reuses the `requirement_review` notification type (the inbox routes it
|
|
141
|
+
* to the same review window).
|
|
100
142
|
*/
|
|
101
|
-
private
|
|
143
|
+
private notifyRecommendationsReady;
|
|
102
144
|
/** Assemble the block's collected requirements + any linked docs/issues. */
|
|
103
145
|
protected gatherContext(workspaceId: string, block: Block): Promise<RequirementsContext>;
|
|
104
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequirementReviewService.d.ts","sourceRoot":"","sources":["../../../src/modules/requirements/RequirementReviewService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,
|
|
1
|
+
{"version":3,"file":"RequirementReviewService.d.ts","sourceRoot":"","sources":["../../../src/modules/requirements/RequirementReviewService.ts"],"names":[],"mappings":"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"}
|