@telora/daemon 0.23.12 → 0.23.15

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.
Files changed (277) hide show
  1. package/build-info.json +4 -3
  2. package/dist/backends/claude/one-shot-model.d.ts +11 -0
  3. package/dist/backends/claude/one-shot-model.d.ts.map +1 -1
  4. package/dist/backends/claude/one-shot-model.js +7 -4
  5. package/dist/backends/claude/one-shot-model.js.map +1 -1
  6. package/dist/backends/claude/one-shot-session.d.ts +15 -0
  7. package/dist/backends/claude/one-shot-session.d.ts.map +1 -0
  8. package/dist/backends/claude/one-shot-session.js +120 -0
  9. package/dist/backends/claude/one-shot-session.js.map +1 -0
  10. package/dist/ci/candidate-ref.d.ts +28 -0
  11. package/dist/ci/candidate-ref.d.ts.map +1 -0
  12. package/dist/ci/candidate-ref.js +81 -0
  13. package/dist/ci/candidate-ref.js.map +1 -0
  14. package/dist/ci/ci-sensor-loop.d.ts.map +1 -1
  15. package/dist/ci/ci-sensor-loop.js +2 -1
  16. package/dist/ci/ci-sensor-loop.js.map +1 -1
  17. package/dist/ci/ci-status-git.d.ts +9 -0
  18. package/dist/ci/ci-status-git.d.ts.map +1 -1
  19. package/dist/ci/ci-status-git.js +16 -2
  20. package/dist/ci/ci-status-git.js.map +1 -1
  21. package/dist/ci/ci-status.d.ts.map +1 -1
  22. package/dist/ci/ci-status.js +5 -1
  23. package/dist/ci/ci-status.js.map +1 -1
  24. package/dist/completion/state-cascade/state-cascade.d.ts +14 -1
  25. package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
  26. package/dist/completion/state-cascade/state-cascade.js +26 -1
  27. package/dist/completion/state-cascade/state-cascade.js.map +1 -1
  28. package/dist/completion/team-exit/merge-phase.d.ts +11 -10
  29. package/dist/completion/team-exit/merge-phase.d.ts.map +1 -1
  30. package/dist/completion/team-exit/merge-phase.js +10 -10
  31. package/dist/completion/team-exit/merge-phase.js.map +1 -1
  32. package/dist/completion/team-teardown/team-lifecycle.d.ts +4 -3
  33. package/dist/completion/team-teardown/team-lifecycle.d.ts.map +1 -1
  34. package/dist/completion/team-teardown/team-lifecycle.js +8 -8
  35. package/dist/completion/team-teardown/team-lifecycle.js.map +1 -1
  36. package/dist/composition/attribution-base-git.d.ts.map +1 -1
  37. package/dist/composition/attribution-base-git.js +3 -1
  38. package/dist/composition/attribution-base-git.js.map +1 -1
  39. package/dist/composition/execution-git-context.d.ts.map +1 -1
  40. package/dist/composition/execution-git-context.js +2 -0
  41. package/dist/composition/execution-git-context.js.map +1 -1
  42. package/dist/composition/execution-merge-context.d.ts +11 -3
  43. package/dist/composition/execution-merge-context.d.ts.map +1 -1
  44. package/dist/composition/execution-merge-context.js +60 -12
  45. package/dist/composition/execution-merge-context.js.map +1 -1
  46. package/dist/composition/process-close-context.js +3 -3
  47. package/dist/composition/process-close-context.js.map +1 -1
  48. package/dist/composition/state-cascade-context.d.ts.map +1 -1
  49. package/dist/composition/state-cascade-context.js +10 -2
  50. package/dist/composition/state-cascade-context.js.map +1 -1
  51. package/dist/composition/team-lifecycle-context.js +3 -3
  52. package/dist/composition/team-lifecycle-context.js.map +1 -1
  53. package/dist/composition/verification-context.d.ts.map +1 -1
  54. package/dist/composition/verification-context.js +25 -27
  55. package/dist/composition/verification-context.js.map +1 -1
  56. package/dist/delivery/delivery-merge-ops.d.ts +2 -0
  57. package/dist/delivery/delivery-merge-ops.d.ts.map +1 -1
  58. package/dist/delivery/delivery-merge-ops.js +2 -2
  59. package/dist/delivery/delivery-merge-ops.js.map +1 -1
  60. package/dist/delivery/delivery-reconciler.d.ts +9 -0
  61. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  62. package/dist/delivery/delivery-reconciler.js +42 -31
  63. package/dist/delivery/delivery-reconciler.js.map +1 -1
  64. package/dist/focus/focus-spawn-decision.d.ts.map +1 -1
  65. package/dist/focus/focus-spawn-decision.js +1 -0
  66. package/dist/focus/focus-spawn-decision.js.map +1 -1
  67. package/dist/git/index.d.ts.map +1 -1
  68. package/dist/git/index.js +2 -1
  69. package/dist/git/index.js.map +1 -1
  70. package/dist/git/merge.d.ts +12 -2
  71. package/dist/git/merge.d.ts.map +1 -1
  72. package/dist/git/merge.js +32 -33
  73. package/dist/git/merge.js.map +1 -1
  74. package/dist/merge/approval-gate-state.d.ts.map +1 -1
  75. package/dist/merge/approval-gate-state.js +8 -7
  76. package/dist/merge/approval-gate-state.js.map +1 -1
  77. package/dist/merge/candidate-rework.d.ts +44 -0
  78. package/dist/merge/candidate-rework.d.ts.map +1 -0
  79. package/dist/merge/candidate-rework.js +152 -0
  80. package/dist/merge/candidate-rework.js.map +1 -0
  81. package/dist/merge/completion-hold-record.d.ts +20 -0
  82. package/dist/merge/completion-hold-record.d.ts.map +1 -0
  83. package/dist/merge/completion-hold-record.js +130 -0
  84. package/dist/merge/completion-hold-record.js.map +1 -0
  85. package/dist/merge/completion-merge-driver.d.ts +96 -0
  86. package/dist/merge/completion-merge-driver.d.ts.map +1 -0
  87. package/dist/merge/completion-merge-driver.js +94 -0
  88. package/dist/merge/completion-merge-driver.js.map +1 -0
  89. package/dist/merge/completion-merge-gate.d.ts +71 -0
  90. package/dist/merge/completion-merge-gate.d.ts.map +1 -0
  91. package/dist/merge/completion-merge-gate.js +185 -0
  92. package/dist/merge/completion-merge-gate.js.map +1 -0
  93. package/dist/merge/completion-merge-pending.d.ts +30 -0
  94. package/dist/merge/completion-merge-pending.d.ts.map +1 -0
  95. package/dist/merge/completion-merge-pending.js +75 -0
  96. package/dist/merge/completion-merge-pending.js.map +1 -0
  97. package/dist/merge/focus-merge.d.ts +21 -6
  98. package/dist/merge/focus-merge.d.ts.map +1 -1
  99. package/dist/merge/focus-merge.js +65 -45
  100. package/dist/merge/focus-merge.js.map +1 -1
  101. package/dist/merge/focus-worktree-removal.d.ts +6 -6
  102. package/dist/merge/focus-worktree-removal.d.ts.map +1 -1
  103. package/dist/merge/focus-worktree-removal.js +10 -6
  104. package/dist/merge/focus-worktree-removal.js.map +1 -1
  105. package/dist/merge/merge-back-conflict.d.ts.map +1 -1
  106. package/dist/merge/merge-back-conflict.js +2 -0
  107. package/dist/merge/merge-back-conflict.js.map +1 -1
  108. package/dist/merge/merge-back-followup.d.ts.map +1 -1
  109. package/dist/merge/merge-back-followup.js +7 -0
  110. package/dist/merge/merge-back-followup.js.map +1 -1
  111. package/dist/merge/merge-back-loop.d.ts +36 -14
  112. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  113. package/dist/merge/merge-back-loop.js +109 -66
  114. package/dist/merge/merge-back-loop.js.map +1 -1
  115. package/dist/merge/merge-gate-coverage.d.ts +9 -61
  116. package/dist/merge/merge-gate-coverage.d.ts.map +1 -1
  117. package/dist/merge/merge-gate-coverage.js +33 -167
  118. package/dist/merge/merge-gate-coverage.js.map +1 -1
  119. package/dist/nexus/escalation-bridge.d.ts.map +1 -1
  120. package/dist/nexus/escalation-bridge.js +2 -1
  121. package/dist/nexus/escalation-bridge.js.map +1 -1
  122. package/dist/nexus/file-escalation.d.ts.map +1 -1
  123. package/dist/nexus/file-escalation.js +5 -1
  124. package/dist/nexus/file-escalation.js.map +1 -1
  125. package/dist/queries/api-client/shared.js +1 -1
  126. package/dist/queries/deliveries/deliveries.d.ts.map +1 -1
  127. package/dist/queries/deliveries/deliveries.js +1 -0
  128. package/dist/queries/deliveries/deliveries.js.map +1 -1
  129. package/dist/queries/delivery-gate-state/delivery-gate-state.js +1 -1
  130. package/dist/queries/delivery-gate-state/verify-own-holds.d.ts +10 -3
  131. package/dist/queries/delivery-gate-state/verify-own-holds.d.ts.map +1 -1
  132. package/dist/queries/delivery-gate-state/verify-own-holds.js +2 -0
  133. package/dist/queries/delivery-gate-state/verify-own-holds.js.map +1 -1
  134. package/dist/queries/escalations/cause-key.d.ts.map +1 -1
  135. package/dist/queries/escalations/cause-key.js +1 -0
  136. package/dist/queries/escalations/cause-key.js.map +1 -1
  137. package/dist/queries/escalations/escalations.d.ts.map +1 -1
  138. package/dist/queries/escalations/escalations.js +2 -1
  139. package/dist/queries/escalations/escalations.js.map +1 -1
  140. package/dist/queries/focuses/focuses.d.ts +12 -2
  141. package/dist/queries/focuses/focuses.d.ts.map +1 -1
  142. package/dist/queries/focuses/focuses.js +24 -3
  143. package/dist/queries/focuses/focuses.js.map +1 -1
  144. package/dist/queries/verification/verification.js +1 -1
  145. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  146. package/dist/spawn/review-hold-park.js +1 -0
  147. package/dist/spawn/review-hold-park.js.map +1 -1
  148. package/dist/supervision/agent-resolvable-retirement.d.ts +1 -1
  149. package/dist/supervision/agent-resolvable-retirement.d.ts.map +1 -1
  150. package/dist/supervision/agent-resolvable-retirement.js +2 -1
  151. package/dist/supervision/agent-resolvable-retirement.js.map +1 -1
  152. package/dist/supervision/escalation-filing.js +1 -1
  153. package/dist/supervision/incident-correlation.d.ts +3 -0
  154. package/dist/supervision/incident-correlation.d.ts.map +1 -1
  155. package/dist/supervision/incident-correlation.js +4 -0
  156. package/dist/supervision/incident-correlation.js.map +1 -1
  157. package/dist/supervision/null-role-spawn.d.ts.map +1 -1
  158. package/dist/supervision/null-role-spawn.js +1 -0
  159. package/dist/supervision/null-role-spawn.js.map +1 -1
  160. package/dist/supervision/spawn-cooldown.js +1 -1
  161. package/dist/supervision/stop-rows-work-holds.d.ts +4 -4
  162. package/dist/supervision/stop-rows-work-holds.d.ts.map +1 -1
  163. package/dist/supervision/stop-rows-work-holds.js +17 -15
  164. package/dist/supervision/stop-rows-work-holds.js.map +1 -1
  165. package/dist/testing/fixtures/api-client.js +1 -1
  166. package/dist/testing/fixtures/index.js +1 -1
  167. package/dist/testing/fixtures/judge-session.d.ts +14 -0
  168. package/dist/testing/fixtures/judge-session.d.ts.map +1 -0
  169. package/dist/testing/fixtures/judge-session.js +10 -0
  170. package/dist/testing/fixtures/judge-session.js.map +1 -0
  171. package/dist/testing/fixtures/verification-deps.d.ts +2 -1
  172. package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
  173. package/dist/testing/fixtures/verification-deps.js +4 -1
  174. package/dist/testing/fixtures/verification-deps.js.map +1 -1
  175. package/dist/testing/fixtures/vitest-failure-log.d.ts +10 -0
  176. package/dist/testing/fixtures/vitest-failure-log.d.ts.map +1 -0
  177. package/dist/testing/fixtures/vitest-failure-log.js +27 -0
  178. package/dist/testing/fixtures/vitest-failure-log.js.map +1 -0
  179. package/dist/types/index.js +1 -1
  180. package/dist/verify/attribution/verification-attribution.d.ts.map +1 -1
  181. package/dist/verify/attribution/verification-attribution.js +2 -1
  182. package/dist/verify/attribution/verification-attribution.js.map +1 -1
  183. package/dist/verify/attribution/verification-baseline-files.d.ts +29 -0
  184. package/dist/verify/attribution/verification-baseline-files.d.ts.map +1 -0
  185. package/dist/verify/attribution/verification-baseline-files.js +125 -0
  186. package/dist/verify/attribution/verification-baseline-files.js.map +1 -0
  187. package/dist/verify/attribution/verification-baseline-run.d.ts.map +1 -1
  188. package/dist/verify/attribution/verification-baseline-run.js +1 -0
  189. package/dist/verify/attribution/verification-baseline-run.js.map +1 -1
  190. package/dist/verify/attribution/verification-baseline.d.ts +15 -0
  191. package/dist/verify/attribution/verification-baseline.d.ts.map +1 -1
  192. package/dist/verify/attribution/verification-baseline.js +28 -3
  193. package/dist/verify/attribution/verification-baseline.js.map +1 -1
  194. package/dist/verify/deterministic-gate/verification-checkout.d.ts.map +1 -1
  195. package/dist/verify/deterministic-gate/verification-checkout.js +1 -0
  196. package/dist/verify/deterministic-gate/verification-checkout.js.map +1 -1
  197. package/dist/verify/deterministic-gate/verification-deterministic.d.ts +30 -0
  198. package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
  199. package/dist/verify/deterministic-gate/verification-deterministic.js +2 -0
  200. package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
  201. package/dist/verify/deterministic-gate/verification-gate-stages.d.ts.map +1 -1
  202. package/dist/verify/deterministic-gate/verification-gate-stages.js +1 -0
  203. package/dist/verify/deterministic-gate/verification-gate-stages.js.map +1 -1
  204. package/dist/verify/effect-reconciliation/judge-invoker.d.ts +14 -4
  205. package/dist/verify/effect-reconciliation/judge-invoker.d.ts.map +1 -1
  206. package/dist/verify/effect-reconciliation/judge-invoker.js +30 -12
  207. package/dist/verify/effect-reconciliation/judge-invoker.js.map +1 -1
  208. package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts +18 -5
  209. package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts.map +1 -1
  210. package/dist/verify/effect-reconciliation/verify-reconciliation.js +75 -18
  211. package/dist/verify/effect-reconciliation/verify-reconciliation.js.map +1 -1
  212. package/dist/verify/effect-reconciliation/verify-restatement.js +1 -1
  213. package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
  214. package/dist/verify/engine/verification-commit-sharing.js +14 -2
  215. package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
  216. package/dist/verify/engine/verification-deps.d.ts +23 -0
  217. package/dist/verify/engine/verification-deps.d.ts.map +1 -1
  218. package/dist/verify/engine/verification-deps.js +1 -1
  219. package/dist/verify/engine/verification-engine.js +1 -1
  220. package/dist/verify/failing-test-rerun/failing-test-rerunner.d.ts +34 -0
  221. package/dist/verify/failing-test-rerun/failing-test-rerunner.d.ts.map +1 -0
  222. package/dist/verify/failing-test-rerun/failing-test-rerunner.js +34 -0
  223. package/dist/verify/failing-test-rerun/failing-test-rerunner.js.map +1 -0
  224. package/dist/verify/failing-test-rerun/failing-test-retry.d.ts +80 -0
  225. package/dist/verify/failing-test-rerun/failing-test-retry.d.ts.map +1 -0
  226. package/dist/verify/failing-test-rerun/failing-test-retry.js +102 -0
  227. package/dist/verify/failing-test-rerun/failing-test-retry.js.map +1 -0
  228. package/dist/verify/failing-test-rerun/flaky-test-finding.d.ts +11 -0
  229. package/dist/verify/failing-test-rerun/flaky-test-finding.d.ts.map +1 -0
  230. package/dist/verify/failing-test-rerun/flaky-test-finding.js +63 -0
  231. package/dist/verify/failing-test-rerun/flaky-test-finding.js.map +1 -0
  232. package/dist/verify/failing-test-rerun/rerun-command.d.ts +45 -0
  233. package/dist/verify/failing-test-rerun/rerun-command.d.ts.map +1 -0
  234. package/dist/verify/failing-test-rerun/rerun-command.js +132 -0
  235. package/dist/verify/failing-test-rerun/rerun-command.js.map +1 -0
  236. package/dist/verify/failing-test-rerun/rework-recheck.d.ts +41 -0
  237. package/dist/verify/failing-test-rerun/rework-recheck.d.ts.map +1 -0
  238. package/dist/verify/failing-test-rerun/rework-recheck.js +169 -0
  239. package/dist/verify/failing-test-rerun/rework-recheck.js.map +1 -0
  240. package/dist/verify/gate-config/verification-config.d.ts.map +1 -1
  241. package/dist/verify/gate-config/verification-config.js +16 -2
  242. package/dist/verify/gate-config/verification-config.js.map +1 -1
  243. package/dist/verify/gate-config/verification-manifest.d.ts +26 -1
  244. package/dist/verify/gate-config/verification-manifest.d.ts.map +1 -1
  245. package/dist/verify/gate-config/verification-manifest.js +31 -1
  246. package/dist/verify/gate-config/verification-manifest.js.map +1 -1
  247. package/dist/verify/inspection-strategies/verification-strategies.js +1 -1
  248. package/dist/verify/inspection-strategies/verification-strategies.js.map +1 -1
  249. package/dist/verify/outcome-routing/incurable-model-hold.d.ts +9 -3
  250. package/dist/verify/outcome-routing/incurable-model-hold.d.ts.map +1 -1
  251. package/dist/verify/outcome-routing/incurable-model-hold.js +18 -5
  252. package/dist/verify/outcome-routing/incurable-model-hold.js.map +1 -1
  253. package/dist/verify/outcome-routing/repeating-model-hold.d.ts +30 -0
  254. package/dist/verify/outcome-routing/repeating-model-hold.d.ts.map +1 -0
  255. package/dist/verify/outcome-routing/repeating-model-hold.js +135 -0
  256. package/dist/verify/outcome-routing/repeating-model-hold.js.map +1 -0
  257. package/dist/verify/outcome-routing/verification-history-reset.d.ts.map +1 -1
  258. package/dist/verify/outcome-routing/verification-history-reset.js +1 -0
  259. package/dist/verify/outcome-routing/verification-history-reset.js.map +1 -1
  260. package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts +10 -4
  261. package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts.map +1 -1
  262. package/dist/verify/outcome-routing/verification-model-unavailable-hold.js +24 -6
  263. package/dist/verify/outcome-routing/verification-model-unavailable-hold.js.map +1 -1
  264. package/dist/verify/run-selection/default-on-guards.js +1 -1
  265. package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts +4 -3
  266. package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts.map +1 -1
  267. package/dist/verify/run-selection/pre-review-gate-dispatch.js +23 -7
  268. package/dist/verify/run-selection/pre-review-gate-dispatch.js.map +1 -1
  269. package/dist/verify/run-selection/verification-default-on.js +1 -1
  270. package/dist/verify/run-selection/verification-default-on.js.map +1 -1
  271. package/dist/worktree/provision.d.ts.map +1 -1
  272. package/dist/worktree/provision.js +1 -0
  273. package/dist/worktree/provision.js.map +1 -1
  274. package/dist/worktree/safety.d.ts.map +1 -1
  275. package/dist/worktree/safety.js +1 -0
  276. package/dist/worktree/safety.js.map +1 -1
  277. package/package.json +1 -1
