@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/build-info.json +2 -2
- package/dist/cli/session-state.d.ts +25 -0
- package/dist/cli/session-state.d.ts.map +1 -0
- package/dist/cli/session-state.js +192 -0
- package/dist/cli/session-state.js.map +1 -0
- package/dist/focus-completion.d.ts +12 -4
- package/dist/focus-completion.d.ts.map +1 -1
- package/dist/focus-completion.js +35 -19
- package/dist/focus-completion.js.map +1 -1
- package/dist/focus-engine.d.ts.map +1 -1
- package/dist/focus-engine.js +19 -0
- package/dist/focus-engine.js.map +1 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/merge-back-loop.d.ts +103 -0
- package/dist/merge-back-loop.d.ts.map +1 -0
- package/dist/merge-back-loop.js +440 -0
- package/dist/merge-back-loop.js.map +1 -0
- package/dist/queries/issues.d.ts +41 -0
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +39 -0
- package/dist/queries/issues.js.map +1 -1
- package/dist/queries/sessions.d.ts +11 -0
- package/dist/queries/sessions.d.ts.map +1 -1
- package/dist/queries/sessions.js +28 -0
- package/dist/queries/sessions.js.map +1 -1
- package/dist/stage-classifier.d.ts +1 -1
- package/dist/stage-classifier.d.ts.map +1 -1
- package/dist/stage-classifier.js +3 -3
- package/dist/stage-classifier.js.map +1 -1
- package/dist/worktree-state.d.ts +58 -0
- package/dist/worktree-state.d.ts.map +1 -0
- package/dist/worktree-state.js +135 -0
- package/dist/worktree-state.js.map +1 -0
- package/package.json +1 -1
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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"}
|