@telora/daemon 0.21.165 → 0.21.169
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/build-info.json +2 -2
- package/dist/completion/review-defect-detector.d.ts +9 -0
- package/dist/completion/review-defect-detector.d.ts.map +1 -1
- package/dist/completion/review-defect-detector.js +11 -0
- package/dist/completion/review-defect-detector.js.map +1 -1
- package/dist/completion/review-exit-deps.d.ts +51 -0
- package/dist/completion/review-exit-deps.d.ts.map +1 -0
- package/dist/completion/review-exit-deps.js +46 -0
- package/dist/completion/review-exit-deps.js.map +1 -0
- package/dist/completion/review-exit-escalations.d.ts +28 -0
- package/dist/completion/review-exit-escalations.d.ts.map +1 -1
- package/dist/completion/review-exit-escalations.js +36 -10
- package/dist/completion/review-exit-escalations.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts +2 -38
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +70 -45
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-progress.d.ts +5 -1
- package/dist/completion/review-exit-progress.d.ts.map +1 -1
- package/dist/completion/review-exit-progress.js +5 -1
- package/dist/completion/review-exit-progress.js.map +1 -1
- package/dist/completion/state-cascade.d.ts +11 -0
- package/dist/completion/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade.js +18 -0
- package/dist/completion/state-cascade.js.map +1 -1
- package/dist/delivery/delivery-reconciler.d.ts +15 -0
- package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler.js +13 -0
- package/dist/delivery/delivery-reconciler.js.map +1 -1
- package/package.json +1 -1
package/build-info.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"commitSha": "
|
|
3
|
-
"builtAt": "2026-08-
|
|
2
|
+
"commitSha": "f1fc59ad5",
|
|
3
|
+
"builtAt": "2026-08-28T14:25:09.127Z",
|
|
4
4
|
"expectedMigrations": [
|
|
5
5
|
"20250829113330_create_org_nodes_table.sql",
|
|
6
6
|
"20250829113402_fix_function_security_search_path.sql",
|
|
@@ -90,6 +90,15 @@ export declare function isReviewFiledComplete(issue: Pick<FocusIssueInfo, 'id' |
|
|
|
90
90
|
export declare function reviewFiledIssueExistsComplete(issues: FocusIssueInfo[], reviewFiledIds: ReadonlySet<string>, reviewRequestedAt: string | null): boolean;
|
|
91
91
|
/** Complete-set counterpart of blockingReviewFiledIssueExists. */
|
|
92
92
|
export declare function blockingReviewFiledIssueExistsComplete(issues: FocusIssueInfo[], reviewFiledIds: ReadonlySet<string>, reviewRequestedAt: string | null): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Complete-set counterpart of blockingReviewFiledIssueExists returning the LIST
|
|
95
|
+
* (not just existence): the OPEN, BLOCKING review-filed issues on the focus. Used
|
|
96
|
+
* by the hand-off breaker to ENUMERATE the outstanding findings in its escalation
|
|
97
|
+
* -- so an operator can tell whether the focus carries outstanding review
|
|
98
|
+
* findings without opening the daemon log, rather than reading the breaker's old
|
|
99
|
+
* untested "there was no work left to route" assertion.
|
|
100
|
+
*/
|
|
101
|
+
export declare function filterBlockingReviewFiledComplete(issues: FocusIssueInfo[], reviewFiledIds: ReadonlySet<string>, reviewRequestedAt: string | null): FocusIssueInfo[];
|
|
93
102
|
/** Complete-set counterpart of filterDeferrableReviewNotes. */
|
|
94
103
|
export declare function filterDeferrableReviewNotesComplete(issues: FocusIssueInfo[], reviewFiledIds: ReadonlySet<string>, reviewRequestedAt: string | null): FocusIssueInfo[];
|
|
95
104
|
//# sourceMappingURL=review-defect-detector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-defect-detector.d.ts","sourceRoot":"","sources":["../../src/completion/review-defect-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,MACU,CAAC;AAYlD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wCAAwC;AACxC,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAID;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,GAAG,WAAW,GAAG,QAAQ,CAAC,EACvE,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EAAE,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,cAAc,EAAE,CAElB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EAAE,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAUT;AAcD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG1E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC,EACpF,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,cAAc,EAAE,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,cAAc,EAAE,CAElB;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,cAAc,EAAE,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAIT;AAmBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,QAAQ,CAAC,EAC5C,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,GAClC,OAAO,CAET;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,iBAAiB,GAAG,WAAW,GAAG,QAAQ,CAAC,EAC9E,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAET;AAED,0DAA0D;AAC1D,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,cAAc,EAAE,EACxB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAET;AAED,kEAAkE;AAClE,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,cAAc,EAAE,EACxB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAIT;AAED,+DAA+D;AAC/D,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,cAAc,EAAE,EACxB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,cAAc,EAAE,CAIlB"}
|
|
1
|
+
{"version":3,"file":"review-defect-detector.d.ts","sourceRoot":"","sources":["../../src/completion/review-defect-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,MACU,CAAC;AAYlD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wCAAwC;AACxC,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAID;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,GAAG,WAAW,GAAG,QAAQ,CAAC,EACvE,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EAAE,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,cAAc,EAAE,CAElB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EAAE,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAUT;AAcD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG1E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC,EACpF,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,cAAc,EAAE,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,cAAc,EAAE,CAElB;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,cAAc,EAAE,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAIT;AAmBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,QAAQ,CAAC,EAC5C,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,GAClC,OAAO,CAET;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,iBAAiB,GAAG,WAAW,GAAG,QAAQ,CAAC,EAC9E,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAET;AAED,0DAA0D;AAC1D,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,cAAc,EAAE,EACxB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAET;AAED,kEAAkE;AAClE,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,cAAc,EAAE,EACxB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAIT;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,cAAc,EAAE,EACxB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,cAAc,EAAE,CAIlB;AAED,+DAA+D;AAC/D,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,cAAc,EAAE,EACxB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,cAAc,EAAE,CAIlB"}
|
|
@@ -180,6 +180,17 @@ export function reviewFiledIssueExistsComplete(issues, reviewFiledIds, reviewReq
|
|
|
180
180
|
export function blockingReviewFiledIssueExistsComplete(issues, reviewFiledIds, reviewRequestedAt) {
|
|
181
181
|
return issues.some(i => isReviewFiledComplete(i, reviewFiledIds, reviewRequestedAt) && !isLowPriority(i.priority));
|
|
182
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* Complete-set counterpart of blockingReviewFiledIssueExists returning the LIST
|
|
185
|
+
* (not just existence): the OPEN, BLOCKING review-filed issues on the focus. Used
|
|
186
|
+
* by the hand-off breaker to ENUMERATE the outstanding findings in its escalation
|
|
187
|
+
* -- so an operator can tell whether the focus carries outstanding review
|
|
188
|
+
* findings without opening the daemon log, rather than reading the breaker's old
|
|
189
|
+
* untested "there was no work left to route" assertion.
|
|
190
|
+
*/
|
|
191
|
+
export function filterBlockingReviewFiledComplete(issues, reviewFiledIds, reviewRequestedAt) {
|
|
192
|
+
return issues.filter(i => isReviewFiledComplete(i, reviewFiledIds, reviewRequestedAt) && !isLowPriority(i.priority));
|
|
193
|
+
}
|
|
183
194
|
/** Complete-set counterpart of filterDeferrableReviewNotes. */
|
|
184
195
|
export function filterDeferrableReviewNotesComplete(issues, reviewFiledIds, reviewRequestedAt) {
|
|
185
196
|
return issues.filter(i => isReviewFiledComplete(i, reviewFiledIds, reviewRequestedAt) && isLowPriority(i.priority));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-defect-detector.js","sourceRoot":"","sources":["../../src/completion/review-defect-detector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review-defect-detector.js","sourceRoot":"","sources":["../../src/completion/review-defect-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency contract + default wiring for the review-exit phase.
|
|
3
|
+
*
|
|
4
|
+
* Split out of review-exit-phase.ts: that module carried both the review-exit
|
|
5
|
+
* routing decision tree and the long concrete-import list that binds
|
|
6
|
+
* ReviewExitDeps to the real query/directive/loop implementations. The contract
|
|
7
|
+
* and its production wiring live here; the phase module imports both and
|
|
8
|
+
* re-exports the type for existing importers. Dependency direction is one-way
|
|
9
|
+
* (phase -> deps), so the completion family stays acyclic under
|
|
10
|
+
* import-x/no-cycle. Bodies verbatim.
|
|
11
|
+
*/
|
|
12
|
+
import { fetchEffectiveWorkflow } from '../queries/workflows.js';
|
|
13
|
+
import { updateDeliveryStatus, markDeliveryAutoApproved } from '../queries/deliveries.js';
|
|
14
|
+
import { getActiveFocuses } from '../queries/focus-discovery.js';
|
|
15
|
+
import { hasPendingSpawnDirective } from '../directive/directive-queue.js';
|
|
16
|
+
import { emitLoopTrigger } from '../loops/index.js';
|
|
17
|
+
import { getFocusDeliveries, getFocusIssues, clearReviewRequestedAt, setReviewedThroughSha, setReviewCycleCount, setReviewHandoffCount, getFocusReviewReportForSession, getFocusReviewFiledIssueIds } from '../queries/focuses.js';
|
|
18
|
+
import { resolveReviewCycleCap, resolveReviewHandoffCap } from '../verify/stall-detector-config.js';
|
|
19
|
+
import { getDeliveryIssues } from '../queries/issues.js';
|
|
20
|
+
import { createEscalation, hasOpenFocusEscalation } from '../queries/escalations.js';
|
|
21
|
+
import { findOpenOperatorHoldForDelivery } from '../queries/holds.js';
|
|
22
|
+
import { listOpenShortfallProposalIds } from '../queries/reality-tree.js';
|
|
23
|
+
/**
|
|
24
|
+
* Dependencies for runReviewExitHandler. Defaults to real implementations;
|
|
25
|
+
* overridable in tests via the optional `deps` argument.
|
|
26
|
+
*/
|
|
27
|
+
export interface ReviewExitDeps {
|
|
28
|
+
getActiveFocuses: typeof getActiveFocuses;
|
|
29
|
+
getFocusDeliveries: typeof getFocusDeliveries;
|
|
30
|
+
getFocusIssues: typeof getFocusIssues;
|
|
31
|
+
getDeliveryIssues: typeof getDeliveryIssues;
|
|
32
|
+
fetchEffectiveWorkflow: typeof fetchEffectiveWorkflow;
|
|
33
|
+
updateDeliveryStatus: typeof updateDeliveryStatus;
|
|
34
|
+
markDeliveryAutoApproved: typeof markDeliveryAutoApproved;
|
|
35
|
+
clearReviewRequestedAt: typeof clearReviewRequestedAt;
|
|
36
|
+
setReviewedThroughSha: typeof setReviewedThroughSha;
|
|
37
|
+
setReviewCycleCount?: typeof setReviewCycleCount;
|
|
38
|
+
resolveReviewCycleCap?: typeof resolveReviewCycleCap;
|
|
39
|
+
setReviewHandoffCount?: typeof setReviewHandoffCount;
|
|
40
|
+
resolveReviewHandoffCap?: typeof resolveReviewHandoffCap;
|
|
41
|
+
hasOpenFocusEscalation?: typeof hasOpenFocusEscalation;
|
|
42
|
+
listOpenShortfallProposalIds?: typeof listOpenShortfallProposalIds;
|
|
43
|
+
findOpenOperatorHoldForDelivery?: typeof findOpenOperatorHoldForDelivery;
|
|
44
|
+
hasPendingSpawnDirective: typeof hasPendingSpawnDirective;
|
|
45
|
+
emitLoopTrigger: typeof emitLoopTrigger;
|
|
46
|
+
getFocusReviewReportForSession: typeof getFocusReviewReportForSession;
|
|
47
|
+
getFocusReviewFiledIssueIds?: typeof getFocusReviewFiledIssueIds;
|
|
48
|
+
createEscalation: typeof createEscalation;
|
|
49
|
+
}
|
|
50
|
+
export declare const defaultReviewExitDeps: ReviewExitDeps;
|
|
51
|
+
//# sourceMappingURL=review-exit-deps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-exit-deps.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,wBAAwB,EAAE,OAAO,wBAAwB,CAAC;IAC1D,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IAGpD,mBAAmB,CAAC,EAAE,OAAO,mBAAmB,CAAC;IACjD,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAC;IAKrD,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAC;IACrD,uBAAuB,CAAC,EAAE,OAAO,uBAAuB,CAAC;IAGzD,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IAKvD,4BAA4B,CAAC,EAAE,OAAO,4BAA4B,CAAC;IAMnE,+BAA+B,CAAC,EAAE,OAAO,+BAA+B,CAAC;IACzE,wBAAwB,EAAE,OAAO,wBAAwB,CAAC;IAC1D,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,8BAA8B,EAAE,OAAO,8BAA8B,CAAC;IAMtE,2BAA2B,CAAC,EAAE,OAAO,2BAA2B,CAAC;IACjE,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;CAC3C;AAED,eAAO,MAAM,qBAAqB,EAAE,cAsBnC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency contract + default wiring for the review-exit phase.
|
|
3
|
+
*
|
|
4
|
+
* Split out of review-exit-phase.ts: that module carried both the review-exit
|
|
5
|
+
* routing decision tree and the long concrete-import list that binds
|
|
6
|
+
* ReviewExitDeps to the real query/directive/loop implementations. The contract
|
|
7
|
+
* and its production wiring live here; the phase module imports both and
|
|
8
|
+
* re-exports the type for existing importers. Dependency direction is one-way
|
|
9
|
+
* (phase -> deps), so the completion family stays acyclic under
|
|
10
|
+
* import-x/no-cycle. Bodies verbatim.
|
|
11
|
+
*/
|
|
12
|
+
import { fetchEffectiveWorkflow } from '../queries/workflows.js';
|
|
13
|
+
import { updateDeliveryStatus, markDeliveryAutoApproved } from '../queries/deliveries.js';
|
|
14
|
+
import { getActiveFocuses } from '../queries/focus-discovery.js';
|
|
15
|
+
import { hasPendingSpawnDirective } from '../directive/directive-queue.js';
|
|
16
|
+
import { emitLoopTrigger } from '../loops/index.js';
|
|
17
|
+
import { getFocusDeliveries, getFocusIssues, clearReviewRequestedAt, setReviewedThroughSha, setReviewCycleCount, setReviewHandoffCount, getFocusReviewReportForSession, getFocusReviewFiledIssueIds, } from '../queries/focuses.js';
|
|
18
|
+
import { resolveReviewCycleCap, resolveReviewHandoffCap } from '../verify/stall-detector-config.js';
|
|
19
|
+
import { getDeliveryIssues } from '../queries/issues.js';
|
|
20
|
+
import { createEscalation, hasOpenFocusEscalation } from '../queries/escalations.js';
|
|
21
|
+
import { findOpenOperatorHoldForDelivery } from '../queries/holds.js';
|
|
22
|
+
import { listOpenShortfallProposalIds } from '../queries/reality-tree.js';
|
|
23
|
+
export const defaultReviewExitDeps = {
|
|
24
|
+
getActiveFocuses,
|
|
25
|
+
getFocusDeliveries,
|
|
26
|
+
getFocusIssues,
|
|
27
|
+
getDeliveryIssues,
|
|
28
|
+
fetchEffectiveWorkflow,
|
|
29
|
+
updateDeliveryStatus,
|
|
30
|
+
markDeliveryAutoApproved,
|
|
31
|
+
clearReviewRequestedAt,
|
|
32
|
+
setReviewedThroughSha,
|
|
33
|
+
setReviewCycleCount,
|
|
34
|
+
resolveReviewCycleCap,
|
|
35
|
+
setReviewHandoffCount,
|
|
36
|
+
resolveReviewHandoffCap,
|
|
37
|
+
hasOpenFocusEscalation,
|
|
38
|
+
listOpenShortfallProposalIds,
|
|
39
|
+
findOpenOperatorHoldForDelivery,
|
|
40
|
+
hasPendingSpawnDirective,
|
|
41
|
+
emitLoopTrigger,
|
|
42
|
+
getFocusReviewReportForSession,
|
|
43
|
+
getFocusReviewFiledIssueIds,
|
|
44
|
+
createEscalation,
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=review-exit-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-exit-deps.js","sourceRoot":"","sources":["../../src/completion/review-exit-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAoD1E,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IACjB,sBAAsB;IACtB,oBAAoB;IACpB,wBAAwB;IACxB,sBAAsB;IACtB,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;IACrB,uBAAuB;IACvB,sBAAsB;IACtB,4BAA4B;IAC5B,+BAA+B;IAC/B,wBAAwB;IACxB,eAAe;IACf,8BAA8B;IAC9B,2BAA2B;IAC3B,gBAAgB;CACjB,CAAC"}
|
|
@@ -33,6 +33,16 @@ export interface ReviewExitEscalationContext {
|
|
|
33
33
|
focusName: string;
|
|
34
34
|
sessionId: string;
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* A compact summary of one open, blocking, review-filed finding on a focus,
|
|
38
|
+
* enumerated in the hand-off-exhausted escalation so an operator can see the
|
|
39
|
+
* outstanding findings without opening the daemon log.
|
|
40
|
+
*/
|
|
41
|
+
export interface ReviewFiledFindingSummary {
|
|
42
|
+
key: string;
|
|
43
|
+
title: string;
|
|
44
|
+
deliveryId: string | null;
|
|
45
|
+
}
|
|
36
46
|
/**
|
|
37
47
|
* Focus-level review-cycle churn METER (NOT a breaker), plus the one escalation
|
|
38
48
|
* it arms.
|
|
@@ -101,6 +111,23 @@ export declare function recordHandoffAndMaybeTerminate(deps: HandoffBoundDeps, c
|
|
|
101
111
|
* (the empty verify->verify_failed round trip).
|
|
102
112
|
*/
|
|
103
113
|
trigger?: 'pending_spawn_handoff' | 'no_delta_cycle';
|
|
114
|
+
/**
|
|
115
|
+
* The EXITING session's type. The hand-off breaker measures ONLY review-pass
|
|
116
|
+
* exits: a coding pass cannot approve a review, so its routes-nothing exit
|
|
117
|
+
* was never a routing candidate and must not advance the cap (2026-08-27:
|
|
118
|
+
* two CODING exits exhausted the cap without one review exit having failed,
|
|
119
|
+
* then the breaker filed an escalation asserting the focus was done while a
|
|
120
|
+
* P1 finding was open). When present and NOT 'review', this is a no-op --
|
|
121
|
+
* the counter does not advance and no escalation is filed. Absent preserves
|
|
122
|
+
* the legacy count-any-exit behavior for callers/tests that predate the gate.
|
|
123
|
+
*/
|
|
124
|
+
sessionType?: 'coding' | 'review';
|
|
125
|
+
/**
|
|
126
|
+
* Open, blocking, review-filed findings on the focus, resolved by the
|
|
127
|
+
* handler. Enumerated in the exhausted escalation (and its metadata) so the
|
|
128
|
+
* escalation states what it MEASURED instead of asserting "nothing to route".
|
|
129
|
+
*/
|
|
130
|
+
openBlockingFindings?: ReviewFiledFindingSummary[];
|
|
104
131
|
}): Promise<void>;
|
|
105
132
|
/**
|
|
106
133
|
* The review hand-off has terminated. The review-exit hand-off branch re-asserts
|
|
@@ -114,6 +141,7 @@ export declare function fileHandoffExhaustedEscalation(deps: ReviewExitEscalatio
|
|
|
114
141
|
handoffCount: number;
|
|
115
142
|
cap: number;
|
|
116
143
|
trigger?: 'pending_spawn_handoff' | 'no_delta_cycle';
|
|
144
|
+
openBlockingFindings?: ReviewFiledFindingSummary[];
|
|
117
145
|
}): Promise<void>;
|
|
118
146
|
/**
|
|
119
147
|
* The routing inconsistency the review-exit gate exists to catch: the review
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-escalations.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAChH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAK7E,sFAAsF;AACtF,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAG1C,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IAGvD,mBAAmB,CAAC,EAAE,OAAO,mBAAmB,CAAC;IACjD,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAC;CACtD;AAED,mEAAmE;AACnE,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsDD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,EAChC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;;;;;GAMG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,2BAA2B,EAChC,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnF,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wGAAwG;AACxG,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IAChE,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,CAAC;IACrD,uBAAuB,CAAC,EAAE,OAAO,uBAAuB,CAAC;CAC1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE,2BAA2B,EAChC,mBAAmB,EAAE,MAAM,EAC3B,IAAI,CAAC,EAAE;IACL;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"review-exit-escalations.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,6 +166,13 @@ export async function fileCoverageIncompleteEscalation(deps, ctx, args) {
|
|
|
166
166
|
*/
|
|
167
167
|
export async function recordHandoffAndMaybeTerminate(deps, ctx, currentHandoffCount, opts) {
|
|
168
168
|
const trigger = opts?.trigger ?? 'pending_spawn_handoff';
|
|
169
|
+
// MEASURE, don't assume: the breaker counts only review-pass exits. A
|
|
170
|
+
// non-review exit that routed nothing was never a review routing candidate.
|
|
171
|
+
if (opts?.sessionType && opts.sessionType !== 'review') {
|
|
172
|
+
log.info(`[focus-executor] "${ctx.focusName}" ${opts.sessionType} session exit routed nothing ` +
|
|
173
|
+
`(trigger=${trigger}) -- not a review pass; hand-off counter not advanced.`);
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
169
176
|
const handoffCap = (deps.resolveReviewHandoffCap ?? resolveReviewHandoffCap)();
|
|
170
177
|
const nextHandoffCount = currentHandoffCount + 1;
|
|
171
178
|
const persist = async () => {
|
|
@@ -183,7 +190,12 @@ export async function recordHandoffAndMaybeTerminate(deps, ctx, currentHandoffCo
|
|
|
183
190
|
// window, and file one operator escalation (deduped one-open-per-focus).
|
|
184
191
|
await persist();
|
|
185
192
|
await deps.clearReviewRequestedAt(ctx.focusId);
|
|
186
|
-
await fileHandoffExhaustedEscalation(deps, ctx, {
|
|
193
|
+
await fileHandoffExhaustedEscalation(deps, ctx, {
|
|
194
|
+
handoffCount: nextHandoffCount,
|
|
195
|
+
cap: handoffCap,
|
|
196
|
+
trigger,
|
|
197
|
+
openBlockingFindings: opts?.openBlockingFindings ?? [],
|
|
198
|
+
});
|
|
187
199
|
log.warn(`[focus-executor] "${ctx.focusName}" review no-progress bound EXHAUSTED (${nextHandoffCount} >= cap ${handoffCap}, ` +
|
|
188
200
|
`trigger=${trigger}) -- review_requested_at cleared and review_handoff_exhausted escalation filed; no re-assertion.`);
|
|
189
201
|
}
|
|
@@ -209,25 +221,39 @@ export async function recordHandoffAndMaybeTerminate(deps, ctx, currentHandoffCo
|
|
|
209
221
|
* branch) and files THIS escalation instead. One open row per focus.
|
|
210
222
|
*/
|
|
211
223
|
export async function fileHandoffExhaustedEscalation(deps, ctx, args) {
|
|
224
|
+
// ENUMERATE what the breaker measured. The old text asserted "there was no
|
|
225
|
+
// work left to route" and asked the operator to confirm the focus is done --
|
|
226
|
+
// untested, and false in the 2026-08-27 incident (a P1 finding was open the
|
|
227
|
+
// whole time). State the measured open blocking review-filed findings instead,
|
|
228
|
+
// or say there are none as a measured result.
|
|
229
|
+
const findings = args.openBlockingFindings ?? [];
|
|
230
|
+
const findingsBlock = findings.length > 0
|
|
231
|
+
? `\n\nMEASURED: ${findings.length} open blocking review-filed finding(s) remain on this focus ` +
|
|
232
|
+
`-- the focus is NOT clean:\n` +
|
|
233
|
+
findings
|
|
234
|
+
.map(f => ` - ${f.key}: ${f.title}${f.deliveryId ? ` (delivery ${f.deliveryId})` : ''}`)
|
|
235
|
+
.join('\n') +
|
|
236
|
+
`\n\nRoute or descope these findings; do not close the focus while they are open.`
|
|
237
|
+
: `\n\nMEASURED: 0 open blocking review-filed findings on this focus at exit. If the focus is ` +
|
|
238
|
+
`genuinely done, close/descope it; otherwise resolve why the review window kept re-opening ` +
|
|
239
|
+
`with no work to route.`;
|
|
212
240
|
await fileDedupedFocusEscalation(deps, ctx, {
|
|
213
241
|
escalationKind: 'review_handoff_exhausted',
|
|
214
242
|
label: 'handoff-exhausted',
|
|
215
243
|
reasonType: ESCALATION_REASONS.BLOCKED_BY_EXTERNAL,
|
|
216
|
-
description: `Review of "${ctx.focusName}" handed off to an incoming team ${args.handoffCount} time(s) ` +
|
|
217
|
-
`(cap ${args.cap}) without any
|
|
218
|
-
`
|
|
219
|
-
`
|
|
220
|
-
|
|
221
|
-
`re-asserting the hand-off, so the self-perpetuating loop cannot re-create its own ` +
|
|
222
|
-
`precondition.\n\n` +
|
|
223
|
-
`An operator should confirm the focus is genuinely done (nothing left to review) and ` +
|
|
224
|
-
`close/descope it, or resolve why the review window kept re-opening with no work to route.`,
|
|
244
|
+
description: `Review of "${ctx.focusName}" handed off to an incoming review team ${args.handoffCount} time(s) ` +
|
|
245
|
+
`(cap ${args.cap}) without any review session routing a delivery. The daemon has CLOSED the ` +
|
|
246
|
+
`review window (cleared review_requested_at) and stopped re-asserting the hand-off, so the ` +
|
|
247
|
+
`self-perpetuating loop cannot re-create its own precondition.` +
|
|
248
|
+
findingsBlock,
|
|
225
249
|
metadata: {
|
|
226
250
|
session_id: ctx.sessionId,
|
|
227
251
|
handoff_count: args.handoffCount,
|
|
228
252
|
cap: args.cap,
|
|
229
253
|
routed_via: 'handoff_exhausted',
|
|
230
254
|
trigger: args.trigger ?? 'pending_spawn_handoff',
|
|
255
|
+
open_blocking_review_filed_count: findings.length,
|
|
256
|
+
open_blocking_review_filed_findings: findings.map(f => f.key),
|
|
231
257
|
},
|
|
232
258
|
onFiled: () => {
|
|
233
259
|
log.warn(`[focus-executor] review_handoff_exhausted escalation filed for "${ctx.focusName}" ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-escalations.js","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAIlF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"review-exit-escalations.js","sourceRoot":"","sources":["../../src/completion/review-exit-escalations.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,44 +9,8 @@
|
|
|
9
9
|
* from completion/event.ts on a review pass completion. Extracted from
|
|
10
10
|
* completion/team-completion.ts; bodies verbatim.
|
|
11
11
|
*/
|
|
12
|
-
|
|
13
|
-
import {
|
|
14
|
-
import { getActiveFocuses } from '../queries/focus-discovery.js';
|
|
15
|
-
import { hasPendingSpawnDirective } from '../directive/directive-queue.js';
|
|
16
|
-
import { emitLoopTrigger } from '../loops/index.js';
|
|
17
|
-
import { getFocusDeliveries, getFocusIssues, clearReviewRequestedAt, setReviewedThroughSha, setReviewCycleCount, setReviewHandoffCount, getFocusReviewReportForSession, getFocusReviewFiledIssueIds } from '../queries/focuses.js';
|
|
18
|
-
import { resolveReviewCycleCap, resolveReviewHandoffCap } from '../verify/stall-detector-config.js';
|
|
19
|
-
import { getDeliveryIssues } from '../queries/issues.js';
|
|
20
|
-
import { createEscalation, hasOpenFocusEscalation } from '../queries/escalations.js';
|
|
21
|
-
import { findOpenOperatorHoldForDelivery } from '../queries/holds.js';
|
|
22
|
-
import { listOpenShortfallProposalIds } from '../queries/reality-tree.js';
|
|
23
|
-
/**
|
|
24
|
-
* Dependencies for runReviewExitHandler. Defaults to real implementations;
|
|
25
|
-
* overridable in tests via the optional `deps` argument.
|
|
26
|
-
*/
|
|
27
|
-
export interface ReviewExitDeps {
|
|
28
|
-
getActiveFocuses: typeof getActiveFocuses;
|
|
29
|
-
getFocusDeliveries: typeof getFocusDeliveries;
|
|
30
|
-
getFocusIssues: typeof getFocusIssues;
|
|
31
|
-
getDeliveryIssues: typeof getDeliveryIssues;
|
|
32
|
-
fetchEffectiveWorkflow: typeof fetchEffectiveWorkflow;
|
|
33
|
-
updateDeliveryStatus: typeof updateDeliveryStatus;
|
|
34
|
-
markDeliveryAutoApproved: typeof markDeliveryAutoApproved;
|
|
35
|
-
clearReviewRequestedAt: typeof clearReviewRequestedAt;
|
|
36
|
-
setReviewedThroughSha: typeof setReviewedThroughSha;
|
|
37
|
-
setReviewCycleCount?: typeof setReviewCycleCount;
|
|
38
|
-
resolveReviewCycleCap?: typeof resolveReviewCycleCap;
|
|
39
|
-
setReviewHandoffCount?: typeof setReviewHandoffCount;
|
|
40
|
-
resolveReviewHandoffCap?: typeof resolveReviewHandoffCap;
|
|
41
|
-
hasOpenFocusEscalation?: typeof hasOpenFocusEscalation;
|
|
42
|
-
listOpenShortfallProposalIds?: typeof listOpenShortfallProposalIds;
|
|
43
|
-
findOpenOperatorHoldForDelivery?: typeof findOpenOperatorHoldForDelivery;
|
|
44
|
-
hasPendingSpawnDirective: typeof hasPendingSpawnDirective;
|
|
45
|
-
emitLoopTrigger: typeof emitLoopTrigger;
|
|
46
|
-
getFocusReviewReportForSession: typeof getFocusReviewReportForSession;
|
|
47
|
-
getFocusReviewFiledIssueIds?: typeof getFocusReviewFiledIssueIds;
|
|
48
|
-
createEscalation: typeof createEscalation;
|
|
49
|
-
}
|
|
12
|
+
export type { ReviewExitDeps } from './review-exit-deps.js';
|
|
13
|
+
import type { ReviewExitDeps } from './review-exit-deps.js';
|
|
50
14
|
export interface ReviewExitParams {
|
|
51
15
|
focusId: string;
|
|
52
16
|
focusName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-phase.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"review-exit-phase.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoCH,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAMD,OAAO,EACL,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,gBAAgB,EACxB,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,IAAI,CAAC,CA6mBf"}
|
|
@@ -10,53 +10,20 @@
|
|
|
10
10
|
* completion/team-completion.ts; bodies verbatim.
|
|
11
11
|
*/
|
|
12
12
|
import { filterWorkIssues, OPEN_ISSUE_STATUSES } from '../shell/constants.js';
|
|
13
|
-
import { fetchEffectiveWorkflow } from '../queries/workflows.js';
|
|
14
|
-
import { updateDeliveryStatus, markDeliveryAutoApproved } from '../queries/deliveries.js';
|
|
15
|
-
import { getActiveFocuses } from '../queries/focus-discovery.js';
|
|
16
|
-
import { hasPendingSpawnDirective } from '../directive/directive-queue.js';
|
|
17
13
|
import { DELIVERY_STATUS } from '@telora/daemon-core';
|
|
18
14
|
import { resolveReconciledWrite } from '../delivery/delivery-reconciler-apply.js';
|
|
19
|
-
import { emitLoopTrigger } from '../loops/index.js';
|
|
20
|
-
import { getFocusDeliveries, getFocusIssues, clearReviewRequestedAt, setReviewedThroughSha, setReviewCycleCount, setReviewHandoffCount, getFocusReviewReportForSession, getFocusReviewFiledIssueIds, } from '../queries/focuses.js';
|
|
21
|
-
import { resolveReviewCycleCap, resolveReviewHandoffCap } from '../verify/stall-detector-config.js';
|
|
22
|
-
import { getDeliveryIssues } from '../queries/issues.js';
|
|
23
|
-
import { createEscalation, hasOpenFocusEscalation } from '../queries/escalations.js';
|
|
24
|
-
import { findOpenOperatorHoldForDelivery } from '../queries/holds.js';
|
|
25
15
|
import { resolveOperatorHold, writeOperatorHoldGateState, describeOperatorHold } from '../delivery/operator-hold.js';
|
|
26
16
|
import { resolveExternalHold, makeDeferredRequestClosureEvaluator, describeExternalHold } from '../delivery/external-hold.js';
|
|
27
17
|
import { surfaceStaleReferenceLessExternalHold } from '../delivery/external-hold-surface.js';
|
|
28
|
-
import { listOpenShortfallProposalIds } from '../queries/reality-tree.js';
|
|
29
18
|
import { resolveShortfallHold, writeShortfallGateState, describeShortfallHold, } from './review-exit-shortfall.js';
|
|
30
19
|
import { recordReviewCycleAndMaybeEscalate, fileCoverageIncompleteEscalation, fileGapsWithoutIssueEscalation, fileMissingReportNotice, recordHandoffAndMaybeTerminate, } from './review-exit-escalations.js';
|
|
31
20
|
import { forceFullPassReviewFocuses, recordBelowCoverageDrift, resetCoverageDriftState } from './coverage-drift-state.js';
|
|
32
21
|
import { resolveReviewCycleProgress } from './review-exit-progress.js';
|
|
33
|
-
import { reviewFiledIssueExistsComplete, blockingReviewFiledIssueExistsComplete, filterDeferrableReviewNotesComplete, } from './review-defect-detector.js';
|
|
22
|
+
import { reviewFiledIssueExistsComplete, blockingReviewFiledIssueExistsComplete, filterDeferrableReviewNotesComplete, filterBlockingReviewFiledComplete, } from './review-defect-detector.js';
|
|
34
23
|
import { resolveAttributedDeliveryIds, resolveGapsAttribution } from './review-exit-attribution.js';
|
|
35
24
|
import { createLogger } from '../shell/log.js';
|
|
25
|
+
import { defaultReviewExitDeps } from './review-exit-deps.js';
|
|
36
26
|
const log = createLogger({ module: 'focus-executor' });
|
|
37
|
-
const defaultReviewExitDeps = {
|
|
38
|
-
getActiveFocuses,
|
|
39
|
-
getFocusDeliveries,
|
|
40
|
-
getFocusIssues,
|
|
41
|
-
getDeliveryIssues,
|
|
42
|
-
fetchEffectiveWorkflow,
|
|
43
|
-
updateDeliveryStatus,
|
|
44
|
-
markDeliveryAutoApproved,
|
|
45
|
-
clearReviewRequestedAt,
|
|
46
|
-
setReviewedThroughSha,
|
|
47
|
-
setReviewCycleCount,
|
|
48
|
-
resolveReviewCycleCap,
|
|
49
|
-
setReviewHandoffCount,
|
|
50
|
-
resolveReviewHandoffCap,
|
|
51
|
-
hasOpenFocusEscalation,
|
|
52
|
-
listOpenShortfallProposalIds,
|
|
53
|
-
findOpenOperatorHoldForDelivery,
|
|
54
|
-
hasPendingSpawnDirective,
|
|
55
|
-
emitLoopTrigger,
|
|
56
|
-
getFocusReviewReportForSession,
|
|
57
|
-
getFocusReviewFiledIssueIds,
|
|
58
|
-
createEscalation,
|
|
59
|
-
};
|
|
60
27
|
// The in-memory below-coverage drift trackers live in a tiny standalone module
|
|
61
28
|
// (coverage-drift-state.ts) so the lightweight focus-respawn-guard can reset
|
|
62
29
|
// them on the coverage-escalation re-arm edge without importing this heavy
|
|
@@ -132,11 +99,22 @@ export async function runReviewExitHandler(params, deps = defaultReviewExitDeps)
|
|
|
132
99
|
let shortfallHold = false;
|
|
133
100
|
const focuses = await deps.getActiveFocuses(organizationId, productId);
|
|
134
101
|
const current = focuses.find(s => s.focus_id === focusId);
|
|
135
|
-
if (!current
|
|
136
|
-
//
|
|
102
|
+
if (!current) {
|
|
103
|
+
// Focus not in the active set -- nothing to route.
|
|
137
104
|
return;
|
|
138
105
|
}
|
|
139
|
-
|
|
106
|
+
// The review window MAY already be closed by the time this handler runs (a
|
|
107
|
+
// prior exit cleared it, or state-cascade cleared it when no review owned it).
|
|
108
|
+
// Routing FINDINGS toward intent does not depend on the flag: a blocking
|
|
109
|
+
// review-filed gap that missed its window while its delivery was in verify
|
|
110
|
+
// must still re-open that delivery once it has advanced to done -- the
|
|
111
|
+
// verify/done asymmetry this delivery removes. So we do NOT bail on a null
|
|
112
|
+
// flag here; we gather the focus-wide review-filed evidence below and bail
|
|
113
|
+
// only when the window is closed AND there is no open review-filed gap to
|
|
114
|
+
// route. The toward-DONE branches (auto-approve, report->done) still require
|
|
115
|
+
// an open window and are gated on `windowOpen`.
|
|
116
|
+
const windowOpen = !!current.review_requested_at;
|
|
117
|
+
const reviewRequestedAt = current.review_requested_at ?? null;
|
|
140
118
|
// NOTE: a pending spawn directive no longer short-circuits the handler.
|
|
141
119
|
// Delivery finalization (auto-approve verify->done, done-via-report, and
|
|
142
120
|
// verify_failed on open work) plus clearing review_requested_at and emitting
|
|
@@ -193,6 +171,19 @@ export async function runReviewExitHandler(params, deps = defaultReviewExitDeps)
|
|
|
193
171
|
// review's filed gap issues (the verdict's target set; see
|
|
194
172
|
// review-exit-attribution.ts). A delivery NOT in it converges on its own merits.
|
|
195
173
|
let attributedDeliveryIds = new Set();
|
|
174
|
+
// The focus-wide, non-lossy EVIDENCE target set: deliveries that own an OPEN,
|
|
175
|
+
// BLOCKING, REVIEW-FILED gap (the reviewFiledIds union, NOT the exiting
|
|
176
|
+
// session's own createdIssueIds). This is what makes a finding routable by
|
|
177
|
+
// WHICHEVER session next reaches the review-exit path -- not only the session
|
|
178
|
+
// that filed it -- and what re-opens a done delivery on evidence rather than
|
|
179
|
+
// the exiting session's verdict. Closed gaps and deferrable low-severity notes
|
|
180
|
+
// are excluded by resolveAttributedDeliveryIds; human-filed issues are excluded
|
|
181
|
+
// because they are not in the review-filed set.
|
|
182
|
+
let reviewFiledTargetDeliveryIds = new Set();
|
|
183
|
+
// Open, blocking, review-filed findings on the focus -- enumerated in the
|
|
184
|
+
// hand-off-exhausted escalation so it STATES what it measured (rather than
|
|
185
|
+
// asserting "nothing left to route"). Empty on read failure.
|
|
186
|
+
let openBlockingFindings = [];
|
|
196
187
|
const createdIssueIdSet = new Set(reviewCreatedIssueIds);
|
|
197
188
|
try {
|
|
198
189
|
const focusIssues = await deps.getFocusIssues(focusId);
|
|
@@ -200,6 +191,9 @@ export async function runReviewExitHandler(params, deps = defaultReviewExitDeps)
|
|
|
200
191
|
hasBlockingIssueEvidence = blockingReviewFiledIssueExistsComplete(focusIssues, reviewFiledIds, reviewRequestedAt);
|
|
201
192
|
deferrableIssueIds = new Set(filterDeferrableReviewNotesComplete(focusIssues, reviewFiledIds, reviewRequestedAt).map(i => i.id));
|
|
202
193
|
attributedDeliveryIds = resolveAttributedDeliveryIds(focusIssues, createdIssueIdSet);
|
|
194
|
+
reviewFiledTargetDeliveryIds = resolveAttributedDeliveryIds(focusIssues, reviewFiledIds);
|
|
195
|
+
openBlockingFindings = filterBlockingReviewFiledComplete(focusIssues, reviewFiledIds, reviewRequestedAt)
|
|
196
|
+
.map(i => ({ key: i.key, title: i.title, deliveryId: i.deliveryId ?? null }));
|
|
203
197
|
}
|
|
204
198
|
catch (err) {
|
|
205
199
|
log.warn(`[focus-executor] getFocusIssues failed for "${focusName}": ${err.message}`);
|
|
@@ -211,6 +205,13 @@ export async function runReviewExitHandler(params, deps = defaultReviewExitDeps)
|
|
|
211
205
|
// -- whether the review filed a blocking issue ANYWHERE in the focus (read
|
|
212
206
|
// focus-wide from the complete review-filed id set above), NOT a verify-scoped
|
|
213
207
|
// walk that made a sibling-delivery gap structurally invisible.
|
|
208
|
+
// Nothing-to-do bail: a CLOSED review window with no open review-filed gap has
|
|
209
|
+
// nothing to route -- the toward-intent evidence path is empty and the
|
|
210
|
+
// toward-done path requires an open window. An OPEN window always proceeds (its
|
|
211
|
+
// clean-session auto-approve / report routing still runs even with no gaps).
|
|
212
|
+
if (!windowOpen && reviewFiledTargetDeliveryIds.size === 0) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
214
215
|
// ── Route verify deliveries ──────────────────────────────────────
|
|
215
216
|
// Runs unconditionally: open work routes to verify_failed even when no
|
|
216
217
|
// review evidence is present. This is the self-healing path -- a coding
|
|
@@ -239,14 +240,25 @@ export async function runReviewExitHandler(params, deps = defaultReviewExitDeps)
|
|
|
239
240
|
const attributionResolvable = attributedDeliveryIds.size > 0;
|
|
240
241
|
for (const d of reviewDeliveries) {
|
|
241
242
|
const isVerify = d.executionStatus === DELIVERY_STATUS.VERIFY;
|
|
242
|
-
// A
|
|
243
|
-
//
|
|
244
|
-
//
|
|
243
|
+
// A done delivery re-opens when EITHER the exiting session's gaps_found
|
|
244
|
+
// verdict targets it (the verdict path, preserved) OR it owns an open,
|
|
245
|
+
// blocking, review-filed gap in the focus-wide evidence set (the durability
|
|
246
|
+
// path -- a finding that missed its window while the delivery was in verify,
|
|
247
|
+
// routable by whichever session next reaches this handler). Either way the
|
|
248
|
+
// reconciled path re-opens THAT delivery rather than failing whichever
|
|
249
|
+
// sibling happens to be in verify.
|
|
245
250
|
const isReopenableDone = d.executionStatus === DELIVERY_STATUS.DONE &&
|
|
246
|
-
reviewOutcome === 'gaps_found' &&
|
|
247
|
-
|
|
251
|
+
((reviewOutcome === 'gaps_found' && attributedDeliveryIds.has(d.id)) ||
|
|
252
|
+
reviewFiledTargetDeliveryIds.has(d.id));
|
|
248
253
|
if (!isVerify && !isReopenableDone)
|
|
249
254
|
continue;
|
|
255
|
+
// A CLOSED review window has no authority to converge a delivery to done; it
|
|
256
|
+
// is processed ONLY to route open review-filed gaps toward intent. Skip any
|
|
257
|
+
// delivery that is not an evidence target so a closed window can never
|
|
258
|
+
// auto-approve or report->done a delivery (a verify delivery with no gap
|
|
259
|
+
// would otherwise reach the clean-session auto-approve branch).
|
|
260
|
+
if (!windowOpen && !reviewFiledTargetDeliveryIds.has(d.id))
|
|
261
|
+
continue;
|
|
250
262
|
// The loop body runs ONLY for a verify or a re-openable done delivery.
|
|
251
263
|
const fromStatus = isVerify ? DELIVERY_STATUS.VERIFY : DELIVERY_STATUS.DONE;
|
|
252
264
|
try {
|
|
@@ -280,7 +292,7 @@ export async function runReviewExitHandler(params, deps = defaultReviewExitDeps)
|
|
|
280
292
|
})),
|
|
281
293
|
gitState: { worktreeCommitted: true },
|
|
282
294
|
guardVerdict: null,
|
|
283
|
-
reviewState: { reviewRequested: true, reportExists, sessionType, succeeded, outcome: reviewOutcome, inspected: reviewInspected, gapsAttribution },
|
|
295
|
+
reviewState: { reviewRequested: true, reportExists, sessionType, succeeded, outcome: reviewOutcome, inspected: reviewInspected, gapsAttribution, reviewFiledBlockingOnDone: reviewFiledTargetDeliveryIds.has(d.id) },
|
|
284
296
|
},
|
|
285
297
|
});
|
|
286
298
|
const target = decision.target;
|
|
@@ -478,6 +490,10 @@ export async function runReviewExitHandler(params, deps = defaultReviewExitDeps)
|
|
|
478
490
|
deliveryConverged: convergedAny,
|
|
479
491
|
issuesFiled: reviewCreatedIssueIds.length > 0,
|
|
480
492
|
currentHandoffCount: current.review_handoff_count ?? 0,
|
|
493
|
+
// The hand-off breaker measures ONLY review-pass exits; a coding exit that
|
|
494
|
+
// routed a self-heal must not climb the review cap.
|
|
495
|
+
sessionType,
|
|
496
|
+
openBlockingFindings,
|
|
481
497
|
});
|
|
482
498
|
// Focus-level review-cycle churn meter + the cap escalation it arms; see
|
|
483
499
|
// recordReviewCycleAndMaybeEscalate for the take-turns-failing tail this
|
|
@@ -519,7 +535,16 @@ export async function runReviewExitHandler(params, deps = defaultReviewExitDeps)
|
|
|
519
535
|
// the cap it hands off as before, at the cap it closes the review window and
|
|
520
536
|
// escalates instead of re-asserting. Extracted to review-exit-escalations.ts
|
|
521
537
|
// (the sibling escalation seam) so this file stays under the size limit.
|
|
522
|
-
|
|
538
|
+
//
|
|
539
|
+
// The counter advances ONLY for a review-pass exit (sessionType): a coding
|
|
540
|
+
// exit that routed nothing was never a review routing candidate, so counting
|
|
541
|
+
// it exhausted the cap without a review having failed (2026-08-27). The
|
|
542
|
+
// exhausted escalation enumerates the open blocking review-filed findings so
|
|
543
|
+
// it states what it measured instead of asserting the focus is done.
|
|
544
|
+
await recordHandoffAndMaybeTerminate(deps, escalationCtx, current.review_handoff_count ?? 0, {
|
|
545
|
+
sessionType,
|
|
546
|
+
openBlockingFindings,
|
|
547
|
+
});
|
|
523
548
|
}
|
|
524
549
|
else if (shortfallHold) {
|
|
525
550
|
// Nothing routed because the focus carries undisposed shortfalls. This is a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-phase.js","sourceRoot":"","sources":["../../src/completion/review-exit-phase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review-exit-phase.js","sourceRoot":"","sources":["../../src/completion/review-exit-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC9H,OAAO,EAAE,qCAAqC,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,iCAAiC,EACjC,gCAAgC,EAChC,8BAA8B,EAC9B,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC1H,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EACL,8BAA8B,EAC9B,sCAAsC,EACtC,mCAAmC,EACnC,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AA2CvD,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAC3E,kFAAkF;AAClF,OAAO,EACL,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,gGAAgG;AAChG,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,IAAI,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAwB,EACxB,OAAuB,qBAAqB;IAE5C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAEvJ,sFAAsF;IACtF,MAAM,aAAa,GAAgC,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAErG,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,UAAU,GAAG,cAAc,IAAI,gBAAgB,IAAI,IAAI,CAAC;IAC9D,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,iFAAiF;IACjF,MAAM,gBAAgB,GACpB,cAAc,IAAI,IAAI,IAAI,gBAAgB,IAAI,IAAI,IAAI,cAAc,KAAK,gBAAgB,CAAC;IAE5F,2EAA2E;IAC3E,0EAA0E;IAC1E,+CAA+C;IAC/C,EAAE;IACF,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC;IACxC,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,mDAAmD;QACnD,OAAO;IACT,CAAC;IACD,2EAA2E;IAC3E,+EAA+E;IAC/E,yEAAyE;IACzE,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,6EAA6E;IAC7E,gDAAgD;IAChD,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACjD,MAAM,iBAAiB,GAAkB,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC;IAE7E,wEAAwE;IACxE,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,sEAAsE;IACtE,2EAA2E;IAC3E,8EAA8E;IAC9E,2BAA2B;IAE3B,oEAAoE;IACpE,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,+EAA+E;IAC/E,+EAA+E;IAC/E,8EAA8E;IAC9E,yEAAyE;IACzE,IAAI,aAAa,GAAqC,IAAI,CAAC;IAC3D,iFAAiF;IACjF,IAAI,qBAAqB,GAAa,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7E,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,qBAAqB,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,+DAA+D,SAAS,aAAa,SAAS,KAAM,GAAa,CAAC,OAAO,EAAE,CAC5H,CAAC;QACF,0CAA0C;IAC5C,CAAC;IAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,yEAAyE;IACzE,6EAA6E;IAC7E,+EAA+E;IAC/E,oDAAoD;IACpD,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC,8EAA8E;IAC9E,6EAA6E;IAC7E,wEAAwE;IACxE,+BAA+B;IAC/B,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,iEAAiE;IACjE,6EAA6E;IAC7E,gFAAgF;IAChF,gFAAgF;IAChF,+CAA+C;IAC/C,IAAI,cAAc,GAAwB,IAAI,GAAG,EAAU,CAAC;IAC5D,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,4DAA4D,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CACpG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,8EAA8E;IAC9E,2DAA2D;IAC3D,iFAAiF;IACjF,IAAI,qBAAqB,GAAwB,IAAI,GAAG,EAAU,CAAC;IACnE,8EAA8E;IAC9E,wEAAwE;IACxE,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,+EAA+E;IAC/E,gFAAgF;IAChF,gDAAgD;IAChD,IAAI,4BAA4B,GAAwB,IAAI,GAAG,EAAU,CAAC;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,6DAA6D;IAC7D,IAAI,oBAAoB,GAAgC,EAAE,CAAC;IAC3D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,gBAAgB,GAAG,8BAA8B,CAAC,WAAW,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAClG,wBAAwB,GAAG,sCAAsC,CAAC,WAAW,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAClH,kBAAkB,GAAG,IAAI,GAAG,CAC1B,mCAAmC,CAAC,WAAW,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACnG,CAAC;QACF,qBAAqB,GAAG,4BAA4B,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACrF,4BAA4B,GAAG,4BAA4B,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACzF,oBAAoB,GAAG,iCAAiC,CAAC,WAAW,EAAE,cAAc,EAAE,iBAAiB,CAAC;aACrG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,+CAA+C,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CACvF,CAAC;QACF,uEAAuE;QACvE,uEAAuE;QACvE,6EAA6E;IAC/E,CAAC;IAED,gFAAgF;IAChF,2EAA2E;IAC3E,+EAA+E;IAC/E,gEAAgE;IAEhE,+EAA+E;IAC/E,uEAAuE;IACvE,gFAAgF;IAChF,6EAA6E;IAC7E,IAAI,CAAC,UAAU,IAAI,4BAA4B,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,oEAAoE;IACpE,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAChE,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,8EAA8E;IAC9E,sEAAsE;IACtE,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,0EAA0E;IAC1E,6EAA6E;IAC7E,+CAA+C;IAC/C,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,qEAAqE;IACrE,iFAAiF;IACjF,+EAA+E;IAC/E,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,0EAA0E;IAC1E,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,KAAK,eAAe,CAAC,MAAM,CAAC;QAC9D,wEAAwE;QACxE,uEAAuE;QACvE,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,uEAAuE;QACvE,mCAAmC;QACnC,MAAM,gBAAgB,GACpB,CAAC,CAAC,eAAe,KAAK,eAAe,CAAC,IAAI;YAC1C,CAAC,CAAC,aAAa,KAAK,YAAY,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClE,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB;YAAE,SAAS;QAC7C,6EAA6E;QAC7E,4EAA4E;QAC5E,uEAAuE;QACvE,yEAAyE;QACzE,gEAAgE;QAChE,IAAI,CAAC,UAAU,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,SAAS;QACrE,uEAAuE;QACvE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC5C,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3E,sEAAsE;YACtE,wEAAwE;YACxE,0EAA0E;YAC1E,6DAA6D;YAC7D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE7E,sFAAsF;YACtF,MAAM,eAAe,GAAG,sBAAsB,CAC5C,CAAC,CAAC,EAAE,EACJ,aAAa,KAAK,YAAY,EAC9B,qBAAqB,EACrB,qBAAqB,CACtB,CAAC;YAEF,6EAA6E;YAC7E,+EAA+E;YAC/E,qEAAqE;YACrE,6EAA6E;YAC7E,kDAAkD;YAClD,MAAM,QAAQ,GAAG,sBAAsB,CAAC;gBACtC,KAAK,EAAE;oBACL,aAAa,EAAE,UAAU;oBACzB,uEAAuE;oBACvE,oCAAoC;oBACpC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACvB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,UAAU,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzC,CAAC,CAAC;oBACH,QAAQ,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE;oBACrC,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,yBAAyB,EAAE,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;iBACrN;aACF,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAE/B,4EAA4E;YAC5E,yEAAyE;YACzE,0EAA0E;YAC1E,IAAI,CAAC,QAAQ,IAAI,MAAM,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,sEAAsE;YACtE,oEAAoE;YACpE,0EAA0E;YAC1E,yEAAyE;YACzE,yEAAyE;YACzE,2EAA2E;YAC3E,0EAA0E;YAC1E,4EAA4E;YAC5E,uDAAuD;YACvD,IAAI,MAAM,KAAK,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC;gBAC5E,MAAM,QAAQ,GAAG;oBACf,+BAA+B,EAAE,IAAI,CAAC,+BAA+B;oBACrE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;iBAChD,CAAC;gBACF,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,eAAe,GAAG,IAAI,CAAC;oBACvB,MAAM,0BAA0B,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBACvD,GAAG,CAAC,IAAI,CACN,8BAA8B,CAAC,CAAC,IAAI,0BAA0B,oBAAoB,CAAC,IAAI,CAAC,IAAI;wBAC5F,6CAA6C,CAC9C,CAAC;oBACF,SAAS;gBACX,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,oEAAoE;YACpE,yEAAyE;YACzE,wEAAwE;YACxE,4EAA4E;YAC5E,IAAI,MAAM,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAC5C,EAAE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACnD,CAAC,CAAC,EAAE,EACJ,CAAC,CAAC,SAAS,EACX,mCAAmC,CAAC,SAAS,CAAC,CAC/C,CAAC;gBACF,2EAA2E;gBAC3E,2EAA2E;gBAC3E,+DAA+D;gBAC/D,qCAAqC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,kBAAkB,IAAI,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBACjH,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;oBACtB,eAAe,GAAG,IAAI,CAAC;oBACvB,GAAG,CAAC,IAAI,CACN,8BAA8B,CAAC,CAAC,IAAI,0BAA0B,oBAAoB,CAAC,YAAY,CAAC,IAAI;wBACpG,oDAAoD,CACrD,CAAC;oBACF,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IAAI,MAAM,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;gBAC7C,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;gBACnF,uEAAuE;gBACvE,wEAAwE;gBACxE,oCAAoC;gBACpC,MAAM,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,mBAAmB,EAAE,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;gBACzI,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC;oBAC5C,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,+BAA+B,QAAQ,CAAC,MAAM,QAAQ;oBAClF,CAAC,CAAC,aAAa,KAAK,YAAY;wBAC9B,CAAC,CAAC,gFAAgF;wBAClF,CAAC,CAAC,+EAA+E,CAAC;gBACtF,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,gBAAgB,UAAU,sBAAsB,UAAU,EAAE,CAAC,CAAC;gBAC1F,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;iBAAM,IAAI,MAAM,KAAK,eAAe,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC3D,sEAAsE;gBACtE,uEAAuE;gBACvE,wEAAwE;gBACxE,wEAAwE;gBACxE,mDAAmD;gBACnD,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;oBACzD,GAAG,CAAC,IAAI,CACN,8BAA8B,CAAC,CAAC,IAAI,kDAAkD;wBACtF,GAAG,qBAAqB,CAAC,SAAS,CAAC,mBAAmB,CACvD,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAChE,kEAAkE;oBAClE,MAAM,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAChI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,6CAA6C,CAAC,CAAC;oBAC3E,SAAS,GAAG,IAAI,CAAC;oBACjB,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,KAAK,eAAe,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC/D,sEAAsE;gBACtE,gEAAgE;gBAChE,sEAAsE;gBACtE,sEAAsE;gBACtE,aAAa,GAAG,IAAI,CAAC;gBACrB,MAAM,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;gBACzD,GAAG,CAAC,IAAI,CACN,8BAA8B,CAAC,CAAC,IAAI,yBAAyB;oBACvE,GAAG,qBAAqB,CAAC,SAAS,CAAC,uCAAuC,CACjE,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC3C,yEAAyE;gBACzE,uEAAuE;gBACvE,qEAAqE;gBACrE,0EAA0E;gBAC1E,yEAAyE;gBACzE,yEAAyE;gBACzE,wEAAwE;gBACxE,oEAAoE;gBACpE,+DAA+D;gBAC/D,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBAChE,MAAM,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpI,GAAG,CAAC,IAAI,CACN,8BAA8B,CAAC,CAAC,IAAI,iCAAiC;wBACrE,kCAAkC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAC3F,CAAC;oBACF,SAAS,GAAG,IAAI,CAAC;oBACjB,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,iBAAiB,GAAG,IAAI,CAAC;oBACzB,GAAG,CAAC,IAAI,CACN,8BAA8B,CAAC,CAAC,IAAI,wDAAwD;wBAC5F,GAAG,CAAC,cAAc,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,gBAAgB,IAAI,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;wBACtH,+EAA+E,CAChF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,qEAAqE;gBACrE,wDAAwD;gBACxD,MAAM,MAAM,GAAG,WAAW,KAAK,QAAQ;oBACrC,CAAC,CAAC,GAAG,WAAW,iDAAiD;oBACjE,CAAC,CAAC,gCAAgC,CAAC;gBACrC,GAAG,CAAC,IAAI,CACN,8BAA8B,CAAC,CAAC,IAAI,qBAAqB,MAAM,GAAG;oBAClE,0DAA0D,CAC3D,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,IAAI,mBAAoB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,+EAA+E;IAC/E,iFAAiF;IACjF,6EAA6E;IAC7E,+DAA+D;IAC/D,mEAAmE;IACnE,4EAA4E;IAC5E,kCAAkC;IAClC,MAAM,gBAAgB,GAAG,aAAa,KAAK,YAAY,IAAI,CAAC,wBAAwB,CAAC;IAErF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3C,GAAG,CAAC,IAAI,CACN,yCAAyC,SAAS,mCAAmC;YACrF,iBAAiB,YAAY,mBAAmB,gBAAgB,sBAAsB,wBAAwB,GAAG,CAClH,CAAC;QACF,4EAA4E;QAC5E,yEAAyE;QACzE,uEAAuE;QACvE,4EAA4E;QAC5E,0EAA0E;QAC1E,sEAAsE;QACtE,8EAA8E;QAC9E,gDAAgD;QAChD,EAAE;QACF,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,6EAA6E;QAC7E,uCAAuC;QACvC,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CACN,mDAAmD,SAAS,sBAAsB;gBAClF,6FAA6F,CAC9F,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACtD,GAAG,CAAC,IAAI,CACN,mDAAmD,SAAS,gBAAgB;oBAC5E,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAC5D,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CACN,sDAAsD,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CAC9F,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CACN,uCAAuC,SAAS,2BAA2B;gBAC3E,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QACD,wEAAwE;QACxE,6EAA6E;QAC7E,4EAA4E;QAC5E,mDAAmD;QACnD,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEjC,yEAAyE;QACzE,0EAA0E;QAC1E,0CAA0C;QAC1C,MAAM,0BAA0B,CAAC,IAAI,EAAE,aAAa,EAAE;YACpD,UAAU;YACV,gBAAgB,EAAE,OAAO,CAAC,oBAAoB,IAAI,IAAI;YACtD,iBAAiB,EAAE,YAAY;YAC/B,WAAW,EAAE,qBAAqB,CAAC,MAAM,GAAG,CAAC;YAC7C,mBAAmB,EAAE,OAAO,CAAC,oBAAoB,IAAI,CAAC;YACtD,2EAA2E;YAC3E,oDAAoD;YACpD,WAAW;YACX,oBAAoB;SACrB,CAAC,CAAC;QAEH,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,iCAAiC,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;QAE9F,MAAM,QAAQ,GAAG,gBAAgB;YAC/B,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,YAAY;gBACZ,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,wBAAwB;oBACxB,CAAC,CAAC,gBAAgB;oBAClB,oEAAoE;oBACpE,sEAAsE;oBACtE,gEAAgE;oBAChE,qEAAqE;oBACrE,6BAA6B;oBAC7B,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,SAAS,IAAI,eAAe,KAAK,KAAK;wBAClE,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,SAAS;4BACrC,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,WAAW,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC;YACnB,IAAI,EAAE,kBAAkB;YACxB,OAAO;YACP,MAAM,EAAE,uBAAuB,SAAS,gBAAgB,QAAQ,EAAE;SACnE,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,6EAA6E;QAC7E,yEAAyE;QACzE,0EAA0E;QAC1E,EAAE;QACF,0EAA0E;QAC1E,8EAA8E;QAC9E,6EAA6E;QAC7E,6EAA6E;QAC7E,yEAAyE;QACzE,EAAE;QACF,2EAA2E;QAC3E,6EAA6E;QAC7E,wEAAwE;QACxE,6EAA6E;QAC7E,qEAAqE;QACrE,MAAM,8BAA8B,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,oBAAoB,IAAI,CAAC,EAAE;YAC3F,WAAW;YACX,oBAAoB;SACrB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACzB,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,4BAA4B;QAC5B,EAAE;QACF,8DAA8D;QAC9D,6EAA6E;QAC7E,wDAAwD;QACxD,GAAG,CAAC,IAAI,CACN,qBAAqB,SAAS,sBAAsB;YAC1D,GAAG,qBAAqB,CAAC,SAAS,CAAC,uDAAuD,CACrF,CAAC;IACJ,CAAC;SAAM,IAAI,eAAe,EAAE,CAAC;QAC3B,0EAA0E;QAC1E,6EAA6E;QAC7E,2EAA2E;QAC3E,6EAA6E;QAC7E,4EAA4E;QAC5E,yEAAyE;QACzE,qDAAqD;QACrD,GAAG,CAAC,IAAI,CACN,qBAAqB,SAAS,6DAA6D;YAC3F,wGAAwG,CACzG,CAAC;IACJ,CAAC;SAAM,IAAI,eAAe,EAAE,CAAC;QAC3B,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,6EAA6E;QAC7E,2EAA2E;QAC3E,GAAG,CAAC,IAAI,CACN,qBAAqB,SAAS,+DAA+D;YAC7F,qHAAqH,CACtH,CAAC;IACJ,CAAC;SAAM,IAAI,iBAAiB,EAAE,CAAC;QAC7B,0EAA0E;QAC1E,uEAAuE;QACvE,6EAA6E;QAC7E,+EAA+E;QAC/E,qEAAqE;QACrE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,6CAA6C,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,wEAAwE;YACxE,MAAM,gCAAgC,CAAC,IAAI,EAAE,aAAa,EAAE;gBAC1D,UAAU;gBACV,gBAAgB,EAAE,gBAAgB,IAAI,IAAI;gBAC1C,MAAM;aACP,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,uEAAuE;YACvE,+DAA+D;YAC/D,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxC,GAAG,CAAC,IAAI,CACN,qBAAqB,SAAS,mEAAmE,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,sEAAsE;QACtE,kEAAkE;QAClE,uEAAuE;QACvE,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,MAAM,GAAG,WAAW,KAAK,QAAQ;YACrC,CAAC,CAAC,GAAG,WAAW,kCAAkC;YAClD,CAAC,CAAC,CAAC,SAAS;gBACV,CAAC,CAAC,6BAA6B;gBAC/B,CAAC,CAAC,2GAA2G,CAAC;QAClH,GAAG,CAAC,IAAI,CACN,qBAAqB,SAAS,qCAAqC,MAAM,IAAI;YAC7E,sEAAsE;YACtE,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,8EAA8E;IAC9E,0EAA0E;IAC1E,0EAA0E;IAC1E,mEAAmE;IACnE,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,SAAS,IAAI,gBAAgB,EAAE,CAAC;QAClC,MAAM,8BAA8B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,SAAS,IAAI,CAAC,YAAY,IAAI,wBAAwB,EAAE,CAAC;QAC3D,MAAM,uBAAuB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* @module completion/review-exit-progress
|
|
19
19
|
*/
|
|
20
20
|
import { type ReviewCycleState } from './review-cycle-delta.js';
|
|
21
|
-
import { type HandoffBoundDeps, type ReviewExitEscalationContext } from './review-exit-escalations.js';
|
|
21
|
+
import { type HandoffBoundDeps, type ReviewExitEscalationContext, type ReviewFiledFindingSummary } from './review-exit-escalations.js';
|
|
22
22
|
/**
|
|
23
23
|
* Given a routed review exit's cycle state, either reset the durable hand-off
|
|
24
24
|
* counter (real progress) or drive it toward the terminating cap (no delta).
|
|
@@ -26,5 +26,9 @@ import { type HandoffBoundDeps, type ReviewExitEscalationContext } from './revie
|
|
|
26
26
|
*/
|
|
27
27
|
export declare function resolveReviewCycleProgress(deps: HandoffBoundDeps, ctx: ReviewExitEscalationContext, state: ReviewCycleState & {
|
|
28
28
|
currentHandoffCount: number;
|
|
29
|
+
/** The exiting session's type -- gates the no-delta counter advance (review-pass only). */
|
|
30
|
+
sessionType?: 'coding' | 'review';
|
|
31
|
+
/** Open blocking review-filed findings, enumerated if the no-delta cycle exhausts the cap. */
|
|
32
|
+
openBlockingFindings?: ReviewFiledFindingSummary[];
|
|
29
33
|
}): Promise<boolean>;
|
|
30
34
|
//# sourceMappingURL=review-exit-progress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-progress.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,
|
|
1
|
+
{"version":3,"file":"review-exit-progress.d.ts","sourceRoot":"","sources":["../../src/completion/review-exit-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC/B,MAAM,8BAA8B,CAAC;AAKtC;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE,2BAA2B,EAChC,KAAK,EAAE,gBAAgB,GAAG;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAClC,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,yBAAyB,EAAE,CAAC;CACpD,GACA,OAAO,CAAC,OAAO,CAAC,CAwBlB"}
|
|
@@ -43,7 +43,11 @@ export async function resolveReviewCycleProgress(deps, ctx, state) {
|
|
|
43
43
|
// Routed a status but changed nothing (a no-delta round trip). Do NOT rearm the
|
|
44
44
|
// cap -- drive the durable counter toward it; at the cap the terminator closes
|
|
45
45
|
// the review window and files exactly one review_handoff_exhausted escalation.
|
|
46
|
-
await recordHandoffAndMaybeTerminate(deps, ctx, state.currentHandoffCount, {
|
|
46
|
+
await recordHandoffAndMaybeTerminate(deps, ctx, state.currentHandoffCount, {
|
|
47
|
+
trigger: 'no_delta_cycle',
|
|
48
|
+
sessionType: state.sessionType,
|
|
49
|
+
openBlockingFindings: state.openBlockingFindings,
|
|
50
|
+
});
|
|
47
51
|
return false;
|
|
48
52
|
}
|
|
49
53
|
//# sourceMappingURL=review-exit-progress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-progress.js","sourceRoot":"","sources":["../../src/completion/review-exit-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,wBAAwB,EAAyB,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EACL,8BAA8B,
|
|
1
|
+
{"version":3,"file":"review-exit-progress.js","sourceRoot":"","sources":["../../src/completion/review-exit-progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,wBAAwB,EAAyB,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EACL,8BAA8B,GAI/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAsB,EACtB,GAAgC,EAChC,KAMC;IAED,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,KAAK,EAAE,CAAC;QACV,+EAA+E;QAC/E,IAAI,IAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CACN,yDAAyD,GAAG,CAAC,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CACrG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,gFAAgF;IAChF,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,8BAA8B,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,mBAAmB,EAAE;QACzE,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;KACjD,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -36,6 +36,17 @@ export interface CascadeDeps {
|
|
|
36
36
|
getFocusDeliveries: (focusId: string) => Promise<FocusDeliveryInfo[]>;
|
|
37
37
|
setReviewRequestedAt: (focusId: string, isoTimestamp: string) => Promise<void>;
|
|
38
38
|
clearReviewRequestedAt: (focusId: string) => Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* True when a review session for this focus is currently running. Consulted
|
|
41
|
+
* before clearing review_requested_at so the cascade never orphans a live
|
|
42
|
+
* review's window. Mirrors the directive-executor's live-review guard
|
|
43
|
+
* (directive-dispatch.ts), which reads the same active-team sessionType.
|
|
44
|
+
*
|
|
45
|
+
* Optional: present in the default deps so production ALWAYS defers to a live
|
|
46
|
+
* review; a partial test deps object omitting it clears as before (no active
|
|
47
|
+
* review), so pre-existing cascade fixtures are unaffected.
|
|
48
|
+
*/
|
|
49
|
+
isReviewSessionActive?: (focusId: string) => boolean;
|
|
39
50
|
}
|
|
40
51
|
/**
|
|
41
52
|
* Whether a settle sweep's outcome permits latching the focus as swept (quiet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-cascade.d.ts","sourceRoot":"","sources":["../../src/completion/state-cascade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"state-cascade.d.ts","sourceRoot":"","sources":["../../src/completion/state-cascade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAS3D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAarF,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CACtD;AAmCD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAExE;AAcD;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,IAAI,CAGxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,mBAAmB,EAC1B,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,mBAAmB,EAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAiDf;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmG1E"}
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
*/
|
|
30
30
|
import { DELIVERY_STATUS } from '@telora/daemon-core';
|
|
31
31
|
import { getActiveFocuses } from '../queries/focus-discovery.js';
|
|
32
|
+
import { getActiveTeams } from '../focus/focus-team-state.js';
|
|
32
33
|
import { getFocusDeliveries as _getFocusDeliveries, setReviewRequestedAt as _setReviewRequestedAt, clearReviewRequestedAt as _clearReviewRequestedAt, } from '../queries/focuses.js';
|
|
33
34
|
import { configForProduct } from '../shell/config.js';
|
|
34
35
|
import { sweepAnchoredInjectionsOnSettle, } from './settle-injection-sweep.js';
|
|
@@ -43,6 +44,7 @@ const defaultDeps = {
|
|
|
43
44
|
getFocusDeliveries: _getFocusDeliveries,
|
|
44
45
|
setReviewRequestedAt: _setReviewRequestedAt,
|
|
45
46
|
clearReviewRequestedAt: _clearReviewRequestedAt,
|
|
47
|
+
isReviewSessionActive: (focusId) => getActiveTeams().get(focusId)?.sessionType === 'review',
|
|
46
48
|
};
|
|
47
49
|
/**
|
|
48
50
|
* Per-focus signature of the delivery aggregate at the moment auto-review was
|
|
@@ -181,6 +183,22 @@ export async function clearStaleReviewRequest(focusId, phase, reviewRequestedAt,
|
|
|
181
183
|
return;
|
|
182
184
|
if (phase !== 'coding' && phase !== 'kickoff' && phase !== 'winding_down')
|
|
183
185
|
return;
|
|
186
|
+
// A live review OWNS its window. While a review session for this focus is
|
|
187
|
+
// still running, review_requested_at must not be cleared by this cascade --
|
|
188
|
+
// clearing it mid-review orphans the review's findings, because the
|
|
189
|
+
// review-exit handler early-returns when the flag reads null and routes
|
|
190
|
+
// nothing (the 2026-08-27 TEL-6 incident: this clear fired 2m31s into a live
|
|
191
|
+
// review). The distinction is already made one step away in the same poll:
|
|
192
|
+
// the directive-executor declines to retask a focus whose active team is a
|
|
193
|
+
// review session (directive-dispatch.ts). Defer here for the same reason. The
|
|
194
|
+
// window is cleared only once no review session owns it -- a later poll,
|
|
195
|
+
// after the review team has exited (and its exit handler has read the flag),
|
|
196
|
+
// still finds the stale flag and clears it then.
|
|
197
|
+
if (deps.isReviewSessionActive?.(focusId)) {
|
|
198
|
+
log.info(`[state-cascade] Deferring stale review_requested_at clear on focus ${focusId} ` +
|
|
199
|
+
`(phase ${phase}): a review session still owns the window`);
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
184
202
|
const cause = phase === 'winding_down'
|
|
185
203
|
? 'all deliveries terminal, zero verify -- nothing left to review'
|
|
186
204
|
: 'delivery regression';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-cascade.js","sourceRoot":"","sources":["../../src/completion/state-cascade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,kBAAkB,IAAI,mBAAmB,EACzC,oBAAoB,IAAI,qBAAqB,EAC7C,sBAAsB,IAAI,uBAAuB,GAClD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,+BAA+B,GAEhC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAA4B,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"state-cascade.js","sourceRoot":"","sources":["../../src/completion/state-cascade.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,6 +130,21 @@ export interface ReconcilerReviewState {
|
|
|
130
130
|
* so every caller and test that predates attribution is unchanged.
|
|
131
131
|
*/
|
|
132
132
|
gapsAttribution?: 'targeted' | 'not_targeted' | 'unresolvable';
|
|
133
|
+
/**
|
|
134
|
+
* SHAPE-B DURABILITY (done re-open on EVIDENCE, not the exiting session's
|
|
135
|
+
* verdict): whether THIS delivery -- already `done` -- owns an OPEN, BLOCKING,
|
|
136
|
+
* REVIEW-FILED gap, resolved focus-wide from the non-lossy review-filed id set
|
|
137
|
+
* at the call site. It re-opens a done delivery even without the exiting
|
|
138
|
+
* session's own gaps_found verdict, so a finding a review filed while the
|
|
139
|
+
* delivery was still in verify remains routable once the delivery has advanced
|
|
140
|
+
* to done (the verify/done asymmetry). Only consulted in the DONE case, and
|
|
141
|
+
* ALWAYS alongside hasBlockingOpenWork so an already-closed gap never churns a
|
|
142
|
+
* settled delivery. A HUMAN-filed backlog item is excluded by construction (it
|
|
143
|
+
* is not in the review-filed set), so a stray open issue cannot re-open a
|
|
144
|
+
* settled delivery. Absent => the pre-durability behaviour (only the verdict
|
|
145
|
+
* path re-opens a done delivery).
|
|
146
|
+
*/
|
|
147
|
+
reviewFiledBlockingOnDone?: boolean;
|
|
133
148
|
}
|
|
134
149
|
export interface ReconcileInput {
|
|
135
150
|
currentStatus: ExecutionStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-reconciler.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery-reconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,yDAAyD;AACzD,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,YAAY,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAAC;IAC3C;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,CAAC,EAAE,UAAU,GAAG,cAAc,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery-reconciler.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery-reconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,yDAAyD;AACzD,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,YAAY,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAAC;IAC3C;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,CAAC,EAAE,UAAU,GAAG,cAAc,GAAG,cAAc,CAAC;IAC/D;;;;;;;;;;;;;OAaG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,eAAe,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACvC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,YAAY,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC3C;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,4FAA4F;IAC5F,MAAM,EAAE,eAAe,CAAC;IACxB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAIrF;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAE3E;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAGnF;AAOD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC;AAcjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CA6L9E"}
|
|
@@ -302,6 +302,19 @@ export function reconcileDeliveryStatus(input) {
|
|
|
302
302
|
hasBlockingOpenWork(issues)) {
|
|
303
303
|
return result(currentStatus, DELIVERY_STATUS.VERIFY_FAILED, 'gaps_found targets this done delivery with open work -> re-open to verify_failed');
|
|
304
304
|
}
|
|
305
|
+
// Shape B durability: re-open a done delivery that owns an OPEN, BLOCKING,
|
|
306
|
+
// REVIEW-FILED gap even without the EXITING session's own gaps_found
|
|
307
|
+
// verdict. A finding a review filed while the delivery was in verify is
|
|
308
|
+
// still routable once the delivery has advanced to done -- this removes the
|
|
309
|
+
// verify/done asymmetry (a finding that missed its window was previously
|
|
310
|
+
// unreachable). reviewFiledBlockingOnDone already means the delivery owns an
|
|
311
|
+
// open blocking review-filed gap; hasBlockingOpenWork is the corroborating
|
|
312
|
+
// guard so a closed gap does not churn a settled delivery, and the
|
|
313
|
+
// review-filed restriction (encoded in the flag) keeps a human-filed
|
|
314
|
+
// backlog item from re-opening it.
|
|
315
|
+
if (reviewState?.reviewFiledBlockingOnDone && hasBlockingOpenWork(issues)) {
|
|
316
|
+
return result(currentStatus, DELIVERY_STATUS.VERIFY_FAILED, 'review-filed blocking gap on a done delivery -> re-open to verify_failed (evidence, not verdict)');
|
|
317
|
+
}
|
|
305
318
|
return result(currentStatus, currentStatus, 'done is terminal -> stay');
|
|
306
319
|
}
|
|
307
320
|
// draft / planning / cancelled: not driven by the issue-rollup reconciler.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-reconciler.js","sourceRoot":"","sources":["../../src/delivery/delivery-reconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery-reconciler.js","sourceRoot":"","sources":["../../src/delivery/delivery-reconciler.ts"],"names":[],"mappings":"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"}
|