@telora/daemon 0.15.26 → 0.15.27

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Continuous merge-back loop tick.
3
+ *
4
+ * Observes focus-branch state and merges to integration when safe.
5
+ * Adds a state-driven recovery path on top of the existing event-driven
6
+ * merge-back in focus-completion.handleTeamCompletion: any branch that
7
+ * ends up ahead of integration -- whether because the team-exit event
8
+ * was missed, the agent role was cleared mid-flight, the daemon
9
+ * restarted, or any other reason -- eventually gets merged here.
10
+ *
11
+ * Per product, per focus-branch ahead of integration:
12
+ * - Skip if isWorktreeBeingWritten reports active.
13
+ * - Skip if the worktree has uncommitted changes (covered by primitive,
14
+ * but checked explicitly so the skip reason is logged at debug).
15
+ * - Skip if a pending merge-conflict escalation exists for this branch.
16
+ * - Otherwise: call mergeFocusBranch with a minimal synthetic teamState
17
+ * and let the existing escalateMergeConflict path fire on failure.
18
+ *
19
+ * Stuck-branch escalation (Delivery 4) extends this tick with per-branch
20
+ * attempt tracking and creates 'stuck_focus_branch' escalations when a
21
+ * branch sits ahead of integration past a configurable threshold.
22
+ *
23
+ * @module merge-back-loop
24
+ */
25
+ import type { DaemonConfig, FocusDeliveryInfo, PipelineConfig } from './types.js';
26
+ import { mergeFocusBranch as defaultMergeFocusBranch } from './focus-merge.js';
27
+ import { listPendingEscalations as defaultListPendingEscalations, markEscalationResolved as defaultMarkEscalationResolved, createEscalation as defaultCreateEscalation } from './queries/issues.js';
28
+ export declare const STUCK_FOCUS_BRANCH_KIND = "stuck_focus_branch";
29
+ export interface MergeBackFocusInfo {
30
+ focusId: string;
31
+ focusName: string;
32
+ organizationId: string;
33
+ productId: string;
34
+ branchName: string;
35
+ worktreePath: string;
36
+ /** Per-product git repo path. Required because the root daemon config's
37
+ * repoPath is the default for the first product and is wrong when a
38
+ * multi-product daemon processes branches for other products. */
39
+ repoPath: string;
40
+ pipelineConfig: PipelineConfig | null;
41
+ readOnly: boolean;
42
+ }
43
+ /**
44
+ * In-memory per-branch attempt tracking. Resets on daemon restart;
45
+ * stuck-branch escalation creation tolerates that — the next tick
46
+ * after restart simply re-evaluates the branch from scratch.
47
+ */
48
+ export interface BranchAttemptState {
49
+ lastSuccessAt: number | null;
50
+ lastFailureAt: number | null;
51
+ lastFailureReason: string | null;
52
+ }
53
+ /** Reset attempt tracking — tests use this to start from a clean slate. */
54
+ export declare function __resetMergeBackAttemptsForTesting(): void;
55
+ /** Read the attempt state for a branch (for tests / introspection). */
56
+ export declare function getBranchAttemptState(branchName: string): BranchAttemptState | undefined;
57
+ export interface MergeBackTickResult {
58
+ scanned: number;
59
+ merged: number;
60
+ skipped: number;
61
+ conflicts: number;
62
+ }
63
+ export interface MergeBackLoopDeps {
64
+ enumerateFocusBranchesAhead: (config: DaemonConfig) => Promise<MergeBackFocusInfo[]>;
65
+ isWorktreeBeingWritten: (focusId: string) => Promise<{
66
+ active: boolean;
67
+ reason: {
68
+ code: string;
69
+ message: string;
70
+ } | null;
71
+ }>;
72
+ worktreeHasUncommittedChanges: (worktreePath: string) => boolean;
73
+ listPendingEscalations: typeof defaultListPendingEscalations;
74
+ markEscalationResolved: typeof defaultMarkEscalationResolved;
75
+ createEscalation: typeof defaultCreateEscalation;
76
+ mergeFocusBranch: typeof defaultMergeFocusBranch;
77
+ getFocusDeliveries: (focusId: string) => Promise<FocusDeliveryInfo[]>;
78
+ getOldestUnmergedCommitMs: (branchName: string, integrationBranch: string, repoPath: string) => number | null;
79
+ now: () => number;
80
+ }
81
+ /**
82
+ * Read the unix-epoch milliseconds timestamp of the oldest commit on
83
+ * `branchName` not yet present on `targetBranch`. Returns null if there
84
+ * are no unmerged commits or the git invocation fails.
85
+ */
86
+ export declare function getOldestUnmergedCommitMs(branchName: string, targetBranch: string, repoPath: string): number | null;
87
+ /**
88
+ * Enumerate focus branches with commits ahead of integration.
89
+ *
90
+ * Combines getActiveFocuses (for org/name/readOnly context) with the
91
+ * in-memory worktree state (for branchName + worktreePath). Returns one
92
+ * entry per focus whose branch has unmerged commits.
93
+ */
94
+ export declare function defaultEnumerateFocusBranchesAhead(config: DaemonConfig): Promise<MergeBackFocusInfo[]>;
95
+ /**
96
+ * Run one merge-back tick across all products in the daemon config.
97
+ *
98
+ * Idempotent: when no branches are ahead of integration, the tick is a
99
+ * no-op (no info-level log, debug only). When work happens, logs a
100
+ * single info-level summary line.
101
+ */
102
+ export declare function runMergeBackTick(config: DaemonConfig, depOverrides?: Partial<MergeBackLoopDeps>): Promise<MergeBackTickResult>;
103
+ //# sourceMappingURL=merge-back-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-back-loop.d.ts","sourceRoot":"","sources":["../src/merge-back-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,440 @@
1
+ /**
2
+ * Continuous merge-back loop tick.
3
+ *
4
+ * Observes focus-branch state and merges to integration when safe.
5
+ * Adds a state-driven recovery path on top of the existing event-driven
6
+ * merge-back in focus-completion.handleTeamCompletion: any branch that
7
+ * ends up ahead of integration -- whether because the team-exit event
8
+ * was missed, the agent role was cleared mid-flight, the daemon
9
+ * restarted, or any other reason -- eventually gets merged here.
10
+ *
11
+ * Per product, per focus-branch ahead of integration:
12
+ * - Skip if isWorktreeBeingWritten reports active.
13
+ * - Skip if the worktree has uncommitted changes (covered by primitive,
14
+ * but checked explicitly so the skip reason is logged at debug).
15
+ * - Skip if a pending merge-conflict escalation exists for this branch.
16
+ * - Otherwise: call mergeFocusBranch with a minimal synthetic teamState
17
+ * and let the existing escalateMergeConflict path fire on failure.
18
+ *
19
+ * Stuck-branch escalation (Delivery 4) extends this tick with per-branch
20
+ * attempt tracking and creates 'stuck_focus_branch' escalations when a
21
+ * branch sits ahead of integration past a configurable threshold.
22
+ *
23
+ * @module merge-back-loop
24
+ */
25
+ import { branchHasUnmergedCommits, worktreeHasUncommittedChanges } from './worktree-safety.js';
26
+ import { runGitSync } from './git-types.js';
27
+ import { configForProduct } from './config.js';
28
+ import { mergeFocusBranch as defaultMergeFocusBranch } from './focus-merge.js';
29
+ import { getActiveFocuses } from './queries/deliveries.js';
30
+ import { getFocusDeliveries as defaultGetFocusDeliveries } from './queries/focuses.js';
31
+ import { listPendingEscalations as defaultListPendingEscalations, markEscalationResolved as defaultMarkEscalationResolved, createEscalation as defaultCreateEscalation } from './queries/issues.js';
32
+ import { getAllFocusWorktrees } from './focus-worktree-state.js';
33
+ import { isWorktreeBeingWritten as defaultIsWorktreeBeingWritten } from './worktree-state.js';
34
+ import { ESCALATION_REASONS } from '@telora/daemon-core';
35
+ // ── Stuck-branch escalation kind (Delivery 4) ─────────────────────────
36
+ export const STUCK_FOCUS_BRANCH_KIND = 'stuck_focus_branch';
37
+ const branchAttempts = new Map();
38
+ /** Reset attempt tracking — tests use this to start from a clean slate. */
39
+ export function __resetMergeBackAttemptsForTesting() {
40
+ branchAttempts.clear();
41
+ }
42
+ /** Read the attempt state for a branch (for tests / introspection). */
43
+ export function getBranchAttemptState(branchName) {
44
+ return branchAttempts.get(branchName);
45
+ }
46
+ function recordSuccess(branchName, now) {
47
+ const existing = branchAttempts.get(branchName) ?? {
48
+ lastSuccessAt: null,
49
+ lastFailureAt: null,
50
+ lastFailureReason: null,
51
+ };
52
+ branchAttempts.set(branchName, { ...existing, lastSuccessAt: now });
53
+ }
54
+ function recordFailure(branchName, now, reason) {
55
+ const existing = branchAttempts.get(branchName) ?? {
56
+ lastSuccessAt: null,
57
+ lastFailureAt: null,
58
+ lastFailureReason: null,
59
+ };
60
+ branchAttempts.set(branchName, { ...existing, lastFailureAt: now, lastFailureReason: reason });
61
+ }
62
+ const STUCK_BRANCH_DEFAULT_THRESHOLD_HOURS = 24;
63
+ function readStuckBranchThresholdMs(env = process.env) {
64
+ const raw = env.TELORA_STUCK_BRANCH_THRESHOLD_HOURS;
65
+ if (!raw)
66
+ return STUCK_BRANCH_DEFAULT_THRESHOLD_HOURS * 3_600_000;
67
+ const n = Number.parseFloat(raw);
68
+ if (!Number.isFinite(n) || n <= 0)
69
+ return STUCK_BRANCH_DEFAULT_THRESHOLD_HOURS * 3_600_000;
70
+ return n * 3_600_000;
71
+ }
72
+ /**
73
+ * Read the unix-epoch milliseconds timestamp of the oldest commit on
74
+ * `branchName` not yet present on `targetBranch`. Returns null if there
75
+ * are no unmerged commits or the git invocation fails.
76
+ */
77
+ export function getOldestUnmergedCommitMs(branchName, targetBranch, repoPath) {
78
+ const result = runGitSync(['log', '--format=%ct', `${targetBranch}..${branchName}`], repoPath);
79
+ if (!result.success)
80
+ return null;
81
+ const lines = result.output.trim().split('\n').filter(Boolean);
82
+ if (lines.length === 0)
83
+ return null;
84
+ // git log lists newest-first; the last line is the oldest commit.
85
+ const seconds = Number.parseInt(lines[lines.length - 1], 10);
86
+ if (!Number.isFinite(seconds) || Number.isNaN(seconds))
87
+ return null;
88
+ return seconds * 1000;
89
+ }
90
+ /**
91
+ * Enumerate focus branches with commits ahead of integration.
92
+ *
93
+ * Combines getActiveFocuses (for org/name/readOnly context) with the
94
+ * in-memory worktree state (for branchName + worktreePath). Returns one
95
+ * entry per focus whose branch has unmerged commits.
96
+ */
97
+ export async function defaultEnumerateFocusBranchesAhead(config) {
98
+ const out = [];
99
+ const worktrees = getAllFocusWorktrees();
100
+ for (const product of config.products) {
101
+ const pc = configForProduct(config, product);
102
+ let focuses;
103
+ try {
104
+ focuses = await getActiveFocuses(pc.organizationId, product.id);
105
+ }
106
+ catch (err) {
107
+ console.warn(`[merge-back-loop] getActiveFocuses failed for product ${product.id}:`, err.message);
108
+ continue;
109
+ }
110
+ for (const focus of focuses) {
111
+ const wt = worktrees.get(focus.focus_id);
112
+ if (!wt)
113
+ continue;
114
+ const ahead = branchHasUnmergedCommits(wt.branchName, pc.integrationBranch, pc.repoPath);
115
+ if (!ahead)
116
+ continue;
117
+ out.push({
118
+ focusId: focus.focus_id,
119
+ focusName: focus.focus_name,
120
+ organizationId: pc.organizationId,
121
+ productId: product.id,
122
+ branchName: wt.branchName,
123
+ worktreePath: wt.worktreePath,
124
+ repoPath: pc.repoPath,
125
+ pipelineConfig: focus.pipeline_config ?? null,
126
+ readOnly: focus.read_only,
127
+ });
128
+ }
129
+ }
130
+ return out;
131
+ }
132
+ function defaultDeps() {
133
+ return {
134
+ enumerateFocusBranchesAhead: defaultEnumerateFocusBranchesAhead,
135
+ isWorktreeBeingWritten: defaultIsWorktreeBeingWritten,
136
+ worktreeHasUncommittedChanges,
137
+ listPendingEscalations: defaultListPendingEscalations,
138
+ markEscalationResolved: defaultMarkEscalationResolved,
139
+ createEscalation: defaultCreateEscalation,
140
+ mergeFocusBranch: defaultMergeFocusBranch,
141
+ getFocusDeliveries: defaultGetFocusDeliveries,
142
+ getOldestUnmergedCommitMs,
143
+ now: () => Date.now(),
144
+ };
145
+ }
146
+ /**
147
+ * Find a pending escalation matching a kind and branch name.
148
+ * Uses the new metadata.branch_name field when present; falls back to
149
+ * scanning description strings for backward compatibility with rows
150
+ * created before the metadata column existed.
151
+ */
152
+ function findPendingEscalationForBranch(pending, kind, branchName) {
153
+ for (const e of pending) {
154
+ const md = e.metadata ?? null;
155
+ const branchFromMd = md && typeof md === 'object' ? md.branch_name : undefined;
156
+ if (e.escalationKind === kind && branchFromMd === branchName) {
157
+ return { id: e.id };
158
+ }
159
+ // Fallback for legacy rows without escalationKind/metadata.
160
+ if (e.escalationKind == null &&
161
+ kind === STUCK_FOCUS_BRANCH_KIND &&
162
+ e.description.includes(`Branch: ${branchName}`)) {
163
+ return { id: e.id };
164
+ }
165
+ }
166
+ return null;
167
+ }
168
+ /**
169
+ * Find any pending merge-conflict escalation for this branch.
170
+ * Old-style rows do not carry escalationKind; they're detected via the
171
+ * description prefix used by escalateMergeConflict (focus-merge.ts:69).
172
+ */
173
+ function findPendingConflictForBranch(pending, branchName) {
174
+ for (const e of pending) {
175
+ if (e.reasonType === ESCALATION_REASONS.ERROR_ENCOUNTERED &&
176
+ e.description.includes(`Source branch:** ${branchName}`)) {
177
+ return { id: e.id };
178
+ }
179
+ }
180
+ return null;
181
+ }
182
+ /**
183
+ * Build a minimal FocusTeamState shape that mergeFocusBranch can consume.
184
+ * Many fields are unused by mergeFocusBranch's read-path; they default to
185
+ * empty/null so the synthetic state stays observably distinct from real
186
+ * in-flight teams.
187
+ */
188
+ function buildSyntheticTeamState(info, knownDeliveryIds) {
189
+ return {
190
+ focusId: info.focusId,
191
+ focusName: info.focusName,
192
+ roleId: '',
193
+ roleName: 'merge-back-loop',
194
+ organizationId: info.organizationId,
195
+ productId: info.productId,
196
+ executionConfig: { maxWorkers: 0, idlePollIntervalMs: 0, activePollIntervalMs: 0 },
197
+ pipelineConfig: info.pipelineConfig,
198
+ startedAt: new Date(),
199
+ phase: 'terminated',
200
+ knownDeliveryIds,
201
+ mergedDeliveryIds: new Set(),
202
+ planningPhase: false,
203
+ leadSessionId: null,
204
+ leadPid: null,
205
+ leadStdin: null,
206
+ branchName: info.branchName,
207
+ worktreePath: info.worktreePath,
208
+ deliveryStageIds: new Map(),
209
+ resolvingMergeConflict: false,
210
+ shutdownReason: null,
211
+ readOnly: info.readOnly,
212
+ sessionType: 'coding',
213
+ completionDetector: null,
214
+ claudeSessionId: null,
215
+ lastProgressSnapshot: null,
216
+ noProgressCycles: 0,
217
+ lastConsumedDirectiveHash: null,
218
+ };
219
+ }
220
+ /** Statuses that mark deliveries as worked-on (ready for git state reporting). */
221
+ const WORKED_STATUSES = new Set(['coding', 'verify', 'in_review']);
222
+ /**
223
+ * Build a `whatWasTried` summary string for stuck-branch escalations.
224
+ */
225
+ function summarizeAttempts(state) {
226
+ if (!state)
227
+ return 'No merge attempts recorded since daemon startup.';
228
+ const parts = [];
229
+ if (state.lastSuccessAt) {
230
+ parts.push(`last success at ${new Date(state.lastSuccessAt).toISOString()}`);
231
+ }
232
+ if (state.lastFailureAt) {
233
+ parts.push(`last failure at ${new Date(state.lastFailureAt).toISOString()}: ${state.lastFailureReason ?? 'unknown'}`);
234
+ }
235
+ if (parts.length === 0)
236
+ return 'No merge attempts recorded since daemon startup.';
237
+ return parts.join('; ');
238
+ }
239
+ /**
240
+ * Decide whether to file a stuck-branch escalation for this branch.
241
+ *
242
+ * Conditions (all must hold):
243
+ * - branch has at least one unmerged commit (already guaranteed by enumerate)
244
+ * - oldest unmerged commit is older than threshold
245
+ * - worktree is NOT being written
246
+ * - no successful merge attempt has been recorded within the threshold window
247
+ * - no open stuck_focus_branch escalation already exists for this branch
248
+ */
249
+ async function maybeFileStuckBranchEscalation(info, oldestUnmergedMs, worktreeActive, pending, thresholdMs, now, createEscalation) {
250
+ if (worktreeActive)
251
+ return;
252
+ if (oldestUnmergedMs == null)
253
+ return;
254
+ if (now - oldestUnmergedMs <= thresholdMs)
255
+ return;
256
+ const state = branchAttempts.get(info.branchName);
257
+ if (state?.lastSuccessAt && now - state.lastSuccessAt <= thresholdMs)
258
+ return;
259
+ if (findPendingEscalationForBranch(pending, STUCK_FOCUS_BRANCH_KIND, info.branchName)) {
260
+ return;
261
+ }
262
+ const ageHours = Math.floor((now - oldestUnmergedMs) / 3_600_000);
263
+ const description = `Focus branch sat ahead of integration for ~${ageHours}h with no successful merge.\n\n` +
264
+ `**Focus:** ${info.focusName}\n` +
265
+ `**Branch:** ${info.branchName}\n` +
266
+ `**Oldest unmerged commit:** ${new Date(oldestUnmergedMs).toISOString()}\n` +
267
+ `**Recent attempts:** ${summarizeAttempts(state)}`;
268
+ try {
269
+ await createEscalation({
270
+ organizationId: info.organizationId,
271
+ sessionId: '',
272
+ issueId: null,
273
+ reasonType: ESCALATION_REASONS.ERROR_ENCOUNTERED,
274
+ description,
275
+ whatWasTried: summarizeAttempts(state),
276
+ helpNeeded: `Inspect the branch (${info.branchName}) and integration history. ` +
277
+ `Either rebase/merge manually, mark the focus complete, or clear the branch ` +
278
+ `if its commits are no longer wanted.`,
279
+ escalationKind: STUCK_FOCUS_BRANCH_KIND,
280
+ metadata: {
281
+ branch_name: info.branchName,
282
+ focus_id: info.focusId,
283
+ oldest_commit_ts: oldestUnmergedMs,
284
+ last_failure_reason: state?.lastFailureReason ?? null,
285
+ },
286
+ });
287
+ console.log(`[merge-back-loop] Filed stuck_focus_branch escalation for ${info.branchName} (${ageHours}h old)`);
288
+ }
289
+ catch (err) {
290
+ console.warn(`[merge-back-loop] createEscalation failed for ${info.branchName}:`, err.message);
291
+ }
292
+ }
293
+ /**
294
+ * Auto-resolve any open stuck-branch escalations for a branch we just merged.
295
+ */
296
+ async function resolveStuckBranchEscalations(branchName, pending, markResolved) {
297
+ const match = findPendingEscalationForBranch(pending, STUCK_FOCUS_BRANCH_KIND, branchName);
298
+ if (!match)
299
+ return;
300
+ try {
301
+ await markResolved(match.id, 'Branch merged automatically by merge-back-loop');
302
+ console.log(`[merge-back-loop] Auto-resolved stuck_focus_branch escalation ${match.id} for ${branchName}`);
303
+ }
304
+ catch (err) {
305
+ console.warn(`[merge-back-loop] markEscalationResolved failed for ${match.id}:`, err.message);
306
+ }
307
+ }
308
+ /**
309
+ * Run one merge-back tick across all products in the daemon config.
310
+ *
311
+ * Idempotent: when no branches are ahead of integration, the tick is a
312
+ * no-op (no info-level log, debug only). When work happens, logs a
313
+ * single info-level summary line.
314
+ */
315
+ export async function runMergeBackTick(config, depOverrides = {}) {
316
+ const deps = { ...defaultDeps(), ...depOverrides };
317
+ const counts = { scanned: 0, merged: 0, skipped: 0, conflicts: 0 };
318
+ const thresholdMs = readStuckBranchThresholdMs();
319
+ let branches;
320
+ try {
321
+ branches = await deps.enumerateFocusBranchesAhead(config);
322
+ }
323
+ catch (err) {
324
+ console.warn('[merge-back-loop] enumerate failed:', err.message);
325
+ return counts;
326
+ }
327
+ // Pull pending escalations once per tick — used for both conflict-skip and
328
+ // stuck-branch dedup checks. Empty list on error so the tick continues.
329
+ let pending;
330
+ try {
331
+ pending = await deps.listPendingEscalations();
332
+ }
333
+ catch (err) {
334
+ console.warn('[merge-back-loop] listPendingEscalations failed:', err.message);
335
+ pending = [];
336
+ }
337
+ counts.scanned = branches.length;
338
+ if (branches.length === 0) {
339
+ console.debug('[merge-back-loop] tick: 0 branches ahead of integration');
340
+ return counts;
341
+ }
342
+ for (const info of branches) {
343
+ const now = deps.now();
344
+ // Gate 0: read-only audit focuses never merge to integration. The
345
+ // event-driven path enforces this via shouldAttemptMerge's readOnly
346
+ // check; mirror that here so a violating audit team (one that
347
+ // committed in violation of its constraint) can't bypass the guard
348
+ // through the state-driven loop.
349
+ if (info.readOnly) {
350
+ counts.skipped += 1;
351
+ console.debug(`[merge-back-loop] skip ${info.branchName}: read-only focus`);
352
+ continue;
353
+ }
354
+ // Gate 1: in-memory writer / active session / recent commit / dirty
355
+ let writeSignal;
356
+ try {
357
+ writeSignal = await deps.isWorktreeBeingWritten(info.focusId);
358
+ }
359
+ catch (err) {
360
+ console.warn(`[merge-back-loop] isWorktreeBeingWritten failed for ${info.focusId}:`, err.message);
361
+ counts.skipped += 1;
362
+ continue;
363
+ }
364
+ if (writeSignal.active) {
365
+ counts.skipped += 1;
366
+ console.debug(`[merge-back-loop] skip ${info.branchName}: ${writeSignal.reason?.code ?? 'unknown'} -- ${writeSignal.reason?.message ?? ''}`);
367
+ continue;
368
+ }
369
+ // Gate 2: explicit dirty-worktree skip (redundant w/ isWorktreeBeingWritten,
370
+ // but logged separately so the skip is easy to read in the log).
371
+ if (deps.worktreeHasUncommittedChanges(info.worktreePath)) {
372
+ counts.skipped += 1;
373
+ console.debug(`[merge-back-loop] skip ${info.branchName}: dirty worktree`);
374
+ continue;
375
+ }
376
+ // Gate 3: existing pending merge-conflict escalation for this branch
377
+ if (findPendingConflictForBranch(pending, info.branchName)) {
378
+ counts.skipped += 1;
379
+ console.debug(`[merge-back-loop] skip ${info.branchName}: pending merge-conflict escalation`);
380
+ // Even when we skip the merge, the stuck-branch escalation may still
381
+ // need to fire if the branch has aged out. Skip that here too —
382
+ // a stuck conflict already has an escalation surface.
383
+ continue;
384
+ }
385
+ // Gather worked deliveries (those in coding/verify/in_review).
386
+ let deliveries = [];
387
+ try {
388
+ deliveries = await deps.getFocusDeliveries(info.focusId);
389
+ }
390
+ catch (err) {
391
+ console.warn(`[merge-back-loop] getFocusDeliveries failed for ${info.focusId}:`, err.message);
392
+ }
393
+ const workedDeliveryIds = deliveries
394
+ .filter((d) => WORKED_STATUSES.has(d.executionStatus ?? ''))
395
+ .map((d) => d.id);
396
+ if (workedDeliveryIds.length === 0) {
397
+ // No worked deliveries — mergeFocusBranch's empty-set guard would
398
+ // early-return with an error reason. Skip cleanly here so the
399
+ // counters and logs are honest.
400
+ counts.skipped += 1;
401
+ console.debug(`[merge-back-loop] skip ${info.branchName}: no worked deliveries`);
402
+ // Still consider stuck-branch escalation — an orphan branch is
403
+ // exactly the case this surface targets.
404
+ const oldestMs = deps.getOldestUnmergedCommitMs(info.branchName, config.integrationBranch, info.repoPath);
405
+ await maybeFileStuckBranchEscalation(info, oldestMs, writeSignal.active, pending, thresholdMs, now, deps.createEscalation);
406
+ continue;
407
+ }
408
+ const teamState = buildSyntheticTeamState(info, new Set(workedDeliveryIds));
409
+ // Pass a product-scoped config so mergeFocusBranch's downstream git
410
+ // operations (mergeToIntegration, etc.) run against the correct repo.
411
+ const productConfig = { ...config, repoPath: info.repoPath, productId: info.productId };
412
+ let mergeResult;
413
+ try {
414
+ mergeResult = await deps.mergeFocusBranch(productConfig, teamState,
415
+ /* sessionId */ '', info.branchName, workedDeliveryIds);
416
+ }
417
+ catch (err) {
418
+ counts.conflicts += 1;
419
+ recordFailure(info.branchName, now, err.message);
420
+ console.warn(`[merge-back-loop] mergeFocusBranch threw for ${info.branchName}:`, err.message);
421
+ continue;
422
+ }
423
+ if (mergeResult.mergeSucceeded) {
424
+ counts.merged += 1;
425
+ recordSuccess(info.branchName, now);
426
+ await resolveStuckBranchEscalations(info.branchName, pending, deps.markEscalationResolved);
427
+ }
428
+ else {
429
+ counts.conflicts += 1;
430
+ recordFailure(info.branchName, now, mergeResult.exitReason);
431
+ // Re-evaluate stuck-branch escalation: a persistent failure should
432
+ // surface as 'stuck' once the branch ages out.
433
+ const oldestMs = deps.getOldestUnmergedCommitMs(info.branchName, config.integrationBranch, info.repoPath);
434
+ await maybeFileStuckBranchEscalation(info, oldestMs, writeSignal.active, pending, thresholdMs, now, deps.createEscalation);
435
+ }
436
+ }
437
+ console.log(`[merge-back-loop] tick: ${counts.scanned} branches scanned, ${counts.merged} merged, ${counts.skipped} skipped, ${counts.conflicts} conflicts`);
438
+ return counts;
439
+ }
440
+ //# sourceMappingURL=merge-back-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-back-loop.js","sourceRoot":"","sources":["../src/merge-back-loop.ts"],"names":[],"mappings":"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"}