@telora/daemon 0.21.83 → 0.21.134
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 +10 -3
- package/dist/audit/audit-hooks.d.ts +106 -0
- package/dist/audit/audit-hooks.d.ts.map +1 -1
- package/dist/audit/audit-hooks.js +149 -17
- package/dist/audit/audit-hooks.js.map +1 -1
- package/dist/ci/ci-sensor-loop.d.ts +6 -0
- package/dist/ci/ci-sensor-loop.d.ts.map +1 -1
- package/dist/ci/ci-sensor-loop.js +50 -3
- package/dist/ci/ci-sensor-loop.js.map +1 -1
- package/dist/ci/ci-status.d.ts +63 -11
- package/dist/ci/ci-status.d.ts.map +1 -1
- package/dist/ci/ci-status.js +94 -27
- package/dist/ci/ci-status.js.map +1 -1
- package/dist/completion/coverage-drift-state.d.ts +29 -2
- package/dist/completion/coverage-drift-state.d.ts.map +1 -1
- package/dist/completion/coverage-drift-state.js +42 -2
- package/dist/completion/coverage-drift-state.js.map +1 -1
- package/dist/completion/coverage-stabilized.d.ts +58 -0
- package/dist/completion/coverage-stabilized.d.ts.map +1 -0
- package/dist/completion/coverage-stabilized.js +84 -0
- package/dist/completion/coverage-stabilized.js.map +1 -0
- package/dist/completion/delivery-advancement-guard.d.ts +21 -0
- package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
- package/dist/completion/delivery-advancement-guard.js +31 -3
- package/dist/completion/delivery-advancement-guard.js.map +1 -1
- package/dist/completion/event-escalations.d.ts +15 -0
- package/dist/completion/event-escalations.d.ts.map +1 -1
- package/dist/completion/event-escalations.js +42 -4
- package/dist/completion/event-escalations.js.map +1 -1
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +10 -5
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/machine-remediable-demotion.d.ts +74 -0
- package/dist/completion/machine-remediable-demotion.d.ts.map +1 -0
- package/dist/completion/machine-remediable-demotion.js +147 -0
- package/dist/completion/machine-remediable-demotion.js.map +1 -0
- package/dist/completion/review-exit-escalations.d.ts +36 -1
- package/dist/completion/review-exit-escalations.d.ts.map +1 -1
- package/dist/completion/review-exit-escalations.js +81 -0
- package/dist/completion/review-exit-escalations.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts +4 -2
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +49 -54
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/settle-injection-sweep.d.ts +55 -0
- package/dist/completion/settle-injection-sweep.d.ts.map +1 -0
- package/dist/completion/settle-injection-sweep.js +88 -0
- package/dist/completion/settle-injection-sweep.js.map +1 -0
- package/dist/completion/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade.js +41 -0
- package/dist/completion/state-cascade.js.map +1 -1
- package/dist/completion/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/status-advance-phase.js +28 -30
- package/dist/completion/status-advance-phase.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts +42 -0
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +79 -2
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/delivery/delivery-lifecycle.d.ts +19 -33
- package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
- package/dist/delivery/delivery-lifecycle.js +26 -160
- package/dist/delivery/delivery-lifecycle.js.map +1 -1
- package/dist/delivery/delivery-merge-ops.d.ts +46 -0
- package/dist/delivery/delivery-merge-ops.d.ts.map +1 -0
- package/dist/delivery/delivery-merge-ops.js +154 -0
- package/dist/delivery/delivery-merge-ops.js.map +1 -0
- package/dist/delivery/delivery-reconciler-apply.d.ts +108 -66
- package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler-apply.js +87 -61
- package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
- package/dist/delivery/delivery-reconciler.d.ts +7 -2
- package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
- package/dist/delivery/delivery-reconciler.js +34 -5
- package/dist/delivery/delivery-reconciler.js.map +1 -1
- package/dist/delivery/external-hold-surface.d.ts +32 -0
- package/dist/delivery/external-hold-surface.d.ts.map +1 -0
- package/dist/delivery/external-hold-surface.js +67 -0
- package/dist/delivery/external-hold-surface.js.map +1 -0
- package/dist/delivery/external-hold.d.ts +38 -0
- package/dist/delivery/external-hold.d.ts.map +1 -1
- package/dist/delivery/external-hold.js +69 -6
- package/dist/delivery/external-hold.js.map +1 -1
- package/dist/delivery/operator-hold.d.ts +1 -2
- package/dist/delivery/operator-hold.d.ts.map +1 -1
- package/dist/delivery/operator-hold.js +1 -2
- package/dist/delivery/operator-hold.js.map +1 -1
- package/dist/delivery/paused-revival.d.ts +140 -0
- package/dist/delivery/paused-revival.d.ts.map +1 -0
- package/dist/delivery/paused-revival.js +229 -0
- package/dist/delivery/paused-revival.js.map +1 -0
- package/dist/delivery/wait-reachability.d.ts +149 -0
- package/dist/delivery/wait-reachability.d.ts.map +1 -0
- package/dist/delivery/wait-reachability.js +193 -0
- package/dist/delivery/wait-reachability.js.map +1 -0
- package/dist/directive/close-loop-dispatcher.d.ts +16 -263
- package/dist/directive/close-loop-dispatcher.d.ts.map +1 -1
- package/dist/directive/close-loop-dispatcher.js +21 -259
- package/dist/directive/close-loop-dispatcher.js.map +1 -1
- package/dist/directive/directive-dispatch.d.ts +19 -0
- package/dist/directive/directive-dispatch.d.ts.map +1 -1
- package/dist/directive/directive-dispatch.js +18 -0
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-executor.d.ts +1 -3
- package/dist/directive/directive-executor.d.ts.map +1 -1
- package/dist/directive/directive-executor.js +23 -21
- package/dist/directive/directive-executor.js.map +1 -1
- package/dist/directive/phase-sync.d.ts +28 -15
- package/dist/directive/phase-sync.d.ts.map +1 -1
- package/dist/directive/phase-sync.js +28 -36
- package/dist/directive/phase-sync.js.map +1 -1
- package/dist/directive/resolver-dispatch.d.ts +19 -92
- package/dist/directive/resolver-dispatch.d.ts.map +1 -1
- package/dist/directive/resolver-dispatch.js +19 -65
- package/dist/directive/resolver-dispatch.js.map +1 -1
- package/dist/focus/focus-engine.d.ts.map +1 -1
- package/dist/focus/focus-engine.js +26 -0
- package/dist/focus/focus-engine.js.map +1 -1
- package/dist/focus/focus-executor.d.ts.map +1 -1
- package/dist/focus/focus-executor.js +290 -256
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/focus-loop-registry.d.ts.map +1 -1
- package/dist/focus/focus-loop-registry.js +43 -1
- package/dist/focus/focus-loop-registry.js.map +1 -1
- package/dist/focus/focus-respawn-guard.d.ts.map +1 -1
- package/dist/focus/focus-respawn-guard.js +11 -2
- package/dist/focus/focus-respawn-guard.js.map +1 -1
- package/dist/focus/focus-team-state.d.ts +11 -0
- package/dist/focus/focus-team-state.d.ts.map +1 -1
- package/dist/focus/focus-team-state.js +17 -0
- package/dist/focus/focus-team-state.js.map +1 -1
- package/dist/focus/listener-auto-advance.d.ts +13 -1
- package/dist/focus/listener-auto-advance.d.ts.map +1 -1
- package/dist/focus/listener-auto-advance.js +112 -76
- package/dist/focus/listener-auto-advance.js.map +1 -1
- package/dist/focus/listener.d.ts.map +1 -1
- package/dist/focus/listener.js +141 -75
- package/dist/focus/listener.js.map +1 -1
- package/dist/focus/tick-deadline.d.ts +55 -0
- package/dist/focus/tick-deadline.d.ts.map +1 -0
- package/dist/focus/tick-deadline.js +91 -0
- package/dist/focus/tick-deadline.js.map +1 -0
- package/dist/focus-stage-lifecycle/index.d.ts +18 -25
- package/dist/focus-stage-lifecycle/index.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/index.js +26 -38
- package/dist/focus-stage-lifecycle/index.js.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.d.ts +52 -0
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.d.ts.map +1 -0
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.js +94 -0
- package/dist/focus-stage-lifecycle/wedge-cause-arbiter.js.map +1 -0
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +18 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.js +57 -7
- package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +12 -3
- package/dist/git/merge.js.map +1 -1
- package/dist/guard/condition-evaluators.d.ts +9 -0
- package/dist/guard/condition-evaluators.d.ts.map +1 -1
- package/dist/guard/condition-evaluators.js +15 -0
- package/dist/guard/condition-evaluators.js.map +1 -1
- package/dist/guard/guard-evaluator.d.ts +17 -1
- package/dist/guard/guard-evaluator.d.ts.map +1 -1
- package/dist/guard/guard-evaluator.js +61 -2
- package/dist/guard/guard-evaluator.js.map +1 -1
- package/dist/guard/trigger-executor.d.ts +30 -18
- package/dist/guard/trigger-executor.d.ts.map +1 -1
- package/dist/guard/trigger-executor.js +55 -31
- package/dist/guard/trigger-executor.js.map +1 -1
- package/dist/prompt/team-prompt-base.d.ts +1 -1
- package/dist/prompt/team-prompt-base.d.ts.map +1 -1
- package/dist/prompt/team-prompt-base.js +1 -1
- package/dist/prompt/team-prompt-base.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts +0 -32
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +19 -88
- package/dist/prompt-sections/persona-sections.js.map +1 -1
- package/dist/queries/deliveries.d.ts +33 -0
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +7 -0
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/focuses.d.ts +46 -0
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +60 -0
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/guards.d.ts +10 -0
- package/dist/queries/guards.d.ts.map +1 -1
- package/dist/queries/guards.js +14 -1
- package/dist/queries/guards.js.map +1 -1
- package/dist/queries/issues.d.ts +65 -1
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +135 -2
- package/dist/queries/issues.js.map +1 -1
- package/dist/queries/schemas.d.ts +53 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +38 -0
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/verification.d.ts +5 -6
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +5 -6
- package/dist/queries/verification.js.map +1 -1
- package/dist/resolvers/loop-persona.d.ts +1 -11
- package/dist/resolvers/loop-persona.d.ts.map +1 -1
- package/dist/resolvers/loop-persona.js +2 -16
- package/dist/resolvers/loop-persona.js.map +1 -1
- package/dist/shell/heartbeat.d.ts +7 -0
- package/dist/shell/heartbeat.d.ts.map +1 -1
- package/dist/shell/heartbeat.js +1 -1
- package/dist/shell/heartbeat.js.map +1 -1
- package/dist/shell/unified-shell-provisioning.d.ts +40 -0
- package/dist/shell/unified-shell-provisioning.d.ts.map +1 -1
- package/dist/shell/unified-shell-provisioning.js +72 -0
- package/dist/shell/unified-shell-provisioning.js.map +1 -1
- package/dist/shell/unified-shell.d.ts.map +1 -1
- package/dist/shell/unified-shell.js +18 -1
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/spawn/helpers.d.ts.map +1 -1
- package/dist/spawn/helpers.js +6 -1
- package/dist/spawn/helpers.js.map +1 -1
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +7 -0
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/respawn-cycle-escalation.d.ts +41 -0
- package/dist/spawn/respawn-cycle-escalation.d.ts.map +1 -0
- package/dist/spawn/respawn-cycle-escalation.js +83 -0
- package/dist/spawn/respawn-cycle-escalation.js.map +1 -0
- package/dist/spawn/spawn-cooldown.d.ts +119 -2
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/spawn-cooldown.js +120 -10
- package/dist/spawn/spawn-cooldown.js.map +1 -1
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +33 -1
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/testing/fixtures/index.d.ts +64 -0
- package/dist/testing/fixtures/index.d.ts.map +1 -0
- package/dist/testing/fixtures/index.js +220 -0
- package/dist/testing/fixtures/index.js.map +1 -0
- package/dist/update/build-info.d.ts +1 -0
- package/dist/update/build-info.d.ts.map +1 -1
- package/dist/update/build-info.js +1 -1
- package/dist/update/build-info.js.map +1 -1
- package/dist/verify/stall-detector-config.d.ts +8 -0
- package/dist/verify/stall-detector-config.d.ts.map +1 -1
- package/dist/verify/stall-detector-config.js +40 -0
- package/dist/verify/stall-detector-config.js.map +1 -1
- package/dist/verify/stall-detectors.d.ts +57 -14
- package/dist/verify/stall-detectors.d.ts.map +1 -1
- package/dist/verify/stall-detectors.js +72 -55
- package/dist/verify/stall-detectors.js.map +1 -1
- package/dist/verify/verification-feedback.d.ts +3 -4
- package/dist/verify/verification-feedback.d.ts.map +1 -1
- package/dist/verify/verification-feedback.js +3 -12
- package/dist/verify/verification-feedback.js.map +1 -1
- package/dist/workflow/gate-failure-policy.d.ts +48 -0
- package/dist/workflow/gate-failure-policy.d.ts.map +1 -0
- package/dist/workflow/gate-failure-policy.js +57 -0
- package/dist/workflow/gate-failure-policy.js.map +1 -0
- package/dist/workflow/pipeline-config.d.ts +2 -2
- package/dist/workflow/pipeline-config.js +2 -2
- package/package.json +3 -3
- package/dist/directive/close-loop-stage.d.ts +0 -50
- package/dist/directive/close-loop-stage.d.ts.map +0 -1
- package/dist/directive/close-loop-stage.js +0 -210
- package/dist/directive/close-loop-stage.js.map +0 -1
- package/dist/focus-stage-lifecycle/review-convergence.d.ts +0 -133
- package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +0 -1
- package/dist/focus-stage-lifecycle/review-convergence.js +0 -237
- package/dist/focus-stage-lifecycle/review-convergence.js.map +0 -1
|
@@ -11,17 +11,14 @@
|
|
|
11
11
|
* - mergeDeliveryBranch(): merge a branch to integration
|
|
12
12
|
* - advanceDeliveryStage(): update delivery to its next workflow stage
|
|
13
13
|
*/
|
|
14
|
-
import { updateDeliveryStatus
|
|
14
|
+
import { updateDeliveryStatus } from '../queries/deliveries.js';
|
|
15
15
|
import { createEscalation } from '../queries/issues.js';
|
|
16
16
|
import { createTransitionEvaluation } from '../queries/guards.js';
|
|
17
|
-
import { mergeToIntegration } from '../git/exec.js';
|
|
18
|
-
import { runGitSync, getMergeWorktreePath } from '../git/index.js';
|
|
19
17
|
import { getStageByName, determineTransition } from '../workflow/workflow-engine.js';
|
|
20
18
|
import { evaluateGuardsAtTransition, GuardEvaluationError } from '../guard/guard-evaluator.js';
|
|
21
19
|
import { executeTriggers } from '../guard/trigger-executor.js';
|
|
22
20
|
import { withRetry, ESCALATION_REASONS, ESCALATION_DISPOSITIONS, DELIVERY_STATUS } from '@telora/daemon-core';
|
|
23
|
-
import { resolveReconciledWrite } from './delivery-reconciler-apply.js';
|
|
24
|
-
import { recordFocusMerge } from '../queries/deliveries.js';
|
|
21
|
+
import { resolveReconciledWrite, advanceReconcileInput } from './delivery-reconciler-apply.js';
|
|
25
22
|
import { getFocusWorktree } from '../focus/focus-worktree-state.js';
|
|
26
23
|
import { deriveCompletionArtifactsFromWorktree } from './delivery-artifacts.js';
|
|
27
24
|
import { createLogger } from '../shell/log.js';
|
|
@@ -129,10 +126,13 @@ export async function advanceDeliveryStage(params) {
|
|
|
129
126
|
attemptCount: sessionCount,
|
|
130
127
|
maxRetries: 5,
|
|
131
128
|
});
|
|
132
|
-
// Evaluate guards if there's a transition to a new stage
|
|
129
|
+
// Evaluate guards if there's a transition to a new stage. The measurement is
|
|
130
|
+
// the same evaluateGuardsForDeliveryTransition the teamless path uses, behind
|
|
131
|
+
// an injectable seam so a parity test can exercise both paths (TEL-2).
|
|
132
|
+
const _measureGuard = params.measureGuard ?? evaluateGuardsForDeliveryTransition;
|
|
133
133
|
let guardOutcome = null;
|
|
134
134
|
if (transition.nextStage && transition.workflowTransition) {
|
|
135
|
-
guardOutcome = await
|
|
135
|
+
guardOutcome = await _measureGuard({
|
|
136
136
|
deliveryId,
|
|
137
137
|
organizationId,
|
|
138
138
|
workflowTransition: transition.workflowTransition,
|
|
@@ -162,15 +162,13 @@ export async function advanceDeliveryStage(params) {
|
|
|
162
162
|
deliveryStatus = queuedStage?.name ?? DELIVERY_STATUS.QUEUED;
|
|
163
163
|
deliveryStageId = queuedStage?.id;
|
|
164
164
|
}
|
|
165
|
-
// Single-writer reconciler
|
|
166
|
-
//
|
|
167
|
-
//
|
|
168
|
-
// guardVerdict)
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
//
|
|
172
|
-
// verify -> done routing is owned by the review-exit path, not advanceDeliveryStage,
|
|
173
|
-
// so verify is intentionally excluded here.
|
|
165
|
+
// Single-writer reconciler authority. advanceDeliveryStage is the guarded
|
|
166
|
+
// graph writer for coding -> verify/paused (and the re-queue fallback); the
|
|
167
|
+
// reconciler models exactly this from (currentStatus, all-done, committed,
|
|
168
|
+
// guardVerdict), so it resolves the target for the reconciler-driven
|
|
169
|
+
// from-statuses. Worktree-commit safety still ran on the daemon path before
|
|
170
|
+
// this call. The verify -> done routing is owned by the review-exit path, not
|
|
171
|
+
// advanceDeliveryStage, so verify is intentionally excluded here.
|
|
174
172
|
const RECONCILER_FROM = new Set([
|
|
175
173
|
DELIVERY_STATUS.CODING, DELIVERY_STATUS.QUEUED, DELIVERY_STATUS.VERIFY_FAILED,
|
|
176
174
|
]);
|
|
@@ -180,19 +178,13 @@ export async function advanceDeliveryStage(params) {
|
|
|
180
178
|
// queued-branch scoping gate reachable: a zero-issue queued delivery
|
|
181
179
|
// arrives here with an empty list and the reconciler holds it in queued.
|
|
182
180
|
const decision = resolveReconciledWrite({
|
|
183
|
-
site
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
legacyTarget: deliveryStatus,
|
|
187
|
-
input: {
|
|
181
|
+
// Single-site advance input; the guard verdict is the MEASURED one
|
|
182
|
+
// (guardBlocked came from measureGuard above), never a bypassing null.
|
|
183
|
+
input: advanceReconcileInput({
|
|
188
184
|
currentStatus: fromStatus,
|
|
189
185
|
issues: reconcilerIssues,
|
|
190
|
-
// Worktree-commit safety is enforced by ensureWorktreeCommittedBeforeAdvance
|
|
191
|
-
// before this call; by here the worktree is committed.
|
|
192
|
-
gitState: { worktreeCommitted: true },
|
|
193
186
|
guardVerdict: { blocked: guardBlocked },
|
|
194
|
-
|
|
195
|
-
},
|
|
187
|
+
}),
|
|
196
188
|
});
|
|
197
189
|
if (decision.target !== deliveryStatus) {
|
|
198
190
|
deliveryStatus = decision.target;
|
|
@@ -229,8 +221,9 @@ export async function advanceDeliveryStage(params) {
|
|
|
229
221
|
const transitionRecord = fromStatus !== deliveryStatus
|
|
230
222
|
? { organizationId, fromStatus: fromStatus ?? null }
|
|
231
223
|
: undefined;
|
|
224
|
+
const _updateDeliveryStatus = params.updateDeliveryStatus ?? updateDeliveryStatus;
|
|
232
225
|
try {
|
|
233
|
-
await
|
|
226
|
+
await _updateDeliveryStatus(deliveryId, deliveryStatus, deliveryStageId, gateStateForUpdate, completionArtifactsForUpdate, transitionRecord);
|
|
234
227
|
log.info(`Delivery "${deliveryName}" set to ${deliveryStatus}`);
|
|
235
228
|
}
|
|
236
229
|
catch (err) {
|
|
@@ -245,139 +238,12 @@ export async function advanceDeliveryStage(params) {
|
|
|
245
238
|
exitReason,
|
|
246
239
|
};
|
|
247
240
|
}
|
|
248
|
-
// ── Merge operations
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
* - Conflict escalation
|
|
255
|
-
* - Git state reporting
|
|
256
|
-
*/
|
|
257
|
-
export async function mergeDeliveryBranch(params) {
|
|
258
|
-
const { config, branchName, deliveryId, deliveryName, organizationId, sessionId, workflow, focusId } = params;
|
|
259
|
-
log.info(`Attempting to merge ${branchName} into ${config.integrationBranch}...`);
|
|
260
|
-
const onRollbackFailure = (details) => {
|
|
261
|
-
withRetry(() => createEscalation({
|
|
262
|
-
organizationId,
|
|
263
|
-
sessionId: sessionId ?? '',
|
|
264
|
-
issueId: null,
|
|
265
|
-
reasonType: ESCALATION_REASONS.ERROR_ENCOUNTERED,
|
|
266
|
-
disposition: ESCALATION_DISPOSITIONS.NEEDS_OPERATOR,
|
|
267
|
-
anchor: { deliveryId, focusId, branch: branchName },
|
|
268
|
-
description: `CRITICAL: Push failed AND rollback failed. Integration branch is corrupt.\n\n` +
|
|
269
|
-
`**Delivery:** ${deliveryName}\n` +
|
|
270
|
-
`**Branch:** ${details.branch}\n` +
|
|
271
|
-
`**Attempted rollback to:** ${details.attemptedRollbackRef}\n` +
|
|
272
|
-
`**Current HEAD:** ${details.currentHead}\n\n` +
|
|
273
|
-
`All merge operations are blocked until manual recovery.`,
|
|
274
|
-
whatWasTried: `Push to origin failed for ${details.branch}. Attempted rollback to ${details.attemptedRollbackRef} also failed.`,
|
|
275
|
-
helpNeeded: `Manually reset the branch: git reset --hard origin/${details.branch}. Then restart the daemon.`,
|
|
276
|
-
}), { maxAttempts: 3, label: 'escalation-rollback-failure' }).catch((escErr) => {
|
|
277
|
-
log.error(`CRITICAL: Failed to create escalation for rollback failure: ${escErr.message}`);
|
|
278
|
-
});
|
|
279
|
-
};
|
|
280
|
-
const mergeResult = await mergeToIntegration({ config, branchName, deliveryName, deliveryId, onRollbackFailure });
|
|
281
|
-
if (mergeResult.success) {
|
|
282
|
-
const exitReason = `Merged to ${config.integrationBranch}.`;
|
|
283
|
-
log.info(`Successfully merged ${branchName} to ${config.integrationBranch}`);
|
|
284
|
-
// Note: merged_to_integration git state is reported by the caller
|
|
285
|
-
// (mergeFocusBranch) for all deliveries in the focus to avoid duplicates.
|
|
286
|
-
// Persist the merge commit SHA on the delivery record (fire-and-forget)
|
|
287
|
-
if (mergeResult.commitSha) {
|
|
288
|
-
updateDeliveryMergeCommitSha(deliveryId, mergeResult.commitSha).catch(err => log.warn(`[mergeCommitSha] Failed to record merge commit SHA:`, err.message));
|
|
289
|
-
}
|
|
290
|
-
// Record focus merge with constituent commits (fire-and-forget)
|
|
291
|
-
if (focusId && mergeResult.commitSha) {
|
|
292
|
-
const commitShas = extractConstituentCommits(config, branchName, mergeResult.preMergeRef);
|
|
293
|
-
recordFocusMerge({
|
|
294
|
-
organizationId,
|
|
295
|
-
focusId,
|
|
296
|
-
mergeCommitSha: mergeResult.commitSha,
|
|
297
|
-
commitShas,
|
|
298
|
-
branchName,
|
|
299
|
-
// The pre-merge boundary bounds the merged contribution even when the
|
|
300
|
-
// merge-back fast-forwarded (no merge commit) -- see the fast-forward-safe
|
|
301
|
-
// source in resolveDeliveryDiffSource.
|
|
302
|
-
...(mergeResult.preMergeRef ? { preMergeRef: mergeResult.preMergeRef } : {}),
|
|
303
|
-
}).catch(err => log.warn(`[focusMerge] Failed to record focus merge:`, err.message));
|
|
304
|
-
}
|
|
305
|
-
// A merge that recorded NO bookkeeping (its sha could not be observed) is a
|
|
306
|
-
// fault, not a silent skip. merge.ts already emitted the loud RECORDED-NOTHING
|
|
307
|
-
// FAULT at merge time; surface it here too so the write-site's silence -- the
|
|
308
|
-
// exact place the ~19-minute-later gate blindness originates -- is broken.
|
|
309
|
-
if (mergeResult.shaUnobserved) {
|
|
310
|
-
log.warn(`[focusMerge] delivery ${deliveryId} on branch ${branchName} merged to ` +
|
|
311
|
-
`${config.integrationBranch} but recorded NO bookkeeping (merge sha unobserved) -- ` +
|
|
312
|
-
`verify evidence for this delivery will be unrecoverable from the focus_merges record.`);
|
|
313
|
-
}
|
|
314
|
-
return { mergeSucceeded: true, exitReason, commitSha: mergeResult.commitSha };
|
|
315
|
-
}
|
|
316
|
-
// Handle merge conflicts
|
|
317
|
-
const conflictedFiles = mergeResult.conflictedFiles;
|
|
318
|
-
if (conflictedFiles && conflictedFiles.length > 0) {
|
|
319
|
-
const exitReason = `Agent completed but merge had conflicts in ${conflictedFiles.length} file(s). Escalated for resolution.`;
|
|
320
|
-
log.warn(`Merge conflict: ${conflictedFiles.join(', ')}`);
|
|
321
|
-
try {
|
|
322
|
-
await withRetry(() => createEscalation({
|
|
323
|
-
organizationId,
|
|
324
|
-
sessionId: sessionId ?? '',
|
|
325
|
-
issueId: null,
|
|
326
|
-
reasonType: ESCALATION_REASONS.ERROR_ENCOUNTERED,
|
|
327
|
-
disposition: ESCALATION_DISPOSITIONS.NEEDS_OPERATOR,
|
|
328
|
-
anchor: { deliveryId, focusId, branch: branchName },
|
|
329
|
-
description: `Merge conflict merging agent branch into integration.\n\n` +
|
|
330
|
-
`**Delivery:** ${deliveryName}\n` +
|
|
331
|
-
`**Source branch:** ${mergeResult.sourceBranch}\n` +
|
|
332
|
-
`**Target branch:** ${mergeResult.targetBranch}\n` +
|
|
333
|
-
`**Conflicted files:**\n${conflictedFiles.map(f => `- ${f}`).join('\n')}`,
|
|
334
|
-
whatWasTried: `Attempted automatic merge of ${branchName} into ${config.integrationBranch} after agent completed successfully.`,
|
|
335
|
-
helpNeeded: `Resolve the merge conflicts between ${mergeResult.sourceBranch} and ${mergeResult.targetBranch}, then re-queue the delivery.`,
|
|
336
|
-
}), { maxAttempts: 3, label: 'escalation-merge-conflict' });
|
|
337
|
-
log.info(`Created escalation for merge conflict`);
|
|
338
|
-
}
|
|
339
|
-
catch (escErr) {
|
|
340
|
-
log.error(`CRITICAL: Failed to create escalation for merge conflict after retries: ${escErr.message}. Delivery: "${deliveryName}"`);
|
|
341
|
-
}
|
|
342
|
-
const queuedStage = getStageByName(workflow, DELIVERY_STATUS.QUEUED);
|
|
343
|
-
return {
|
|
344
|
-
mergeSucceeded: false,
|
|
345
|
-
exitReason,
|
|
346
|
-
overrideDeliveryStatus: queuedStage?.name ?? DELIVERY_STATUS.QUEUED,
|
|
347
|
-
overrideDeliveryStageId: queuedStage?.id,
|
|
348
|
-
};
|
|
349
|
-
}
|
|
350
|
-
// General merge failure
|
|
351
|
-
const exitReason = `Merge failed: ${mergeResult.error}. Branch ${branchName} preserved for manual merge.`;
|
|
352
|
-
log.warn(`Merge to integration failed: ${mergeResult.error}`);
|
|
353
|
-
return { mergeSucceeded: false, exitReason };
|
|
354
|
-
}
|
|
355
|
-
// ── Constituent commit extraction ───────────────────────────────────
|
|
356
|
-
/**
|
|
357
|
-
* Extract the list of commit SHAs that were merged from a branch.
|
|
358
|
-
*
|
|
359
|
-
* Uses `git log --format=%H <preMergeRef>..<branchName>` in the merge worktree
|
|
360
|
-
* to list all commits on the branch that were not already on the target branch
|
|
361
|
-
* before the merge.
|
|
362
|
-
*
|
|
363
|
-
* Returns an empty array if extraction fails (best-effort).
|
|
364
|
-
*/
|
|
365
|
-
function extractConstituentCommits(config, branchName, preMergeRef) {
|
|
366
|
-
if (!preMergeRef) {
|
|
367
|
-
return [];
|
|
368
|
-
}
|
|
369
|
-
try {
|
|
370
|
-
const mwt = getMergeWorktreePath(config);
|
|
371
|
-
const result = runGitSync(['log', '--format=%H', `${preMergeRef}..${branchName}`], mwt);
|
|
372
|
-
if (result.success && result.output) {
|
|
373
|
-
return result.output.split('\n').filter(Boolean);
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
catch (err) {
|
|
377
|
-
log.warn(`[focusMerge] Failed to extract constituent commits:`, err.message);
|
|
378
|
-
}
|
|
379
|
-
return [];
|
|
380
|
-
}
|
|
241
|
+
// ── Merge operations (extracted) ─────────────────────────────────────
|
|
242
|
+
// The branch merge-to-integration path + its constituent-commit extraction live
|
|
243
|
+
// in delivery-merge-ops.ts (kept under the daemon file-size limit, mirroring the
|
|
244
|
+
// delivery-advance-block.ts split). Re-exported here so existing importers
|
|
245
|
+
// (merge/focus-merge, tests) keep their import path.
|
|
246
|
+
export { mergeDeliveryBranch } from './delivery-merge-ops.js';
|
|
381
247
|
// ── Guard failure helpers ───────────────────────────────────────────
|
|
382
248
|
/**
|
|
383
249
|
* Resolve the effective failure mode for a guard evaluation error.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-lifecycle.js","sourceRoot":"","sources":["../../src/delivery/delivery-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery-lifecycle.js","sourceRoot":"","sources":["../../src/delivery/delivery-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delivery branch merge operations.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from delivery-lifecycle.ts (kept under the daemon file-size limit,
|
|
5
|
+
* mirroring the delivery-advance-block.ts split). Holds the merge-to-integration
|
|
6
|
+
* path and its constituent-commit extraction; delivery-lifecycle.ts re-exports
|
|
7
|
+
* `mergeDeliveryBranch` (and its types) so existing importers keep their path.
|
|
8
|
+
*
|
|
9
|
+
* Key functions:
|
|
10
|
+
* - mergeDeliveryBranch(): merge a delivery's branch to integration, escalate on
|
|
11
|
+
* conflict/rollback failure, and record focus-merge bookkeeping.
|
|
12
|
+
*/
|
|
13
|
+
import type { DaemonConfig, Workflow } from '../types/index.js';
|
|
14
|
+
export interface MergeOutcome {
|
|
15
|
+
/** Whether the merge to integration succeeded. */
|
|
16
|
+
mergeSucceeded: boolean;
|
|
17
|
+
/** Updated exit reason string. */
|
|
18
|
+
exitReason: string;
|
|
19
|
+
/** If set, override the delivery status (e.g., back to queued on conflict). */
|
|
20
|
+
overrideDeliveryStatus?: string;
|
|
21
|
+
/** If set, override the delivery stage ID. */
|
|
22
|
+
overrideDeliveryStageId?: string | null;
|
|
23
|
+
/** The squash merge commit SHA (set on successful merge). */
|
|
24
|
+
commitSha?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface DeliveryBranchMergeParams {
|
|
27
|
+
config: DaemonConfig;
|
|
28
|
+
branchName: string;
|
|
29
|
+
deliveryId: string;
|
|
30
|
+
deliveryName: string;
|
|
31
|
+
organizationId: string;
|
|
32
|
+
sessionId: string | null;
|
|
33
|
+
workflow: Workflow;
|
|
34
|
+
/** Focus ID for recording the merge in focus_merges. Optional for legacy per-delivery path. */
|
|
35
|
+
focusId?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Merge a delivery's branch to the integration branch.
|
|
39
|
+
*
|
|
40
|
+
* Handles:
|
|
41
|
+
* - Merge to integration
|
|
42
|
+
* - Conflict escalation
|
|
43
|
+
* - Git state reporting
|
|
44
|
+
*/
|
|
45
|
+
export declare function mergeDeliveryBranch(params: DeliveryBranchMergeParams): Promise<MergeOutcome>;
|
|
46
|
+
//# sourceMappingURL=delivery-merge-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-merge-ops.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery-merge-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAchE,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,cAAc,EAAE,OAAO,CAAC;IACxB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,8CAA8C;IAC9C,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,YAAY,CAAC,CAuHvB"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delivery branch merge operations.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from delivery-lifecycle.ts (kept under the daemon file-size limit,
|
|
5
|
+
* mirroring the delivery-advance-block.ts split). Holds the merge-to-integration
|
|
6
|
+
* path and its constituent-commit extraction; delivery-lifecycle.ts re-exports
|
|
7
|
+
* `mergeDeliveryBranch` (and its types) so existing importers keep their path.
|
|
8
|
+
*
|
|
9
|
+
* Key functions:
|
|
10
|
+
* - mergeDeliveryBranch(): merge a delivery's branch to integration, escalate on
|
|
11
|
+
* conflict/rollback failure, and record focus-merge bookkeeping.
|
|
12
|
+
*/
|
|
13
|
+
import { updateDeliveryMergeCommitSha, recordFocusMerge } from '../queries/deliveries.js';
|
|
14
|
+
import { createEscalation } from '../queries/issues.js';
|
|
15
|
+
import { mergeToIntegration } from '../git/exec.js';
|
|
16
|
+
import { runGitSync, getMergeWorktreePath } from '../git/index.js';
|
|
17
|
+
import { getStageByName } from '../workflow/workflow-engine.js';
|
|
18
|
+
import { withRetry, ESCALATION_REASONS, ESCALATION_DISPOSITIONS, DELIVERY_STATUS } from '@telora/daemon-core';
|
|
19
|
+
import { createLogger } from '../shell/log.js';
|
|
20
|
+
const log = createLogger({ module: 'guard' });
|
|
21
|
+
// ── Merge operations ────────────────────────────────────────────────
|
|
22
|
+
/**
|
|
23
|
+
* Merge a delivery's branch to the integration branch.
|
|
24
|
+
*
|
|
25
|
+
* Handles:
|
|
26
|
+
* - Merge to integration
|
|
27
|
+
* - Conflict escalation
|
|
28
|
+
* - Git state reporting
|
|
29
|
+
*/
|
|
30
|
+
export async function mergeDeliveryBranch(params) {
|
|
31
|
+
const { config, branchName, deliveryId, deliveryName, organizationId, sessionId, workflow, focusId } = params;
|
|
32
|
+
log.info(`Attempting to merge ${branchName} into ${config.integrationBranch}...`);
|
|
33
|
+
const onRollbackFailure = (details) => {
|
|
34
|
+
withRetry(() => createEscalation({
|
|
35
|
+
organizationId,
|
|
36
|
+
sessionId: sessionId ?? '',
|
|
37
|
+
issueId: null,
|
|
38
|
+
reasonType: ESCALATION_REASONS.ERROR_ENCOUNTERED,
|
|
39
|
+
disposition: ESCALATION_DISPOSITIONS.NEEDS_OPERATOR,
|
|
40
|
+
anchor: { deliveryId, focusId, branch: branchName },
|
|
41
|
+
description: `CRITICAL: Push failed AND rollback failed. Integration branch is corrupt.\n\n` +
|
|
42
|
+
`**Delivery:** ${deliveryName}\n` +
|
|
43
|
+
`**Branch:** ${details.branch}\n` +
|
|
44
|
+
`**Attempted rollback to:** ${details.attemptedRollbackRef}\n` +
|
|
45
|
+
`**Current HEAD:** ${details.currentHead}\n\n` +
|
|
46
|
+
`All merge operations are blocked until manual recovery.`,
|
|
47
|
+
whatWasTried: `Push to origin failed for ${details.branch}. Attempted rollback to ${details.attemptedRollbackRef} also failed.`,
|
|
48
|
+
helpNeeded: `Manually reset the branch: git reset --hard origin/${details.branch}. Then restart the daemon.`,
|
|
49
|
+
}), { maxAttempts: 3, label: 'escalation-rollback-failure' }).catch((escErr) => {
|
|
50
|
+
log.error(`CRITICAL: Failed to create escalation for rollback failure: ${escErr.message}`);
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
const mergeResult = await mergeToIntegration({ config, branchName, deliveryName, deliveryId, onRollbackFailure });
|
|
54
|
+
if (mergeResult.success) {
|
|
55
|
+
const exitReason = `Merged to ${config.integrationBranch}.`;
|
|
56
|
+
log.info(`Successfully merged ${branchName} to ${config.integrationBranch}`);
|
|
57
|
+
// Note: merged_to_integration git state is reported by the caller
|
|
58
|
+
// (mergeFocusBranch) for all deliveries in the focus to avoid duplicates.
|
|
59
|
+
// Persist the merge commit SHA on the delivery record (fire-and-forget)
|
|
60
|
+
if (mergeResult.commitSha) {
|
|
61
|
+
updateDeliveryMergeCommitSha(deliveryId, mergeResult.commitSha).catch(err => log.warn(`[mergeCommitSha] Failed to record merge commit SHA:`, err.message));
|
|
62
|
+
}
|
|
63
|
+
// Record focus merge with constituent commits (fire-and-forget)
|
|
64
|
+
if (focusId && mergeResult.commitSha) {
|
|
65
|
+
const commitShas = extractConstituentCommits(config, branchName, mergeResult.preMergeRef);
|
|
66
|
+
recordFocusMerge({
|
|
67
|
+
organizationId,
|
|
68
|
+
focusId,
|
|
69
|
+
mergeCommitSha: mergeResult.commitSha,
|
|
70
|
+
commitShas,
|
|
71
|
+
branchName,
|
|
72
|
+
// The pre-merge boundary bounds the merged contribution even when the
|
|
73
|
+
// merge-back fast-forwarded (no merge commit) -- see the fast-forward-safe
|
|
74
|
+
// source in resolveDeliveryDiffSource.
|
|
75
|
+
...(mergeResult.preMergeRef ? { preMergeRef: mergeResult.preMergeRef } : {}),
|
|
76
|
+
}).catch(err => log.warn(`[focusMerge] Failed to record focus merge:`, err.message));
|
|
77
|
+
}
|
|
78
|
+
// A merge that recorded NO bookkeeping (its sha could not be observed) is a
|
|
79
|
+
// fault, not a silent skip. merge.ts already emitted the loud RECORDED-NOTHING
|
|
80
|
+
// FAULT at merge time; surface it here too so the write-site's silence -- the
|
|
81
|
+
// exact place the ~19-minute-later gate blindness originates -- is broken.
|
|
82
|
+
if (mergeResult.shaUnobserved) {
|
|
83
|
+
log.warn(`[focusMerge] delivery ${deliveryId} on branch ${branchName} merged to ` +
|
|
84
|
+
`${config.integrationBranch} but recorded NO bookkeeping (merge sha unobserved) -- ` +
|
|
85
|
+
`verify evidence for this delivery will be unrecoverable from the focus_merges record.`);
|
|
86
|
+
}
|
|
87
|
+
return { mergeSucceeded: true, exitReason, commitSha: mergeResult.commitSha };
|
|
88
|
+
}
|
|
89
|
+
// Handle merge conflicts
|
|
90
|
+
const conflictedFiles = mergeResult.conflictedFiles;
|
|
91
|
+
if (conflictedFiles && conflictedFiles.length > 0) {
|
|
92
|
+
const exitReason = `Agent completed but merge had conflicts in ${conflictedFiles.length} file(s). Escalated for resolution.`;
|
|
93
|
+
log.warn(`Merge conflict: ${conflictedFiles.join(', ')}`);
|
|
94
|
+
try {
|
|
95
|
+
await withRetry(() => createEscalation({
|
|
96
|
+
organizationId,
|
|
97
|
+
sessionId: sessionId ?? '',
|
|
98
|
+
issueId: null,
|
|
99
|
+
reasonType: ESCALATION_REASONS.ERROR_ENCOUNTERED,
|
|
100
|
+
disposition: ESCALATION_DISPOSITIONS.NEEDS_OPERATOR,
|
|
101
|
+
anchor: { deliveryId, focusId, branch: branchName },
|
|
102
|
+
description: `Merge conflict merging agent branch into integration.\n\n` +
|
|
103
|
+
`**Delivery:** ${deliveryName}\n` +
|
|
104
|
+
`**Source branch:** ${mergeResult.sourceBranch}\n` +
|
|
105
|
+
`**Target branch:** ${mergeResult.targetBranch}\n` +
|
|
106
|
+
`**Conflicted files:**\n${conflictedFiles.map(f => `- ${f}`).join('\n')}`,
|
|
107
|
+
whatWasTried: `Attempted automatic merge of ${branchName} into ${config.integrationBranch} after agent completed successfully.`,
|
|
108
|
+
helpNeeded: `Resolve the merge conflicts between ${mergeResult.sourceBranch} and ${mergeResult.targetBranch}, then re-queue the delivery.`,
|
|
109
|
+
}), { maxAttempts: 3, label: 'escalation-merge-conflict' });
|
|
110
|
+
log.info(`Created escalation for merge conflict`);
|
|
111
|
+
}
|
|
112
|
+
catch (escErr) {
|
|
113
|
+
log.error(`CRITICAL: Failed to create escalation for merge conflict after retries: ${escErr.message}. Delivery: "${deliveryName}"`);
|
|
114
|
+
}
|
|
115
|
+
const queuedStage = getStageByName(workflow, DELIVERY_STATUS.QUEUED);
|
|
116
|
+
return {
|
|
117
|
+
mergeSucceeded: false,
|
|
118
|
+
exitReason,
|
|
119
|
+
overrideDeliveryStatus: queuedStage?.name ?? DELIVERY_STATUS.QUEUED,
|
|
120
|
+
overrideDeliveryStageId: queuedStage?.id,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
// General merge failure
|
|
124
|
+
const exitReason = `Merge failed: ${mergeResult.error}. Branch ${branchName} preserved for manual merge.`;
|
|
125
|
+
log.warn(`Merge to integration failed: ${mergeResult.error}`);
|
|
126
|
+
return { mergeSucceeded: false, exitReason };
|
|
127
|
+
}
|
|
128
|
+
// ── Constituent commit extraction ───────────────────────────────────
|
|
129
|
+
/**
|
|
130
|
+
* Extract the list of commit SHAs that were merged from a branch.
|
|
131
|
+
*
|
|
132
|
+
* Uses `git log --format=%H <preMergeRef>..<branchName>` in the merge worktree
|
|
133
|
+
* to list all commits on the branch that were not already on the target branch
|
|
134
|
+
* before the merge.
|
|
135
|
+
*
|
|
136
|
+
* Returns an empty array if extraction fails (best-effort).
|
|
137
|
+
*/
|
|
138
|
+
function extractConstituentCommits(config, branchName, preMergeRef) {
|
|
139
|
+
if (!preMergeRef) {
|
|
140
|
+
return [];
|
|
141
|
+
}
|
|
142
|
+
try {
|
|
143
|
+
const mwt = getMergeWorktreePath(config);
|
|
144
|
+
const result = runGitSync(['log', '--format=%H', `${preMergeRef}..${branchName}`], mwt);
|
|
145
|
+
if (result.success && result.output) {
|
|
146
|
+
return result.output.split('\n').filter(Boolean);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
log.warn(`[focusMerge] Failed to extract constituent commits:`, err.message);
|
|
151
|
+
}
|
|
152
|
+
return [];
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=delivery-merge-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-merge-ops.js","sourceRoot":"","sources":["../../src/delivery/delivery-merge-ops.ts"],"names":[],"mappings":"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"}
|