@@ -5,8 +5,9 @@
5
5
  // packages/daemon/src/merge/resolver-exhausted-observation.test.ts
6
6
  // PINNED-BY-END
7
7
  import { branchHasUnmergedCommits } from '../worktree/index.js';
8
- import { runGitSync } from '../git/index.js';
9
8
  import { configForProduct } from '../config/config.js';
9
+ import { focusCompletionHold } from './completion-merge-gate.js';
10
+ import { driveCompletionMergeStep } from './completion-merge-driver.js';
10
11
  import { getActiveFocuses } from '../queries/focuses/focus-discovery.js';
11
12
  import { focusBlockageCauseKey } from '../queries/escalations/cause-key.js';
12
13
  import { classifyMergeFailure } from './merge-failure-classify.js';
@@ -17,6 +18,12 @@ import { createLogger } from '../log/daemon-log.js';
17
18
  const log = createLogger({ module: 'merge-back-loop' });
18
19
  // ── Stuck-branch escalation kind (Delivery 4) ─────────────────────────
19
20
  export const STUCK_FOCUS_BRANCH_KIND = 'stuck_focus_branch';
21
+ /**
22
+ * A deterministic merge failure repeating past the signal window. Its own kind,
23
+ * not stuck_focus_branch: that kind means a COMPLETED focus whose merge was held
24
+ * past the stuck threshold, and nothing else files it.
25
+ */
26
+ export const MERGE_FAILURE_REPEATING_KIND = 'merge_failure_repeating';
20
27
  const EMPTY_ATTEMPT_STATE = {
21
28
  lastSuccessAt: null,
22
29
  lastFailureAt: null,
@@ -90,24 +97,6 @@ function readStuckBranchThresholdMs(env) {
90
97
  // Sourced from the typed env-config (validated at startup; default 24h).
91
98
  return loadEnvConfig(env).TELORA_STUCK_BRANCH_THRESHOLD_HOURS * 3_600_000;
92
99
  }
93
- /**
94
- * Read the unix-epoch milliseconds timestamp of the oldest commit on
95
- * `branchName` not yet present on `targetBranch`. Returns null if there
96
- * are no unmerged commits or the git invocation fails.
97
- */
98
- export function getOldestUnmergedCommitMs(branchName, targetBranch, repoPath) {
99
- const result = runGitSync(['log', '--format=%ct', `${targetBranch}..${branchName}`], repoPath);
100
- if (!result.success)
101
- return null;
102
- const lines = result.output.trim().split('\n').filter(Boolean);
103
- if (lines.length === 0)
104
- return null;
105
- // git log lists newest-first; the last line is the oldest commit.
106
- const seconds = Number.parseInt(lines[lines.length - 1], 10);
107
- if (!Number.isFinite(seconds) || Number.isNaN(seconds))
108
- return null;
109
- return seconds * 1000;
110
- }
111
100
  /**
112
101
  * Enumerate focus branches with commits ahead of integration.
113
102
  *
@@ -270,23 +259,38 @@ function summarizeAttempts(state) {
270
259
  return 'No merge attempts recorded since daemon startup.';
271
260
  return parts.join('; ');
272
261
  }
262
+ /**
263
+ * When a COMPLETED focus's integration merge was first held, from its durable
264
+ * record (merge/completion-hold-record.ts): stamped the first tick the focus is
265
+ * seen complete, read back after, so a restart neither resets nor re-arms it and
266
+ * no delivery row write moves it. A focus that is not complete is not held --
267
+ * under completion-only merging a branch ahead of integration while its focus
268
+ * codes is normal, never stuck -- so its record is cleared and this is null.
269
+ */
270
+ export function completionHeldSince(info, deliveries, now, hold) {
271
+ if (deliveries.length === 0 || focusCompletionHold(deliveries) !== null) {
272
+ hold.clear(info.productId, info.focusId);
273
+ return null;
274
+ }
275
+ return hold.stamp(info.productId, info.focusId, now);
276
+ }
273
277
  /**
274
278
  * Decide whether to file a stuck-branch escalation for this branch.
275
279
  *
276
280
  * Conditions (all must hold):
277
- * - branch has at least one unmerged commit (already guaranteed by enumerate)
278
- * - oldest unmerged commit is older than threshold
281
+ * - the focus is COMPLETE and its integration merge has been held longer than
282
+ * the threshold, counted from the first hold (completionHeldSince)
279
283
  * - worktree is NOT being written
280
284
  * - no successful merge attempt has been recorded within the threshold window
281
285
  * - no open OR dismissed stuck_focus_branch escalation carries this branch's
282
286
  * cause key (idempotency + dismissal memory, enforced by the shared gate)
283
287
  */
284
- async function maybeFileStuckBranchEscalation(info, oldestUnmergedMs, worktreeActive, thresholdMs, now, fileEscalation) {
288
+ async function maybeFileStuckBranchEscalation(info, heldSinceMs, worktreeActive, thresholdMs, now, fileEscalation) {
285
289
  if (worktreeActive)
286
290
  return;
287
- if (oldestUnmergedMs == null)
291
+ if (heldSinceMs == null)
288
292
  return;
289
- if (now - oldestUnmergedMs <= thresholdMs)
293
+ if (now - heldSinceMs <= thresholdMs)
290
294
  return;
291
295
  const state = branchAttempts.get(info.branchName);
292
296
  if (state?.lastSuccessAt && now - state.lastSuccessAt <= thresholdMs)
@@ -294,11 +298,11 @@ async function maybeFileStuckBranchEscalation(info, oldestUnmergedMs, worktreeAc
294
298
  // Per-branch cause key: one open row per stuck branch; a dismissed one keeps it
295
299
  // silent until the branch merges (dedup + dismissal memory in one gate).
296
300
  const causeKey = focusBlockageCauseKey(STUCK_FOCUS_BRANCH_KIND, info.focusId, info.branchName);
297
- const ageHours = Math.floor((now - oldestUnmergedMs) / 3_600_000);
298
- const description = `Focus branch sat ahead of integration for ~${ageHours}h with no successful merge.\n\n` +
301
+ const ageHours = Math.floor((now - heldSinceMs) / 3_600_000);
302
+ const description = `The completed focus's integration merge has been held for ~${ageHours}h with no successful merge.\n\n` +
299
303
  `**Focus:** ${info.focusName}\n` +
300
304
  `**Branch:** ${info.branchName}\n` +
301
- `**Oldest unmerged commit:** ${new Date(oldestUnmergedMs).toISOString()}\n` +
305
+ `**Held since:** ${new Date(heldSinceMs).toISOString()} (first tick the focus was complete and held)\n` +
302
306
  `**Recent attempts:** ${summarizeAttempts(state)}`;
303
307
  try {
304
308
  await fileEscalation({
@@ -321,7 +325,7 @@ async function maybeFileStuckBranchEscalation(info, oldestUnmergedMs, worktreeAc
321
325
  // branch_name is the dedup discriminator for this branch-scoped class
322
326
  // (findPendingEscalationForBranch reads it); there is no branch column.
323
327
  branch_name: info.branchName,
324
- oldest_commit_ts: oldestUnmergedMs,
328
+ held_since_ts: heldSinceMs,
325
329
  last_failure_reason: state?.lastFailureReason ?? null,
326
330
  },
327
331
  });
@@ -336,17 +340,21 @@ async function maybeFileStuckBranchEscalation(info, oldestUnmergedMs, worktreeAc
336
340
  * cause absorbed as a symptom onto another open row of the focus (over this tick's pending read).
337
341
  */
338
342
  async function resolveStuckBranchEscalations(info, pending, deps) {
339
- const match = findPendingEscalationForBranch(pending, STUCK_FOCUS_BRANCH_KIND, info.branchName);
340
- const clearing = { causeKeys: [focusBlockageCauseKey(STUCK_FOCUS_BRANCH_KIND, info.focusId, info.branchName)], scope: { focusId: info.focusId }, resolutionClass: 'auto_swept' };
341
- await deps.retireAbsorbedSymptoms(clearing, { rows: pending, skipIds: match ? [match.id] : [] });
342
- if (!match)
343
- return;
344
- try {
345
- await deps.markEscalationResolved(match.id, 'auto_swept', 'Branch merged automatically by merge-back-loop');
346
- log.info(`Auto-resolved stuck_focus_branch escalation ${match.id} for ${info.branchName}`);
347
- }
348
- catch (err) {
349
- log.warn(`[merge-back-loop] markEscalationResolved failed for ${match.id}:`, err.message);
343
+ const kinds = [STUCK_FOCUS_BRANCH_KIND, MERGE_FAILURE_REPEATING_KIND];
344
+ const matches = kinds.flatMap((kind) => {
345
+ const match = findPendingEscalationForBranch(pending, kind, info.branchName);
346
+ return match ? [{ kind, id: match.id }] : [];
347
+ });
348
+ const clearing = { causeKeys: kinds.map((kind) => focusBlockageCauseKey(kind, info.focusId, info.branchName)), scope: { focusId: info.focusId }, resolutionClass: 'auto_swept' };
349
+ await deps.retireAbsorbedSymptoms(clearing, { rows: pending, skipIds: matches.map((m) => m.id) });
350
+ for (const { kind, id } of matches) {
351
+ try {
352
+ await deps.markEscalationResolved(id, 'auto_swept', 'Branch merged automatically by merge-back-loop');
353
+ log.info(`Auto-resolved ${kind} escalation ${id} for ${info.branchName}`);
354
+ }
355
+ catch (err) {
356
+ log.warn(`[merge-back-loop] markEscalationResolved failed for ${id}:`, err.message);
357
+ }
350
358
  }
351
359
  }
352
360
  /** Human-readable one-liner for a deterministic merge-failure condition. */
@@ -375,9 +383,10 @@ function describeDeterministicRemedy(failureClass, branch) {
375
383
  * Signal a DETERMINISTIC merge failure that has repeated identically for at least
376
384
  * the signal window. Unlike the aged-out stuck-branch escalation (24h threshold),
377
385
  * this fires within minutes: the failure is self-inflicted and unclearable by
378
- * retrying, so waiting a day serves nothing. Files through the SAME cause-keyed
379
- * idempotent gate as the stuck-branch escalation (one open row per branch), so
380
- * the two never double-file. Returns true when a signal was filed.
386
+ * retrying, so waiting a day serves nothing. Files its OWN kind
387
+ * (MERGE_FAILURE_REPEATING_KIND, one cause-keyed open row per branch): a
388
+ * stuck_focus_branch filing is reserved for a completed focus held past the
389
+ * stuck threshold. Returns true when a signal was filed.
381
390
  */
382
391
  async function maybeSignalDeterministicRepeat(info, state, failureClass, now, signalMs, fileEscalation) {
383
392
  // Only after the SAME condition has repeated (>=2) AND persisted past the
@@ -386,7 +395,7 @@ async function maybeSignalDeterministicRepeat(info, state, failureClass, now, si
386
395
  return false;
387
396
  if (state.firstRepeatAt == null || now - state.firstRepeatAt < signalMs)
388
397
  return false;
389
- const causeKey = focusBlockageCauseKey(STUCK_FOCUS_BRANCH_KIND, info.focusId, info.branchName);
398
+ const causeKey = focusBlockageCauseKey(MERGE_FAILURE_REPEATING_KIND, info.focusId, info.branchName);
390
399
  const minutes = Math.floor((now - state.firstRepeatAt) / 60_000);
391
400
  const description = `Merge-back for focus "${info.focusName}" branch ${info.branchName} has FAILED IDENTICALLY ` +
392
401
  `(${failureClass}) ${state.repeatCount} times over ~${minutes}m -- ` +
@@ -405,7 +414,7 @@ async function maybeSignalDeterministicRepeat(info, state, failureClass, now, si
405
414
  description,
406
415
  whatWasTried: summarizeAttempts(state),
407
416
  helpNeeded: describeDeterministicRemedy(failureClass, info.branchName),
408
- escalationKind: STUCK_FOCUS_BRANCH_KIND,
417
+ escalationKind: MERGE_FAILURE_REPEATING_KIND,
409
418
  metadata: {
410
419
  branch_name: info.branchName,
411
420
  failure_class: failureClass,
@@ -415,7 +424,7 @@ async function maybeSignalDeterministicRepeat(info, state, failureClass, now, si
415
424
  },
416
425
  });
417
426
  log.warn(`[merge-back-loop] SIGNAL: ${info.branchName} deterministic ${failureClass} x${state.repeatCount} ` +
418
- `(~${minutes}m); filed stuck_focus_branch and throttling.`);
427
+ `(~${minutes}m); filed merge_failure_repeating and throttling.`);
419
428
  return true;
420
429
  }
421
430
  catch (err) {
@@ -444,6 +453,44 @@ async function handleMergeFailure(info, rec, now, signalMs, fileEscalation) {
444
453
  `(repeat ${state.repeatCount}); handled by the conflict / stuck-branch paths, not throttled.`);
445
454
  }
446
455
  }
456
+ /**
457
+ * The focus's deliveries ([] when unreadable) and the stuck clock: when this
458
+ * completed focus's merge was first held (null while it codes, or unread).
459
+ */
460
+ async function readFocusDeliveries(info, now, deps) {
461
+ try {
462
+ const deliveries = await deps.getFocusDeliveries(info.focusId);
463
+ return { deliveries, heldSince: completionHeldSince(info, deliveries, now, deps.completionHold) };
464
+ }
465
+ catch (err) {
466
+ log.warn(`[merge-back-loop] getFocusDeliveries failed for ${info.focusId}:`, err.message);
467
+ return { deliveries: [], heldSince: null };
468
+ }
469
+ }
470
+ /**
471
+ * A held completion merge: drive the step the hold names (merge/completion-merge-driver.ts),
472
+ * then let the stuck-branch surface judge the hold.
473
+ */
474
+ async function holdOnCompletionGate(config, info, gate, heldSinceMs, thresholdMs, now, deps) {
475
+ log.debug(`[merge-back-loop] skip ${info.branchName}: ${gate.hold} -- held off ${config.integrationBranch}`);
476
+ if (gate.incomplete) {
477
+ // The gate re-read the deliveries and the focus is not complete (it re-opened
478
+ // since this tick's snapshot): the snapshot's hold is stale -- end it, file nothing.
479
+ deps.completionHold.clear(info.productId, info.focusId);
480
+ return;
481
+ }
482
+ if (gate.next && gate.headSha) {
483
+ const productConfig = configForProduct(config, { id: info.productId, repoPath: info.repoPath });
484
+ const step = await driveCompletionMergeStep(info, gate.next, gate.headSha, deps.completionMergeDriver(productConfig, info));
485
+ if (step.reworked) {
486
+ // The step returned the focus to coding: it is no longer complete, so its
487
+ // hold is over -- the pre-step snapshot must not file it as stuck.
488
+ deps.completionHold.clear(info.productId, info.focusId);
489
+ return;
490
+ }
491
+ }
492
+ await maybeFileStuckBranchEscalation(info, heldSinceMs, false, thresholdMs, now, deps.fileEscalation);
493
+ }
447
494
  /**
448
495
  * Run one merge-back tick across all products in the daemon config.
449
496
  *
@@ -490,6 +537,11 @@ export async function runMergeBackTick(config, deps) {
490
537
  log.debug(`skip ${info.branchName}: read-only focus`);
491
538
  continue;
492
539
  }
540
+ // The deliveries -- and with them the completion-hold clock -- are read BEFORE
541
+ // any skip: a re-opened focus (its team writing, its worktree dirty, a conflict
542
+ // record open) must clear its first hold, or its next completion would read
543
+ // the old instant and file stuck at once.
544
+ const { deliveries, heldSince } = await readFocusDeliveries(info, now, deps);
493
545
  // Gate 0.5: throttle. A branch whose last failure was deterministic and
494
546
  // unclearable is backed off so it does not re-attempt every 30s tick; it
495
547
  // becomes eligible again once the throttle window elapses (state may have
@@ -529,24 +581,15 @@ export async function runMergeBackTick(config, deps) {
529
581
  await deps.followUpMergeBackConflict(configForProduct(config, { id: info.productId, repoPath: info.repoPath }), info);
530
582
  continue;
531
583
  }
532
- // Gather worked deliveries (see WORKED_STATUSES).
533
- let deliveries = [];
534
- try {
535
- deliveries = await deps.getFocusDeliveries(info.focusId);
536
- }
537
- catch (err) {
538
- log.warn(`[merge-back-loop] getFocusDeliveries failed for ${info.focusId}:`, err.message);
539
- }
584
+ // Gather worked deliveries (see WORKED_STATUSES); read above, before any skip.
540
585
  const allDeliveryIds = deliveries.map((d) => d.id);
541
586
  const workedDeliveryIds = deliveries.filter((d) => WORKED_STATUSES.has(d.executionStatus ?? '')).map((d) => d.id);
542
587
  if (allDeliveryIds.length === 0) {
543
588
  // Degenerate case: branch is ahead but the focus has no deliveries
544
- // (e.g., orphaned branch with no focus row). Skip and consider the
545
- // stuck-branch surface — operators decide whether to keep or clean up.
589
+ // (e.g., orphaned branch with no focus row). Not a completed focus, so
590
+ // not a held completion merge: skip, and file nothing.
546
591
  counts.skipped += 1;
547
592
  log.debug(`skip ${info.branchName}: focus has no deliveries`);
548
- const oldestMs = deps.getOldestUnmergedCommitMs(info.branchName, config.integrationBranch, info.repoPath);
549
- await maybeFileStuckBranchEscalation(info, oldestMs, writeSignal.active, thresholdMs, now, deps.fileEscalation);
550
593
  continue;
551
594
  }
552
595
  // Gate 4: merge-eligibility. A focus whose deliveries are ALL still in
@@ -568,14 +611,14 @@ export async function runMergeBackTick(config, deps) {
568
611
  log.debug(`[merge-back-loop] skip ${info.branchName}: no verify/done delivery (deliveries still coding) -- waiting for the review gate`);
569
612
  continue;
570
613
  }
571
- // Gate 4.5: a commit no review/verify gate covers is not eligible either (every focus merge's
572
- // rule). Unlike a coding-only hold it need not clear alone, so it can age into stuck.
614
+ // Gate 4.5: the completion merge gate. A held completion merge names the step
615
+ // that advances it (merge-out, candidate push, CI wait, re-work); this loop is
616
+ // the one driver of those steps (merge/completion-merge-driver.ts).
573
617
  const target = { organizationId: info.organizationId, productId: info.productId, focusId: info.focusId, branchName: info.branchName, integrationBranch: config.integrationBranch, repoPath: info.repoPath };
574
618
  const gate = await deps.readMergeGate(target);
575
619
  if (gate.hold !== null) {
576
620
  counts.skipped += 1;
577
- log.debug(`[merge-back-loop] skip ${info.branchName}: ${gate.hold} -- held off ${config.integrationBranch}`);
578
- await maybeFileStuckBranchEscalation(info, deps.getOldestUnmergedCommitMs(info.branchName, config.integrationBranch, info.repoPath), false, thresholdMs, now, deps.fileEscalation);
621
+ await holdOnCompletionGate(config, info, gate, heldSince, thresholdMs, now, deps);
579
622
  continue;
580
623
  }
581
624
  // Pass ALL delivery IDs as knownDeliveryIds so mergeFocusBranch's
@@ -587,7 +630,7 @@ export async function runMergeBackTick(config, deps) {
587
630
  const productConfig = configForProduct(config, { id: info.productId, repoPath: info.repoPath });
588
631
  let mergeResult;
589
632
  try {
590
- mergeResult = await deps.mergeFocusBranch(productConfig, teamState, /* sessionId */ '', info.branchName, workedDeliveryIds);
633
+ mergeResult = await deps.mergeFocusBranch(productConfig, teamState, /* sessionId */ '', info.branchName, workedDeliveryIds, gate.candidateSha);
591
634
  }
592
635
  catch (err) {
593
636
  counts.conflicts += 1;
@@ -599,6 +642,7 @@ export async function runMergeBackTick(config, deps) {
599
642
  if (mergeResult.mergeSucceeded) {
600
643
  counts.merged += 1;
601
644
  recordSuccess(info, config.integrationBranch, gate.admittedBy, now);
645
+ deps.completionHold.clear(info.productId, info.focusId);
602
646
  await resolveStuckBranchEscalations(info, pending, deps);
603
647
  }
604
648
  else {
@@ -607,10 +651,9 @@ export async function runMergeBackTick(config, deps) {
607
651
  // Deterministic conditions (hook rejection / dirty worktree) are throttled
608
652
  // and signalled within minutes; every failure logs its condition + action.
609
653
  await handleMergeFailure(info, rec, now, signalMs, deps.fileEscalation);
610
- // Re-evaluate stuck-branch escalation: a persistent failure should
611
- // surface as 'stuck' once the branch ages out (24h path, shared cause key).
612
- const oldestMs = deps.getOldestUnmergedCommitMs(info.branchName, config.integrationBranch, info.repoPath);
613
- await maybeFileStuckBranchEscalation(info, oldestMs, writeSignal.active, thresholdMs, now, deps.fileEscalation);
654
+ // Re-evaluate stuck-branch escalation: a persistent failure of the completed
655
+ // focus's merge surfaces as 'stuck' once its hold ages out (shared cause key).
656
+ await maybeFileStuckBranchEscalation(info, heldSince, writeSignal.active, thresholdMs, now, deps.fileEscalation);
614
657
  }
615
658
  }
616
659
  log.info(`[merge-back-loop] tick: ${counts.scanned} branches scanned, ${counts.merged} merged, ${counts.skipped} skipped, ${counts.conflicts} conflicts`);
@@ -1 +1 @@
1
- {"version":3,"file":"merge-back-loop.js","sourceRoot":"","sources":["../../src/merge/merge-back-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-back-loop.js","sourceRoot":"","sources":["../../src/merge/merge-back-loop.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { ApprovalGateState } from './approval-gate-state.js';
2
1
  /** One commit the merge would add to integration. */
3
2
  export interface UnmergedCommit {
4
3
  sha: string;
@@ -14,7 +13,7 @@ export interface UnmergedCommit {
14
13
  /** A commit that passed one of the focus's gates, and the unmerged commits it contains. */
15
14
  export interface GatedAnchor {
16
15
  sha: string;
17
- source: 'approved_review' | 'auto_approval' | 'passing_verdict';
16
+ source: 'approved_review' | 'auto_approval';
18
17
  /** The anchor's ancestry not on integration, the anchor itself included. */
19
18
  contains: ReadonlySet<string>;
20
19
  }
@@ -25,28 +24,6 @@ export interface MergeGateCoverage {
25
24
  /** The daemon captures among `ungated`. */
26
25
  ungatedWipCaptures: UnmergedCommit[];
27
26
  }
28
- /** An approval the gate state at its commit kept from anchoring. */
29
- export interface RefusedApproval {
30
- sha: string;
31
- state: 'failed' | 'pending';
32
- }
33
- export type MergeGateCoverageResult = {
34
- kind: 'unreadable';
35
- reason: string;
36
- } | {
37
- kind: 'judged';
38
- coverage: MergeGateCoverage;
39
- /** The anchors that gate at least one judged commit. */
40
- anchors: GatedAnchor[];
41
- refusedApproval: RefusedApproval | null;
42
- };
43
- /** A merge the gate holds, with why; or one it admits, with the anchors that admitted it. */
44
- export type MergeGateDecision = {
45
- hold: string;
46
- } | {
47
- hold: null;
48
- admittedBy: string;
49
- };
50
27
  /** The focus branch a merge would send, and where. */
51
28
  export interface MergeGateTarget {
52
29
  organizationId: string;
@@ -60,22 +37,6 @@ export interface MergeGateTarget {
60
37
  export type BranchMergeGateTarget = Omit<MergeGateTarget, 'focusId'> & {
61
38
  focusId: string | null;
62
39
  };
63
- /**
64
- * Injected reads. The production binding (git, the product-api and the verdict
65
- * record) is built at the composition root (composition/execution-merge-context.ts).
66
- */
67
- export interface MergeGateCoverageDeps {
68
- /** integration..branch, newest first; null when git cannot list it. */
69
- listUnmergedCommits: (repoPath: string, integrationBranch: string, branchName: string) => UnmergedCommit[] | null;
70
- /** The anchor's full sha and its unmerged ancestry; null when git cannot resolve the sha. */
71
- resolveAnchor: (repoPath: string, integrationBranch: string, sha: string) => Omit<GatedAnchor, 'source'> | null;
72
- /** The commit the focus's newest current approval judged, null when none; throws when unreadable. */
73
- readApprovedReviewSha: (target: MergeGateTarget) => Promise<string | null>;
74
- /** Whether a passing deterministic verdict is recorded for the commit; throws when unreadable. */
75
- hasPassingVerdict: (target: MergeGateTarget, sha: string) => boolean;
76
- /** The gate state at the commit an approval judged; throws when unreadable. */
77
- judgeApprovalGate: (target: MergeGateTarget, sha: string) => Promise<ApprovalGateState>;
78
- }
79
40
  /** True for a commit the daemon wrote to capture an agent's uncommitted work. Pure. */
80
41
  export declare function isDaemonWipCapture(commit: Pick<UnmergedCommit, 'subject'>): boolean;
81
42
  /** Which judged commits -- every commit but a proven-clean merge -- the anchors leave ungated. Pure. */
@@ -92,27 +53,14 @@ export declare function isCleanMerge(repoPath: string, sha: string, parentCount:
92
53
  export declare function listUnmergedCommits(repoPath: string, integrationBranch: string, branchName: string): UnmergedCommit[] | null;
93
54
  /** The anchor's full sha and its ancestry not on integration; null for a malformed or unknown sha. */
94
55
  export declare function resolveGatedAnchor(repoPath: string, integrationBranch: string, sha: string): Omit<GatedAnchor, 'source'> | null;
56
+ /** The branch's head sha; null when git cannot resolve it. */
57
+ export declare function resolveBranchHead(repoPath: string, branchName: string): string | null;
58
+ /** Whether `ancestor` is an ancestor-or-equal of `descendant`; false when git cannot tell (e.g. an unfetched tip). */
59
+ export declare function isAncestorCommit(repoPath: string, ancestor: string, descendant: string): boolean;
95
60
  /**
96
- * Judge the commits a merge of `target` would add. Verdicts (local records) are
97
- * read newest-first only for commits no anchor already contains, stopping once
98
- * everything is gated; the approving review (a product-api read) is read only
99
- * when some commit is still ungated after that, and anchors only as the gate
100
- * state at its commit allows (see the module header). Any unreadable input
101
- * returns 'unreadable' (the caller holds the merge).
102
- */
103
- export declare function evaluateMergeGateCoverage(target: MergeGateTarget, deps: MergeGateCoverageDeps): Promise<MergeGateCoverageResult>;
104
- /** Why the merge must hold, or null when it may proceed. Pure. */
105
- export declare function mergeGateHoldReason(result: MergeGateCoverageResult): string | null;
106
- /** The anchors that admitted a judged merge, for its log line, e.g. `anchors: passing_verdict 1c3e3e506`. Pure. */
107
- export declare function mergeGateAdmission(anchors: readonly Pick<GatedAnchor, 'sha' | 'source'>[]): string;
108
- /** Hold with the reason, or admit with the anchors that admitted the merge. Pure. */
109
- export declare function mergeGateDecision(result: MergeGateCoverageResult): MergeGateDecision;
110
- /** Whether a merge of `target` holds (and why) or is admitted (and by what). Never throws: a failed read holds. */
111
- export declare function readMergeGateDecision(target: MergeGateTarget, deps: MergeGateCoverageDeps): Promise<MergeGateDecision>;
112
- /**
113
- * The decision for a merge of a branch whose focus may be unknown. With no focus
114
- * there is no verdict or approving review to read, so every non-merge commit is
115
- * ungated and the merge holds.
61
+ * The integration tip a completion merge must contain: the REMOTE tip (a scoped
62
+ * read-only ls-remote) when the repo has an origin, else the local branch.
63
+ * Null when unreadable.
116
64
  */
117
- export declare function readMergeGateDecisionForBranch(target: BranchMergeGateTarget, deps: MergeGateCoverageDeps): Promise<MergeGateDecision>;
65
+ export declare function resolveGateIntegrationTip(repoPath: string, integrationBranch: string): string | null;
118
66
  //# sourceMappingURL=merge-gate-coverage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-gate-coverage.d.ts","sourceRoot":"","sources":["../../src/merge/merge-gate-coverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-gate-coverage.d.ts","sourceRoot":"","sources":["../../src/merge/merge-gate-coverage.ts"],"names":[],"mappings":"AAqCA,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,2FAA2F;AAC3F,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAC5C,4EAA4E;IAC5E,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,sGAAsG;IACtG,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,2CAA2C;IAC3C,kBAAkB,EAAE,cAAc,EAAE,CAAC;CACtC;AAED,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6FAA6F;AAC7F,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAKlG,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG,OAAO,CAEnF;AAQD,wGAAwG;AACxG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,iBAAiB,CAI7H;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAIxF;AAED,mHAAmH;AACnH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,IAAI,CAoB5H;AAED,sGAAsG;AACtG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAO/H;AAED,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIrF;AAED,sHAAsH;AACtH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhG;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQpG"}