@generacy-ai/orchestrator 0.7.0 → 0.9.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/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +47 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +459 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +13 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/launcher/agent-launcher.d.ts +15 -16
- package/dist/launcher/agent-launcher.d.ts.map +1 -1
- package/dist/launcher/agent-launcher.js +54 -23
- package/dist/launcher/agent-launcher.js.map +1 -1
- package/dist/launcher/constants.d.ts +5 -0
- package/dist/launcher/constants.d.ts.map +1 -0
- package/dist/launcher/constants.js +5 -0
- package/dist/launcher/constants.js.map +1 -0
- package/dist/launcher/errors.d.ts +15 -0
- package/dist/launcher/errors.d.ts.map +1 -0
- package/dist/launcher/errors.js +25 -0
- package/dist/launcher/errors.js.map +1 -0
- package/dist/launcher/generic-subprocess-plugin.d.ts +1 -0
- package/dist/launcher/generic-subprocess-plugin.d.ts.map +1 -1
- package/dist/launcher/generic-subprocess-plugin.js +2 -0
- package/dist/launcher/generic-subprocess-plugin.js.map +1 -1
- package/dist/launcher/index.d.ts +2 -1
- package/dist/launcher/index.d.ts.map +1 -1
- package/dist/launcher/index.js +1 -0
- package/dist/launcher/index.js.map +1 -1
- package/dist/launcher/types.d.ts +81 -4
- package/dist/launcher/types.d.ts.map +1 -1
- package/dist/routes/health.d.ts +7 -0
- package/dist/routes/health.d.ts.map +1 -1
- package/dist/routes/health.js +5 -0
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/internal-relay-events.d.ts +2 -2
- package/dist/routes/internal-relay-events.d.ts.map +1 -1
- package/dist/routes/internal-relay-events.js +12 -0
- package/dist/routes/internal-relay-events.js.map +1 -1
- package/dist/routes/retained-tunnel-event.d.ts +20 -0
- package/dist/routes/retained-tunnel-event.d.ts.map +1 -0
- package/dist/routes/retained-tunnel-event.js +67 -0
- package/dist/routes/retained-tunnel-event.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +168 -27
- package/dist/server.js.map +1 -1
- package/dist/services/adaptive-poll-controller.d.ts +75 -0
- package/dist/services/adaptive-poll-controller.d.ts.map +1 -0
- package/dist/services/adaptive-poll-controller.js +96 -0
- package/dist/services/adaptive-poll-controller.js.map +1 -0
- package/dist/services/clarification-answer-monitor-service.d.ts +71 -0
- package/dist/services/clarification-answer-monitor-service.d.ts.map +1 -0
- package/dist/services/clarification-answer-monitor-service.js +366 -0
- package/dist/services/clarification-answer-monitor-service.js.map +1 -0
- package/dist/services/failure-fingerprint-tracker.d.ts +28 -0
- package/dist/services/failure-fingerprint-tracker.d.ts.map +1 -0
- package/dist/services/failure-fingerprint-tracker.js +38 -0
- package/dist/services/failure-fingerprint-tracker.js.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/label-monitor-service.d.ts +2 -2
- package/dist/services/label-monitor-service.d.ts.map +1 -1
- package/dist/services/label-monitor-service.js +33 -16
- package/dist/services/label-monitor-service.js.map +1 -1
- package/dist/services/merge-conflict-monitor-service.d.ts +1 -1
- package/dist/services/merge-conflict-monitor-service.d.ts.map +1 -1
- package/dist/services/merge-conflict-monitor-service.js +33 -13
- package/dist/services/merge-conflict-monitor-service.js.map +1 -1
- package/dist/services/post-activation-retry.d.ts +3 -0
- package/dist/services/post-activation-retry.d.ts.map +1 -1
- package/dist/services/post-activation-retry.js +34 -2
- package/dist/services/post-activation-retry.js.map +1 -1
- package/dist/services/pr-feedback-monitor-service.d.ts +1 -1
- package/dist/services/pr-feedback-monitor-service.d.ts.map +1 -1
- package/dist/services/pr-feedback-monitor-service.js +33 -16
- package/dist/services/pr-feedback-monitor-service.js.map +1 -1
- package/dist/services/relay-bridge.d.ts +1 -0
- package/dist/services/relay-bridge.d.ts.map +1 -1
- package/dist/services/relay-bridge.js +21 -0
- package/dist/services/relay-bridge.js.map +1 -1
- package/dist/services/smee-channel-resolver.d.ts +60 -0
- package/dist/services/smee-channel-resolver.d.ts.map +1 -0
- package/dist/services/smee-channel-resolver.js +177 -0
- package/dist/services/smee-channel-resolver.js.map +1 -0
- package/dist/services/webhook-setup-service.d.ts +115 -111
- package/dist/services/webhook-setup-service.d.ts.map +1 -1
- package/dist/services/webhook-setup-service.js +377 -209
- package/dist/services/webhook-setup-service.js.map +1 -1
- package/dist/types/api.d.ts +3 -0
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/api.js +1 -0
- package/dist/types/api.js.map +1 -1
- package/dist/types/monitor.d.ts +15 -2
- package/dist/types/monitor.d.ts.map +1 -1
- package/dist/worker/clarification-markers.d.ts +62 -0
- package/dist/worker/clarification-markers.d.ts.map +1 -1
- package/dist/worker/clarification-markers.js +101 -0
- package/dist/worker/clarification-markers.js.map +1 -1
- package/dist/worker/clarification-poster.d.ts +102 -6
- package/dist/worker/clarification-poster.d.ts.map +1 -1
- package/dist/worker/clarification-poster.js +299 -89
- package/dist/worker/clarification-poster.js.map +1 -1
- package/dist/worker/claude-cli-worker.d.ts +7 -0
- package/dist/worker/claude-cli-worker.d.ts.map +1 -1
- package/dist/worker/claude-cli-worker.js +7 -3
- package/dist/worker/claude-cli-worker.js.map +1 -1
- package/dist/worker/cli-spawner.d.ts.map +1 -1
- package/dist/worker/cli-spawner.js +2 -0
- package/dist/worker/cli-spawner.js.map +1 -1
- package/dist/worker/config.d.ts +396 -0
- package/dist/worker/config.d.ts.map +1 -1
- package/dist/worker/config.js +142 -0
- package/dist/worker/config.js.map +1 -1
- package/dist/worker/failure-fingerprint.d.ts +41 -0
- package/dist/worker/failure-fingerprint.d.ts.map +1 -0
- package/dist/worker/failure-fingerprint.js +75 -0
- package/dist/worker/failure-fingerprint.js.map +1 -0
- package/dist/worker/label-manager.d.ts +42 -0
- package/dist/worker/label-manager.d.ts.map +1 -1
- package/dist/worker/label-manager.js +108 -4
- package/dist/worker/label-manager.js.map +1 -1
- package/dist/worker/phase-loop.d.ts +30 -0
- package/dist/worker/phase-loop.d.ts.map +1 -1
- package/dist/worker/phase-loop.js +158 -27
- package/dist/worker/phase-loop.js.map +1 -1
- package/dist/worker/pr-feedback-handler.d.ts +13 -0
- package/dist/worker/pr-feedback-handler.d.ts.map +1 -1
- package/dist/worker/pr-feedback-handler.js +58 -3
- package/dist/worker/pr-feedback-handler.js.map +1 -1
- package/dist/worker/stage-comment-manager.d.ts +5 -0
- package/dist/worker/stage-comment-manager.d.ts.map +1 -1
- package/dist/worker/stage-comment-manager.js +8 -1
- package/dist/worker/stage-comment-manager.js.map +1 -1
- package/dist/worker/terminal-label-op-error.d.ts +1 -1
- package/dist/worker/terminal-label-op-error.d.ts.map +1 -1
- package/dist/worker/terminal-label-op-error.js.map +1 -1
- package/dist/worker/types.d.ts +51 -0
- package/dist/worker/types.d.ts.map +1 -1
- package/dist/worker/types.js +11 -0
- package/dist/worker/types.js.map +1 -1
- package/package.json +11 -7
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #942: Failure fingerprint primitive.
|
|
3
|
+
*
|
|
4
|
+
* `computeFailureFingerprint({ phase, evidence })` returns a stable
|
|
5
|
+
* 16-char lowercase hex sha256 prefix that is byte-identical across worker
|
|
6
|
+
* invocations for the same underlying defect (same phase + classifier +
|
|
7
|
+
* reason text). It is the load-bearing invariant for repeat-failure detection.
|
|
8
|
+
*
|
|
9
|
+
* `parseFailureAlertMarker(commentBody)` reads line 1 of a previously-posted
|
|
10
|
+
* failure-alert comment and returns the fingerprint + occurrence when the v2
|
|
11
|
+
* sibling marker (`<!-- fp:HEX:N -->`) is present, or `null` when it's absent
|
|
12
|
+
* (v1 / pre-#942 comments). Never throws.
|
|
13
|
+
*/
|
|
14
|
+
import { createHash } from 'node:crypto';
|
|
15
|
+
import { FAILURE_ALERT_MARKER_V2_REGEX } from './types.js';
|
|
16
|
+
/** Q3→A: escalate on the 2nd same-fingerprint failure. */
|
|
17
|
+
export const REPEAT_FAILURE_THRESHOLD = 2;
|
|
18
|
+
/** Q1→B: hex prefix length. 16 chars = 64 bits — sufficient for per-issue scan. */
|
|
19
|
+
export const FINGERPRINT_HEX_LENGTH = 16;
|
|
20
|
+
/** Extraction patterns for the classifier substring inside `evidence.exitDescriptor`. */
|
|
21
|
+
const POST_EXIT_REGEX = /^failed post-exit: ([^ ]+) \(process exit \d+\)$/;
|
|
22
|
+
const KILLED_REGEX = /^killed \(SIGTERM\) after \d+ms$/;
|
|
23
|
+
const ABORTED_REGEX = /^aborted$/;
|
|
24
|
+
const EXIT_N_REGEX = /^exit (\d+)$/;
|
|
25
|
+
/**
|
|
26
|
+
* Extract the classifier substring per contract §Semantics step 1.
|
|
27
|
+
*
|
|
28
|
+
* Defensive fallback (F-1): if none of the four patterns match, return the
|
|
29
|
+
* literal `exitDescriptor` string so the fingerprint is still deterministic.
|
|
30
|
+
*/
|
|
31
|
+
function extractClassifier(exitDescriptor) {
|
|
32
|
+
const postExitMatch = POST_EXIT_REGEX.exec(exitDescriptor);
|
|
33
|
+
if (postExitMatch)
|
|
34
|
+
return postExitMatch[1];
|
|
35
|
+
if (KILLED_REGEX.test(exitDescriptor))
|
|
36
|
+
return 'timeout';
|
|
37
|
+
if (ABORTED_REGEX.test(exitDescriptor))
|
|
38
|
+
return 'aborted';
|
|
39
|
+
const exitNMatch = EXIT_N_REGEX.exec(exitDescriptor);
|
|
40
|
+
if (exitNMatch)
|
|
41
|
+
return `exit-${exitNMatch[1]}`;
|
|
42
|
+
return exitDescriptor;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Compute the fingerprint per contract §Semantics.
|
|
46
|
+
*
|
|
47
|
+
* `sha256(phase + '\x00' + classifier + '\x00' + reasonText).slice(0, 16)`
|
|
48
|
+
* — hex, lowercase. Null-byte joiner prevents field-boundary collisions.
|
|
49
|
+
*/
|
|
50
|
+
export function computeFailureFingerprint(input) {
|
|
51
|
+
const classifier = extractClassifier(input.evidence.exitDescriptor);
|
|
52
|
+
const reasonText = input.evidence.reason ?? input.evidence.outputTail;
|
|
53
|
+
const material = `${input.phase}\x00${classifier}\x00${reasonText}`;
|
|
54
|
+
return createHash('sha256')
|
|
55
|
+
.update(material)
|
|
56
|
+
.digest('hex')
|
|
57
|
+
.slice(0, FINGERPRINT_HEX_LENGTH);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Parse the v2 marker on line 1 of a failure-alert comment body.
|
|
61
|
+
*
|
|
62
|
+
* Returns `null` for v1 (pre-#942) comments, malformed markers, or bodies
|
|
63
|
+
* where line 1 does not contain the v2 sibling marker. Never throws.
|
|
64
|
+
*/
|
|
65
|
+
export function parseFailureAlertMarker(commentBody) {
|
|
66
|
+
const firstLine = commentBody.split('\n', 1)[0] ?? '';
|
|
67
|
+
const match = FAILURE_ALERT_MARKER_V2_REGEX.exec(firstLine);
|
|
68
|
+
if (!match)
|
|
69
|
+
return null;
|
|
70
|
+
const occurrence = Number.parseInt(match[2], 10);
|
|
71
|
+
if (!Number.isFinite(occurrence))
|
|
72
|
+
return null;
|
|
73
|
+
return { fingerprint: match[1], occurrence };
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=failure-fingerprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failure-fingerprint.js","sourceRoot":"","sources":["../../src/worker/failure-fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAE3D,0DAA0D;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,mFAAmF;AACnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,yFAAyF;AACzF,MAAM,eAAe,GAAG,kDAAkD,CAAC;AAC3E,MAAM,YAAY,GAAG,kCAAkC,CAAC;AACxD,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,MAAM,YAAY,GAAG,cAAc,CAAC;AAEpC;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,cAAsB;IAC/C,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,CAAC,CAAE,CAAC;IAC5C,IAAI,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IACzD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrD,IAAI,UAAU;QAAE,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,OAAO,cAAc,CAAC;AACxB,CAAC;AAOD;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAA8B;IAE9B,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;IACtE,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,KAAK,OAAO,UAAU,OAAO,UAAU,EAAE,CAAC;IACpE,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,QAAQ,CAAC;SAChB,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;AACtC,CAAC;AAOD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAAmB;IAEnB,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,UAAU,EAAE,CAAC;AAChD,CAAC"}
|
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
import type { GitHubClient } from '@generacy-ai/workflow-engine';
|
|
2
2
|
import type { WorkflowPhase, Logger } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Closed union of legitimate writers of `completed:<human-gate>` labels.
|
|
5
|
+
*
|
|
6
|
+
* Currently a single member — `cockpit advance` (the CLI command that also
|
|
7
|
+
* posts the `<!-- generacy-cockpit:manual-advance -->` audit comment). The CLI
|
|
8
|
+
* writes labels over the wire via `gh addLabel` and does NOT invoke
|
|
9
|
+
* `LabelManager`, so this token has zero in-process call sites today; it exists
|
|
10
|
+
* as a public export for future in-process writers that will need to
|
|
11
|
+
* explicitly opt in through the seam guard.
|
|
12
|
+
*
|
|
13
|
+
* DO NOT extend without a corresponding audit-comment marker design — see
|
|
14
|
+
* #941 spec §Out-of-scope for the `ApproveReview` case (Q2 → B).
|
|
15
|
+
*/
|
|
16
|
+
export declare const AllowGateComplete: Readonly<{
|
|
17
|
+
readonly CockpitAdvance: "cockpit-advance";
|
|
18
|
+
}>;
|
|
19
|
+
export type AllowGateComplete = (typeof AllowGateComplete)[keyof typeof AllowGateComplete];
|
|
20
|
+
/**
|
|
21
|
+
* Thrown by `LabelManager.applyLabels` when a `completed:<human-gate>` label
|
|
22
|
+
* is written without an `AllowGateComplete` token. See #941.
|
|
23
|
+
*/
|
|
24
|
+
export declare class HumanGateCompletionUnauthorizedError extends Error {
|
|
25
|
+
readonly label: string;
|
|
26
|
+
readonly allowedTokens: readonly string[];
|
|
27
|
+
constructor(label: string);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Returns true when `label` is `completed:<X>` and X is a known human-gate
|
|
31
|
+
* suffix. Phase completions (`completed:implement`, `completed:validate`, …)
|
|
32
|
+
* return false because phase names are disjoint from gate suffixes.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isHumanGateCompletion(label: string): boolean;
|
|
3
35
|
/**
|
|
4
36
|
* Callback invoked from `onGateHit` after a pause label pair
|
|
5
37
|
* (`waiting-for:<gate>` + `agent:paused`) has been successfully applied.
|
|
@@ -74,6 +106,16 @@ export declare class LabelManager {
|
|
|
74
106
|
* Adds `agent:error` label and removes `phase:<current>`.
|
|
75
107
|
*/
|
|
76
108
|
onError(phase: WorkflowPhase): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* #942: Called when a phase fails with the same fingerprint N or more times
|
|
111
|
+
* (N = REPEAT_FAILURE_THRESHOLD, currently 2). Applies `failed:<phase>-repeated`
|
|
112
|
+
* IN ADDITION to (not instead of) `failed:<phase>`. The regular `onError`
|
|
113
|
+
* still fires first so pre-#942 consumers of `failed:*` remain byte-compatible.
|
|
114
|
+
*
|
|
115
|
+
* Idempotent: `applyLabels` de-dupes when the label is already present.
|
|
116
|
+
* Never removes any label (Q3→A).
|
|
117
|
+
*/
|
|
118
|
+
onRepeatedError(phase: WorkflowPhase): Promise<void>;
|
|
77
119
|
/**
|
|
78
120
|
* Called when the entire workflow completes (all phases finished).
|
|
79
121
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label-manager.d.ts","sourceRoot":"","sources":["../../src/worker/label-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"label-manager.d.ts","sourceRoot":"","sources":["../../src/worker/label-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAOxD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB;;EAEnB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE3F;;;GAGG;AACH,qBAAa,oCAAqC,SAAQ,KAAK;IAC7D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;gBAE9B,KAAK,EAAE,MAAM;CAW1B;AA8BD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAYxE;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IAkCrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAtCrC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAEzD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAoC;IAE1E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAqD;IAEjG,2DAA2D;IAC3D,MAAM,CAAC,wBAAwB,IAAI,IAAI;gBAOpB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,yBAAyB,YAAA;IAGhE;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvD;;;;OAIG;IACG,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1D;;;;OAIG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvE;;;;OAIG;IACG,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlD;;;;;;;;OAQG;IACG,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAc1D;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAezC;;;;;;OAMG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CpC;;;;;;;;;;;;OAYG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBpC;;;;;;;OAOG;YACW,qBAAqB;IAuGnC;;;;;;;;;;OAUG;YACW,WAAW;IAuCzB;;OAEG;YACW,qBAAqB;IAOnC;;;;;;;;OAQG;YACW,gBAAgB;IAsC9B;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -1,6 +1,78 @@
|
|
|
1
1
|
import { WORKFLOW_LABELS, classifyLabelProvisioningError } from '@generacy-ai/workflow-engine';
|
|
2
2
|
import { TerminalLabelOpError } from './terminal-label-op-error.js';
|
|
3
|
+
import { GATE_MAPPING, WORKFLOW_GATE_MAPPING } from './phase-resolver.js';
|
|
3
4
|
const WORKFLOW_LABEL_NAMES = new Set(WORKFLOW_LABELS.map((l) => l.name));
|
|
5
|
+
/**
|
|
6
|
+
* Closed union of legitimate writers of `completed:<human-gate>` labels.
|
|
7
|
+
*
|
|
8
|
+
* Currently a single member — `cockpit advance` (the CLI command that also
|
|
9
|
+
* posts the `<!-- generacy-cockpit:manual-advance -->` audit comment). The CLI
|
|
10
|
+
* writes labels over the wire via `gh addLabel` and does NOT invoke
|
|
11
|
+
* `LabelManager`, so this token has zero in-process call sites today; it exists
|
|
12
|
+
* as a public export for future in-process writers that will need to
|
|
13
|
+
* explicitly opt in through the seam guard.
|
|
14
|
+
*
|
|
15
|
+
* DO NOT extend without a corresponding audit-comment marker design — see
|
|
16
|
+
* #941 spec §Out-of-scope for the `ApproveReview` case (Q2 → B).
|
|
17
|
+
*/
|
|
18
|
+
export const AllowGateComplete = Object.freeze({
|
|
19
|
+
CockpitAdvance: 'cockpit-advance',
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* Thrown by `LabelManager.applyLabels` when a `completed:<human-gate>` label
|
|
23
|
+
* is written without an `AllowGateComplete` token. See #941.
|
|
24
|
+
*/
|
|
25
|
+
export class HumanGateCompletionUnauthorizedError extends Error {
|
|
26
|
+
label;
|
|
27
|
+
allowedTokens;
|
|
28
|
+
constructor(label) {
|
|
29
|
+
super(`refused to add "${label}": ` +
|
|
30
|
+
`writing completed:<human-gate> requires an AllowGateComplete token ` +
|
|
31
|
+
`(none passed). Only the cockpit-advance path may complete a human ` +
|
|
32
|
+
`gate. See #941.`);
|
|
33
|
+
this.name = 'HumanGateCompletionUnauthorizedError';
|
|
34
|
+
this.label = label;
|
|
35
|
+
this.allowedTokens = Object.values(AllowGateComplete);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Human gates that live in `WorkerConfigSchema.gates` defaults but do not
|
|
40
|
+
* appear in the `phase-resolver.ts` `GATE_MAPPING` / `WORKFLOW_GATE_MAPPING`
|
|
41
|
+
* (they have no `resumeFrom` phase — they resume back to their own phase).
|
|
42
|
+
* Kept as a small static supplement so the guard reads a single deterministic
|
|
43
|
+
* source (not `WorkerConfigSchema.gates`, which is mutable per repo).
|
|
44
|
+
*/
|
|
45
|
+
const SUPPLEMENTAL_HUMAN_GATE_SUFFIXES = [
|
|
46
|
+
'sibling-review',
|
|
47
|
+
'merge-conflicts',
|
|
48
|
+
];
|
|
49
|
+
/**
|
|
50
|
+
* Set of gate suffixes — the "X" in `completed:X` / `waiting-for:X` — that
|
|
51
|
+
* denote a human review gate (not a workflow phase). Derived from
|
|
52
|
+
* `GATE_MAPPING` and every `WORKFLOW_GATE_MAPPING[*]` plus the supplemental
|
|
53
|
+
* static list so a repo-level workflow override cannot silently expand or
|
|
54
|
+
* shrink the guarded set.
|
|
55
|
+
*/
|
|
56
|
+
const HUMAN_GATE_SUFFIXES = (() => {
|
|
57
|
+
const s = new Set(Object.keys(GATE_MAPPING));
|
|
58
|
+
for (const map of Object.values(WORKFLOW_GATE_MAPPING)) {
|
|
59
|
+
for (const gateName of Object.keys(map))
|
|
60
|
+
s.add(gateName);
|
|
61
|
+
}
|
|
62
|
+
for (const suffix of SUPPLEMENTAL_HUMAN_GATE_SUFFIXES)
|
|
63
|
+
s.add(suffix);
|
|
64
|
+
return s;
|
|
65
|
+
})();
|
|
66
|
+
/**
|
|
67
|
+
* Returns true when `label` is `completed:<X>` and X is a known human-gate
|
|
68
|
+
* suffix. Phase completions (`completed:implement`, `completed:validate`, …)
|
|
69
|
+
* return false because phase names are disjoint from gate suffixes.
|
|
70
|
+
*/
|
|
71
|
+
export function isHumanGateCompletion(label) {
|
|
72
|
+
if (!label.startsWith('completed:'))
|
|
73
|
+
return false;
|
|
74
|
+
return HUMAN_GATE_SUFFIXES.has(label.slice('completed:'.length));
|
|
75
|
+
}
|
|
4
76
|
function extractStderr(error) {
|
|
5
77
|
if (error instanceof Error)
|
|
6
78
|
return error.message;
|
|
@@ -103,13 +175,17 @@ export class LabelManager {
|
|
|
103
175
|
*/
|
|
104
176
|
async onGateHit(phase, gateLabel) {
|
|
105
177
|
const phaseLabel = `phase:${phase}`;
|
|
106
|
-
|
|
178
|
+
// #958 FR-008 — `completed:<phase>` is applied AFTER the gate check in
|
|
179
|
+
// phase-loop.ts, so it is never present when this handler runs. Do NOT
|
|
180
|
+
// add it back to `removeLabels` — the paired T011 reorder ensures the
|
|
181
|
+
// label was never granted; a retract call here would be dead code, and
|
|
182
|
+
// future readers seeing "why isn't it removing completed?" should read
|
|
183
|
+
// this comment before re-adding it.
|
|
107
184
|
await this.retryWithBackoff(async () => {
|
|
108
185
|
await this.ensureRepoLabelsExist();
|
|
109
|
-
this.logger.info({ phase, gateLabel, issue: this.issueNumber }, `Gate hit: removing ${phaseLabel}
|
|
186
|
+
this.logger.info({ phase, gateLabel, issue: this.issueNumber }, `Gate hit: removing ${phaseLabel}, adding ${gateLabel} and agent:paused`);
|
|
110
187
|
await this.github.removeLabels(this.owner, this.repo, this.issueNumber, [
|
|
111
188
|
phaseLabel,
|
|
112
|
-
completedLabel,
|
|
113
189
|
]);
|
|
114
190
|
await this.applyLabels([gateLabel, 'agent:paused']);
|
|
115
191
|
}, { site: 'gate-hit', labelOp: `addLabels([${gateLabel}, agent:paused])` });
|
|
@@ -151,6 +227,23 @@ export class LabelManager {
|
|
|
151
227
|
await this.applyLabels([failedLabel, 'agent:error']);
|
|
152
228
|
}, { site: 'error', labelOp: `addLabels([${failedLabel}, agent:error])` });
|
|
153
229
|
}
|
|
230
|
+
/**
|
|
231
|
+
* #942: Called when a phase fails with the same fingerprint N or more times
|
|
232
|
+
* (N = REPEAT_FAILURE_THRESHOLD, currently 2). Applies `failed:<phase>-repeated`
|
|
233
|
+
* IN ADDITION to (not instead of) `failed:<phase>`. The regular `onError`
|
|
234
|
+
* still fires first so pre-#942 consumers of `failed:*` remain byte-compatible.
|
|
235
|
+
*
|
|
236
|
+
* Idempotent: `applyLabels` de-dupes when the label is already present.
|
|
237
|
+
* Never removes any label (Q3→A).
|
|
238
|
+
*/
|
|
239
|
+
async onRepeatedError(phase) {
|
|
240
|
+
const escalationLabel = `failed:${phase}-repeated`;
|
|
241
|
+
await this.retryWithBackoff(async () => {
|
|
242
|
+
await this.ensureRepoLabelsExist();
|
|
243
|
+
this.logger.info({ phase, issue: this.issueNumber, escalationLabel }, `Repeat-identical failure escalation: adding ${escalationLabel}`);
|
|
244
|
+
await this.applyLabels([escalationLabel]);
|
|
245
|
+
}, { site: 'error-repeated', labelOp: `addLabels([${escalationLabel}])` });
|
|
246
|
+
}
|
|
154
247
|
/**
|
|
155
248
|
* Called when the entire workflow completes (all phases finished).
|
|
156
249
|
*
|
|
@@ -331,7 +424,18 @@ export class LabelManager {
|
|
|
331
424
|
*
|
|
332
425
|
* All other error shapes rethrow unchanged.
|
|
333
426
|
*/
|
|
334
|
-
async applyLabels(labels) {
|
|
427
|
+
async applyLabels(labels, allow) {
|
|
428
|
+
// #941 FR-003: reject unauthorized human-gate completion adds before any
|
|
429
|
+
// network call. Rejection is per-label and atomic — if any label in the
|
|
430
|
+
// batch is a `completed:<human-gate>` without an `AllowGateComplete`
|
|
431
|
+
// token, the whole call throws with no partial write.
|
|
432
|
+
if (allow == null) {
|
|
433
|
+
for (const label of labels) {
|
|
434
|
+
if (isHumanGateCompletion(label)) {
|
|
435
|
+
throw new HumanGateCompletionUnauthorizedError(label);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
335
439
|
try {
|
|
336
440
|
await this.github.addLabels(this.owner, this.repo, this.issueNumber, labels);
|
|
337
441
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label-manager.js","sourceRoot":"","sources":["../../src/worker/label-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"label-manager.js","sourceRoot":"","sources":["../../src/worker/label-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAE/F,OAAO,EAAE,oBAAoB,EAA4B,MAAM,8BAA8B,CAAC;AAE9F,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,cAAc,EAAE,iBAAiB;CACzB,CAAC,CAAC;AAIZ;;;GAGG;AACH,MAAM,OAAO,oCAAqC,SAAQ,KAAK;IACpD,KAAK,CAAS;IACd,aAAa,CAAoB;IAE1C,YAAY,KAAa;QACvB,KAAK,CACH,mBAAmB,KAAK,KAAK;YAC3B,qEAAqE;YACrE,oEAAoE;YACpE,iBAAiB,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sCAAsC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACxD,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,gCAAgC,GAAsB;IAC1D,gBAAgB;IAChB,iBAAiB;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAwB,CAAC,GAAG,EAAE;IACrD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACvD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,gCAAgC;QAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,EAAE,CAAC;AAEL;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;AACnE,CAAC;AAeD,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,YAAY;IAkCJ;IACA;IACA;IACA;IACA;IACA;IAtCnB;;;;OAIG;IACK,MAAM,CAAU,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzD;;;;OAIG;IACK,MAAM,CAAU,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE1E;;;;;;;;OAQG;IACK,MAAM,CAAU,oBAAoB,GAAG,IAAI,GAAG,EAA0C,CAAC;IAEjG,2DAA2D;IAC3D,MAAM,CAAC,wBAAwB;QAC7B,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAClC,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QACpC,YAAY,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,YACmB,MAAoB,EACpB,KAAa,EACb,IAAY,EACZ,WAAmB,EACnB,MAAc,EACd,iBAA6C;QAL7C,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAQ;QACb,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAQ;QACnB,WAAM,GAAN,MAAM,CAAQ;QACd,sBAAiB,GAAjB,iBAAiB,CAA4B;IAC7D,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,KAAoB;QACrC,MAAM,UAAU,GAAG,SAAS,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAEzD,2DAA2D;YAC3D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;YACrE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EACnD,mCAAmC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/D,CAAC;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1F,CAAC;YAED,0BAA0B;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAC9C,uBAAuB,UAAU,EAAE,CACpC,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACvC,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,UAAU,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,KAAoB;QACxC,MAAM,UAAU,GAAG,SAAS,KAAK,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,aAAa,KAAK,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAClC,4BAA4B,UAAU,YAAY,cAAc,EAAE,CACnE,CAAC;YAEF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YACtF,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,cAAc,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,KAAoB,EAAE,SAAiB;QACrD,MAAM,UAAU,GAAG,SAAS,KAAK,EAAE,CAAC;QACpC,uEAAuE;QACvE,uEAAuE;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,uEAAuE;QACvE,oCAAoC;QACpC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAC7C,sBAAsB,UAAU,YAAY,SAAS,mBAAmB,CACzE,CAAC;YAEF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;gBACtE,UAAU;aACX,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QACtD,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,SAAS,kBAAkB,EAAE,CAAC,CAAC;QAE7E,+DAA+D;QAC/D,wEAAwE;QACxE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EACvF,uCAAuC,CACxC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;oBACE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;oBAChB,KAAK;oBACL,SAAS;oBACT,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,EACD,2DAA2D,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,KAAoB;QAChC,MAAM,UAAU,GAAG,SAAS,KAAK,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,UAAU,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAClC,4BAA4B,UAAU,kCAAkC,WAAW,kBAAkB,CACtG,CAAC;YAEF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;gBACtE,UAAU;gBACV,mBAAmB;aACpB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QACvD,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,WAAW,iBAAiB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CAAC,KAAoB;QACxC,MAAM,eAAe,GAAG,UAAU,KAAK,WAAW,CAAC;QACnD,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,EACnD,+CAA+C,eAAe,EAAE,CACjE,CAAC;YAEF,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,eAAe,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAC3B,+CAA+C,CAChD,CAAC;YAEF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;gBACtE,mBAAmB;aACpB,CAAC,CAAC;QACL,CAAC,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAClF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACnC,CAAC;YAEF,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,cAAc,CAC5D,CAAC;YAEF,wEAAwE;YACxE,gEAAgE;YAChE,wDAAwD;YACxD,MAAM,YAAY,GAAG,aAAa;iBAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;iBAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,MAAM,cAAc,GAAG,aAAa,MAAM,EAAE,CAAC;gBAC7C,IAAI,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBACvF,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EACnD,uEAAuE,CACxE,CAAC;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1F,CAAC;YAED,yDAAyD;YACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAC3B,wCAAwC,CACzC,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAChD,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzD,MAAM,cAAc,GAAG,CAAC,mBAAmB,EAAE,GAAG,aAAa,CAAC,CAAC;YAE/D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EACnD,+DAA+D,CAChE,CAAC;gBACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;oBACrC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC1F,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6CAA6C;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EACjD,4CAA4C,CAC7C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,qBAAqB;QACjC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAE/C,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,KAAK,IAA6C,EAAE;YACnE,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAE1E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,EACT,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,WAAW,CAClB,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACzD,gCAAgC,CACjC,CAAC;oBACF,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,cAAc,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAC;oBAC3D,IAAI,cAAc,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;wBAC7C,qEAAqE;wBACrE,oEAAoE;wBACpE,wEAAwE;wBACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;4BACE,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;yBACjB,EACD,sCAAsC,CACvC,CAAC;wBACF,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,uEAAuE;wBACvE,sEAAsE;wBACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf;4BACE,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;4BAChB,UAAU,EAAE,cAAc,CAAC,UAAU;4BACrC,KAAK,EAAE,cAAc,CAAC,KAAK;yBAC5B,EACD,sDAAsD,CACvD,CAAC;wBACF,MAAM,OAAO,GACX,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAA6B,CAAC;wBACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;4BACtB,KAAK,EAAE,cAAc,CAAC,KAAK;4BAC3B,UAAU,EAAE,cAAc,CAAC,UAAU;4BACrC,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;yBACzB,CAAC,CAAC;wBACH,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBACpD,iBAAiB,GAAG,IAAI,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,WAAW,GAAG,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/D,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;oBACpC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBAC3B,YAAY,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC/B,CAAC,CAAC,EAAE,CAAC;QAEL,wEAAwE;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,OAAO,CAAC;YAC5C,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,WAAW,CACvB,MAAgB,EAChB,KAAyB;QAEzB,yEAAyE;QACzE,wEAAwE;QACxE,qEAAqE;QACrE,sDAAsD;QACtD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,oCAAoC,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,GAAG,CAAC;YAEvD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;gBAAE,MAAM,GAAG,CAAC;YAEtD,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,WAAW,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,KAAK,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,GAAG,CAAC;YAExC,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC,MAAM;aAChB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAChE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,gBAAgB,CAC5B,EAAoB,EACpB,OAAqB;QAErB,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAElC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EACxG,gCAAgC,WAAW,WAAW,CACvD,CAAC;oBACF,MAAM,IAAI,oBAAoB,CAAC;wBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;wBAC9B,KAAK,EAAE,KAAK;qBACb,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EACjE,mCAAmC,OAAO,IAAI,WAAW,kBAAkB,KAAK,IAAI,CACrF,CAAC;gBAEF,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC"}
|
|
@@ -10,6 +10,7 @@ import type { PrManager } from './pr-manager.js';
|
|
|
10
10
|
import type { ValidateFixHandler } from './validate-fix-handler.js';
|
|
11
11
|
import type { ConversationLogger } from './conversation-logger.js';
|
|
12
12
|
import { type BaseMergeRunner } from './base-merge.js';
|
|
13
|
+
import type { FailureFingerprintTracker } from '../services/failure-fingerprint-tracker.js';
|
|
13
14
|
/**
|
|
14
15
|
* Dependencies injected into the PhaseLoop.
|
|
15
16
|
*/
|
|
@@ -37,6 +38,12 @@ export interface PhaseLoopDeps {
|
|
|
37
38
|
* continue to route through `LabelManager.onError('validate')` (D7).
|
|
38
39
|
*/
|
|
39
40
|
validateFixHandler?: ValidateFixHandler;
|
|
41
|
+
/**
|
|
42
|
+
* #942: Optional repeat-failure history tracker. When absent, escalation
|
|
43
|
+
* degrades to a no-op (occurrence is always 1, `-repeated` never fires).
|
|
44
|
+
* Injected by the worker-mode wiring in server.ts.
|
|
45
|
+
*/
|
|
46
|
+
failureFingerprintTracker?: FailureFingerprintTracker;
|
|
40
47
|
}
|
|
41
48
|
/**
|
|
42
49
|
* Discriminator for `PhaseLoopResult` (#889 additive extension).
|
|
@@ -122,6 +129,29 @@ export declare class PhaseLoop {
|
|
|
122
129
|
* #849's paired resume-dedupe clear applies symmetrically.
|
|
123
130
|
*/
|
|
124
131
|
private runPrePhaseBaseMerge;
|
|
132
|
+
/**
|
|
133
|
+
* #942: Fingerprint the failure, look up prior identical failures on this
|
|
134
|
+
* issue, escalate labels + post the alert.
|
|
135
|
+
*
|
|
136
|
+
* Order (per contract):
|
|
137
|
+
* 1. Compute fingerprint (pure, non-throwing).
|
|
138
|
+
* 2. Fetch prior-occurrence count (fail-open — errors already suppressed
|
|
139
|
+
* inside the tracker, so this is always a number).
|
|
140
|
+
* 3. `labelManager.onError(phase)` — unchanged pre-#942 path.
|
|
141
|
+
* 4. If `occurrence >= REPEAT_FAILURE_THRESHOLD` (N=2), also apply the
|
|
142
|
+
* `-repeated` escalation label BEFORE the alert-post.
|
|
143
|
+
* 5. `stageCommentManager.postFailureAlert({ ..., fingerprint, occurrence })`
|
|
144
|
+
* — line-1 v2 marker carries the fingerprint hex + occurrence counter.
|
|
145
|
+
*/
|
|
146
|
+
private escalateAndAlert;
|
|
147
|
+
/**
|
|
148
|
+
* #958 FR-010 — Surface parse failures on the issue + relay event so that
|
|
149
|
+
* "failed to pick up the answers" and "planned anyway" are no longer one
|
|
150
|
+
* event. Best-effort: failures posting the comment are logged and
|
|
151
|
+
* swallowed — the pause itself (via the on-questions gate check that
|
|
152
|
+
* follows) is the load-bearing behavior; this is diagnostic.
|
|
153
|
+
*/
|
|
154
|
+
private reportClarificationParseFailures;
|
|
125
155
|
/**
|
|
126
156
|
* Build the `errorEvidence` payload rendered inside the stage comment on
|
|
127
157
|
* `status: 'error'` transitions. See specs/847-found-during-cockpit-v1/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase-loop.d.ts","sourceRoot":"","sources":["../../src/worker/phase-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAkC,MAAM,YAAY,CAAC;AAExJ,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"phase-loop.d.ts","sourceRoot":"","sources":["../../src/worker/phase-loop.ts"],"names":[],"mappings":"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"}
|