@straiffi/archon 1.7.2 → 1.7.4

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 (176) hide show
  1. package/dist/client/assets/ActivityView-BgMz3NNT.js +1 -0
  2. package/dist/client/assets/GitHubActionsDialog-CNqWDS3E.js +1 -0
  3. package/dist/client/assets/TestsDialog-Cll7xJe0.js +4 -0
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-Do9nbC8v.js → architectureDiagram-3BPJPVTR-BL5dYiul.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-DGGOLHF8.js → blockDiagram-GPEHLZMM-Bi5x2v80.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-Bz7tQybs.js → c4Diagram-AAUBKEIU-esEm54Ay.js} +1 -1
  7. package/dist/client/assets/channel-CqNHF3FD.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-CJO-GmWJ.js → chunk-2J33WTMH-DACfY8xM.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-DPAVagpC.js → chunk-3OPIFGDE-DZNUiaUs.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-Cof75Mu7.js → chunk-5ZQYHXKU-ClDfkMAp.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-COuPqQ8_.js → chunk-727SXJPM-CCwA3GWT.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-CFj5KabW.js → chunk-AQP2D5EJ-Byl4DRZ9.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-C4M6w5cT.js → chunk-CSCIHK7Q-CXymZQ7A.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-ByaiwVue.js → chunk-KSCS5N6A-VV3D8g6a.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-Cx5jeot9.js → chunk-L5ZTLDWV-BL9N5GRI.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-DmGtztud.js → chunk-LZXEDZCA-DKNN-zno.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-i3yuspqL.js → chunk-ND2GUHAM-CHCpQ1yr.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-CQ4E_jP4.js → chunk-NZK2D7GU-B0Dm74mt.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-D2g4VDCd.js → chunk-O5CBEL6O-DAa5z2xG.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-exIu-zQ2.js → chunk-WU5MYG2G-DrVJWKVR.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-BjEgQwKg.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-gGomH-F_.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-DvF75yLZ.js → dagre-BM42HDAG-B0fsl8mE.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-DFv0HxLL.js → diagram-2AECGRRQ-Cx_VEbSS.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-C_LRir0-.js → diagram-5GNKFQAL-Cv7VVn5r.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-DGZxRDRy.js → diagram-KO2AKTUF-C8Sl5czV.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-UXt0uti4.js → diagram-LMA3HP47-C3dZaLz2.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-CFbZS4n5.js → diagram-OG6HWLK6-BAU9DtTr.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-CfAwZDdf.js → erDiagram-TEJ5UH35-DpNc-eBD.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-Cdgi5z3n.js → flowDiagram-I6XJVG4X-DGwTAT1S.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-DOrkFkhu.js → ganttDiagram-6RSMTGT7-MPZhEgzJ.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-cEox0peD.js → gitGraphDiagram-PVQCEYII-CY0tHL5N.js} +1 -1
  33. package/dist/client/assets/index-CJRgmWwY.js +273 -0
  34. package/dist/client/assets/index-mRkJWu70.css +2 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-gm51u2Nn.js → infoDiagram-5YYISTIA-BBZeKjf4.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CjnoOIja.js → ishikawaDiagram-YF4QCWOH-CM_iFrES.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-Dlg4DsiO.js → journeyDiagram-JHISSGLW-Do_lY94X.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-BU0XZaSd.js → kanban-definition-UN3LZRKU-brxg3j37.js} +1 -1
  39. package/dist/client/assets/{line-Bert22-_.js → line-PHHbm9rj.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-BvQSGDmL.js → mermaid-parser.core-CLxAkW69.js} +1 -1
  41. package/dist/client/assets/{mermaid.core--qSAHJRj.js → mermaid.core-CebvSmx9.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-BgFIvWWD.js → mindmap-definition-RKZ34NQL-CX_-ZaJF.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-DGcbXD0M.js → pieDiagram-4H26LBE5-BJuHvql_.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-ClkBUeia.js → quadrantDiagram-W4KKPZXB-DiJll7l9.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-B8CwGToU.js → requirementDiagram-4Y6WPE33-Bg-tXgcj.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DTk3jL6B.js → sankeyDiagram-5OEKKPKP-BoK2egfZ.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BQVrcnKf.js → sequenceDiagram-3UESZ5HK-DcrDWNzv.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-DD4yMZPB.js → stateDiagram-AJRCARHV-B995qt1S.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Dn8P7Sa1.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-BnCBVqcd.js → timeline-definition-PNZ67QCA-DqSVAhqL.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-BDmLMNXS.js → vennDiagram-CIIHVFJN-D9wVraVY.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DSLuQiEv.js → wardleyDiagram-YWT4CUSO-CLff9zVd.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DAq_LA4r.js → xychartDiagram-2RQKCTM6-BuHUMMH2.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/db.js +472 -39
  56. package/dist/server/db.js.map +1 -1
  57. package/dist/server/index.js +1311 -212
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/lib/agent.js +228 -71
  60. package/dist/server/lib/agent.js.map +1 -1
  61. package/dist/server/lib/agentRuns.js +205 -38
  62. package/dist/server/lib/agentRuns.js.map +1 -1
  63. package/dist/server/lib/attachments.js +24 -0
  64. package/dist/server/lib/attachments.js.map +1 -1
  65. package/dist/server/lib/automationProgression.js +464 -0
  66. package/dist/server/lib/automationProgression.js.map +1 -0
  67. package/dist/server/lib/automationReconciliation.js +498 -0
  68. package/dist/server/lib/automationReconciliation.js.map +1 -0
  69. package/dist/server/lib/automationStageDetails.js +232 -0
  70. package/dist/server/lib/automationStageDetails.js.map +1 -0
  71. package/dist/server/lib/buildOpenQuestionOperations.js +238 -0
  72. package/dist/server/lib/buildOpenQuestionOperations.js.map +1 -0
  73. package/dist/server/lib/buildOpenQuestions.js +44 -0
  74. package/dist/server/lib/buildOpenQuestions.js.map +1 -1
  75. package/dist/server/lib/buildSequences.js +130 -46
  76. package/dist/server/lib/buildSequences.js.map +1 -1
  77. package/dist/server/lib/bundleReviewOperations.js +91 -9
  78. package/dist/server/lib/bundleReviewOperations.js.map +1 -1
  79. package/dist/server/lib/chatOperations.js +67 -12
  80. package/dist/server/lib/chatOperations.js.map +1 -1
  81. package/dist/server/lib/executionReconciliation.js +518 -0
  82. package/dist/server/lib/executionReconciliation.js.map +1 -0
  83. package/dist/server/lib/executionRetry.js +694 -0
  84. package/dist/server/lib/executionRetry.js.map +1 -0
  85. package/dist/server/lib/executionRetryContext.js +489 -0
  86. package/dist/server/lib/executionRetryContext.js.map +1 -0
  87. package/dist/server/lib/executionRetryPredicates.js +74 -0
  88. package/dist/server/lib/executionRetryPredicates.js.map +1 -0
  89. package/dist/server/lib/executionRunRetention.js +141 -0
  90. package/dist/server/lib/executionRunRetention.js.map +1 -0
  91. package/dist/server/lib/executionRuns.js +1367 -0
  92. package/dist/server/lib/executionRuns.js.map +1 -0
  93. package/dist/server/lib/executionTimeline.js +45 -0
  94. package/dist/server/lib/executionTimeline.js.map +1 -0
  95. package/dist/server/lib/git.js +385 -6
  96. package/dist/server/lib/git.js.map +1 -1
  97. package/dist/server/lib/integrations/github.js +43 -0
  98. package/dist/server/lib/integrations/github.js.map +1 -1
  99. package/dist/server/lib/integrations/githubActions.js +1 -0
  100. package/dist/server/lib/integrations/githubActions.js.map +1 -1
  101. package/dist/server/lib/integrations/githubActionsSessions.js +337 -114
  102. package/dist/server/lib/integrations/githubActionsSessions.js.map +1 -1
  103. package/dist/server/lib/projectMemorySelections.js +7 -3
  104. package/dist/server/lib/projectMemorySelections.js.map +1 -1
  105. package/dist/server/lib/shutdown.js +2 -2
  106. package/dist/server/lib/shutdown.js.map +1 -1
  107. package/dist/server/lib/specArtifact.js +3 -0
  108. package/dist/server/lib/specArtifact.js.map +1 -1
  109. package/dist/server/lib/specFormatting.js +1 -1
  110. package/dist/server/lib/specFormatting.js.map +1 -1
  111. package/dist/server/lib/specOperations.js +78 -12
  112. package/dist/server/lib/specOperations.js.map +1 -1
  113. package/dist/server/lib/specReviewContext.js +54 -18
  114. package/dist/server/lib/specReviewContext.js.map +1 -1
  115. package/dist/server/lib/specReviewDraft.js +3 -2
  116. package/dist/server/lib/specReviewDraft.js.map +1 -1
  117. package/dist/server/lib/specReviewOperations.js +74 -9
  118. package/dist/server/lib/specReviewOperations.js.map +1 -1
  119. package/dist/server/lib/specReviewValidation.js +217 -0
  120. package/dist/server/lib/specReviewValidation.js.map +1 -0
  121. package/dist/server/lib/specReviews.js +30 -2
  122. package/dist/server/lib/specReviews.js.map +1 -1
  123. package/dist/server/lib/specs.js +18 -1
  124. package/dist/server/lib/specs.js.map +1 -1
  125. package/dist/server/lib/stageSnapshots.js +197 -0
  126. package/dist/server/lib/stageSnapshots.js.map +1 -0
  127. package/dist/server/lib/testSessions.js +160 -18
  128. package/dist/server/lib/testSessions.js.map +1 -1
  129. package/dist/server/lib/ticketAutomation.js +80 -4
  130. package/dist/server/lib/ticketAutomation.js.map +1 -1
  131. package/dist/server/lib/ticketAutomationCommit.js +466 -91
  132. package/dist/server/lib/ticketAutomationCommit.js.map +1 -1
  133. package/dist/server/lib/ticketFollowUpOperations.js +270 -29
  134. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  135. package/dist/server/lib/ticketMessages.js +16 -0
  136. package/dist/server/lib/ticketMessages.js.map +1 -1
  137. package/dist/server/lib/ticketRunOperations.js +51 -6
  138. package/dist/server/lib/ticketRunOperations.js.map +1 -1
  139. package/dist/server/lib/ticketUndo.js +77 -168
  140. package/dist/server/lib/ticketUndo.js.map +1 -1
  141. package/dist/server/lib/ticketWorkflowOperations.js +132 -28
  142. package/dist/server/lib/ticketWorkflowOperations.js.map +1 -1
  143. package/dist/server/lib/tickets.js +41 -27
  144. package/dist/server/lib/tickets.js.map +1 -1
  145. package/dist/server/lib/transcriptRuns.js +3 -3
  146. package/dist/server/lib/transcriptRuns.js.map +1 -1
  147. package/dist/server/lib/turnExecutionErrors.js +12 -0
  148. package/dist/server/lib/turnExecutionErrors.js.map +1 -0
  149. package/dist/server/lib/types.js +58 -1
  150. package/dist/server/lib/types.js.map +1 -1
  151. package/dist/server/workers/build.js +596 -184
  152. package/dist/server/workers/build.js.map +1 -1
  153. package/dist/server/workers/chat.js +269 -132
  154. package/dist/server/workers/chat.js.map +1 -1
  155. package/dist/server/workers/followUp.js +731 -203
  156. package/dist/server/workers/followUp.js.map +1 -1
  157. package/dist/server/workers/plan.js +546 -188
  158. package/dist/server/workers/plan.js.map +1 -1
  159. package/dist/server/workers/planFollowUp.js +240 -75
  160. package/dist/server/workers/planFollowUp.js.map +1 -1
  161. package/dist/server/workers/review.js +790 -297
  162. package/dist/server/workers/review.js.map +1 -1
  163. package/dist/server/workers/specReview.js +212 -46
  164. package/dist/server/workers/specReview.js.map +1 -1
  165. package/dist/server/workers/specSession.js +434 -254
  166. package/dist/server/workers/specSession.js.map +1 -1
  167. package/package.json +1 -1
  168. package/dist/client/assets/GitHubActionsDialog-DAD5REmY.js +0 -1
  169. package/dist/client/assets/TestsDialog-B5NVrroq.js +0 -4
  170. package/dist/client/assets/TicketChangesModal-By-_gTGd.js +0 -1
  171. package/dist/client/assets/channel-Dd5Len0X.js +0 -1
  172. package/dist/client/assets/classDiagram-4FO5ZUOK-B7KUg6r8.js +0 -1
  173. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CQm-z5c4.js +0 -1
  174. package/dist/client/assets/index-BHq6-Eir.js +0 -270
  175. package/dist/client/assets/index-BxTc5qQT.css +0 -2
  176. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-C8yO6POT.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chatOperations.js","sourceRoot":"","sources":["../../../server/lib/chatOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatOperations.js","sourceRoot":"","sources":["../../../server/lib/chatOperations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,518 @@
1
+ import db from '../db.js';
2
+ import { terminalizeAgentRunsForExecutionRun, terminalizeLegacyAgentRuns } from './agentRuns.js';
3
+ import { recoverInterruptedBuildOpenQuestionBatch } from './buildOpenQuestions.js';
4
+ import { reconcileActiveBuildSequences } from './buildSequences.js';
5
+ import { reconcileInterruptedTestRuns, withExecutionRunTransaction } from './executionRuns.js';
6
+ import { reconcileGitHubActionsRuns } from './integrations/githubActionsSessions.js';
7
+ import { reconcileInterruptedSpecReviewRuns } from './specReviews.js';
8
+ import { getWaitingOpenQuestionProgression, resolveProgressionForChild, waitAutomationProgression, } from './automationProgression.js';
9
+ import { getBundleAutomationState } from './ticketAutomation.js';
10
+ import { reconcileAutomationExecutions } from './automationReconciliation.js';
11
+ const ACTIVE_EXECUTION_STATUSES = "('queued', 'running', 'waiting')";
12
+ const RESTART_FAILURE_MESSAGE = 'Interrupted by server restart';
13
+ const directWorkflowPolicies = [
14
+ {
15
+ kind: 'build',
16
+ eventType: 'build_interrupted',
17
+ failureMessage: 'The server restarted while this Build run was active.',
18
+ domainParent: { sourceKind: 'ticket', table: 'tickets' },
19
+ },
20
+ {
21
+ kind: 'review',
22
+ eventType: 'review_interrupted',
23
+ failureMessage: 'The server restarted while this Review run was active.',
24
+ domainParent: { sourceKind: 'ticket', table: 'tickets' },
25
+ },
26
+ {
27
+ kind: 'build_follow_up',
28
+ eventType: 'build_follow_up_interrupted',
29
+ failureMessage: 'The server restarted while this Build follow-up was active.',
30
+ domainParent: { sourceKind: 'ticket', table: 'tickets' },
31
+ },
32
+ {
33
+ kind: 'plan',
34
+ eventType: 'plan_interrupted',
35
+ failureMessage: 'The server restarted while this Plan run was active.',
36
+ domainParent: { sourceKind: 'ticket', table: 'tickets' },
37
+ },
38
+ {
39
+ kind: 'plan_follow_up',
40
+ eventType: 'plan_follow_up_interrupted',
41
+ failureMessage: 'The server restarted while this Plan follow-up was active.',
42
+ domainParent: { sourceKind: 'ticket', table: 'tickets' },
43
+ },
44
+ {
45
+ kind: 'planning_agent',
46
+ eventType: 'planning_agent_interrupted',
47
+ failureMessage: 'The server restarted while this planning-agent run was active.',
48
+ },
49
+ {
50
+ kind: 'chat_turn',
51
+ eventType: 'chat_turn_interrupted',
52
+ failureMessage: 'The server restarted while this Chat turn was active.',
53
+ domainParent: { sourceKind: 'chat_session', table: 'chat_sessions' },
54
+ },
55
+ {
56
+ kind: 'spec_turn',
57
+ eventType: 'spec_turn_interrupted',
58
+ failureMessage: 'The server restarted while this Spec turn was active.',
59
+ domainParent: { sourceKind: 'spec_session', table: 'spec_sessions' },
60
+ },
61
+ ];
62
+ const getBuildOpenQuestionBatchId = (metadataJson) => {
63
+ if (!metadataJson) {
64
+ return null;
65
+ }
66
+ try {
67
+ const metadata = JSON.parse(metadataJson);
68
+ if (!metadata || typeof metadata !== 'object' || Array.isArray(metadata)) {
69
+ return null;
70
+ }
71
+ const batchId = metadata.build_open_question_batch_id;
72
+ return typeof batchId === 'string' && batchId.length > 0 ? batchId : null;
73
+ }
74
+ catch {
75
+ return null;
76
+ }
77
+ };
78
+ const ownsBuildOpenQuestionBatch = (run, batch) => {
79
+ if (run.project_id !== batch.project_id || run.source_kind !== 'ticket' || !run.source_id || run.initiated_by !== 'user') {
80
+ return false;
81
+ }
82
+ const ownership = db.prepare(`
83
+ SELECT 1
84
+ FROM tickets
85
+ WHERE tickets.id = ?
86
+ AND tickets.project_id = ?
87
+ AND tickets.worktree_bundle_id = ?
88
+ AND EXISTS (
89
+ SELECT 1 FROM execution_run_links
90
+ WHERE execution_run_id = ? AND project_id = ?
91
+ AND entity_type = 'ticket' AND entity_id = tickets.id AND relationship = 'primary'
92
+ )
93
+ AND EXISTS (
94
+ SELECT 1 FROM execution_run_links
95
+ WHERE execution_run_id = ? AND project_id = ?
96
+ AND entity_type = 'bundle' AND entity_id = ? AND relationship = 'context'
97
+ )
98
+ AND EXISTS (
99
+ SELECT 1
100
+ FROM execution_run_links trigger_link
101
+ JOIN ticket_messages trigger_message ON trigger_message.id = trigger_link.entity_id
102
+ WHERE trigger_link.execution_run_id = ? AND trigger_link.project_id = ?
103
+ AND trigger_link.entity_type = 'ticket_message' AND trigger_link.relationship = 'trigger'
104
+ AND trigger_message.ticket_id = tickets.id
105
+ )
106
+ `).get(run.source_id, batch.project_id, batch.worktree_bundle_id, run.id, batch.project_id, run.id, batch.project_id, batch.worktree_bundle_id, run.id, batch.project_id);
107
+ return Boolean(ownership);
108
+ };
109
+ const interruptBuildOpenQuestionRun = (transaction, run) => {
110
+ transaction.transitionExecutionRun({
111
+ projectId: run.project_id,
112
+ runId: run.id,
113
+ status: 'interrupted',
114
+ domainStatus: 'interrupted',
115
+ failure: {
116
+ code: 'server_restarted',
117
+ message: 'The server restarted while this Build open question follow-up was active.',
118
+ },
119
+ eventType: 'build_follow_up_interrupted',
120
+ eventMessage: 'The server restarted while this Build open question follow-up was active.',
121
+ });
122
+ const terminalized = terminalizeAgentRunsForExecutionRun(run.id, 'error', RESTART_FAILURE_MESSAGE);
123
+ const errored = run.source_kind === 'ticket' && run.source_id
124
+ ? db.prepare(`
125
+ UPDATE tickets SET agent_status = 'error'
126
+ WHERE id = ? AND project_id = ? AND agent_status = 'running'
127
+ `).run(run.source_id, run.project_id).changes
128
+ : 0;
129
+ return { terminalized, errored };
130
+ };
131
+ const reconcileBuildOpenQuestionBatches = () => {
132
+ const batches = db.prepare(`
133
+ SELECT id, project_id, worktree_bundle_id
134
+ FROM build_open_question_batches
135
+ WHERE status IN ('pending', 'running')
136
+ ORDER BY created_at ASC, id ASC
137
+ `).all();
138
+ const runs = db.prepare(`
139
+ SELECT id, project_id, source_kind, source_id, metadata_json, initiated_by
140
+ FROM execution_runs
141
+ WHERE kind = 'build_follow_up' AND status IN ${ACTIVE_EXECUTION_STATUSES}
142
+ ORDER BY created_at ASC, id ASC
143
+ `).all();
144
+ let adoptedInterrupted = 0;
145
+ let legacyRecovered = 0;
146
+ let childRowsTerminalized = 0;
147
+ let ticketsErrored = 0;
148
+ let questionsReopened = 0;
149
+ let automationPaused = 0;
150
+ let inconsistentBatchesRecovered = 0;
151
+ const createLegacyRecoveryProgression = (batch) => {
152
+ const state = getBundleAutomationState(batch.project_id, batch.worktree_bundle_id);
153
+ if (!state?.automation_progression_run_id
154
+ && !state?.automation_pause_reason_code
155
+ && (!state?.automation_paused_reason || state.automation_paused_code === 'open_questions')) {
156
+ return getWaitingOpenQuestionProgression({
157
+ projectId: batch.project_id,
158
+ bundleId: batch.worktree_bundle_id,
159
+ });
160
+ }
161
+ return null;
162
+ };
163
+ for (const batch of batches) {
164
+ const referencedRuns = runs.filter(run => getBuildOpenQuestionBatchId(run.metadata_json) === batch.id);
165
+ const ownedRuns = referencedRuns.filter(run => {
166
+ if (!ownsBuildOpenQuestionBatch(run, batch)) {
167
+ return false;
168
+ }
169
+ try {
170
+ resolveProgressionForChild({
171
+ projectId: batch.project_id,
172
+ bundleId: batch.worktree_bundle_id,
173
+ childRunId: run.id,
174
+ });
175
+ return true;
176
+ }
177
+ catch {
178
+ return false;
179
+ }
180
+ });
181
+ if (referencedRuns.length > 0 && (referencedRuns.length !== 1 || ownedRuns.length !== 1)) {
182
+ createLegacyRecoveryProgression(batch);
183
+ const recovered = withExecutionRunTransaction(transaction => {
184
+ let terminalized = 0;
185
+ let errored = 0;
186
+ for (const referencedRun of referencedRuns) {
187
+ const interrupted = interruptBuildOpenQuestionRun(transaction, referencedRun);
188
+ terminalized += interrupted.terminalized;
189
+ errored += interrupted.errored;
190
+ }
191
+ return {
192
+ terminalized,
193
+ errored,
194
+ batchRecovery: recoverInterruptedBuildOpenQuestionBatch(batch.id),
195
+ };
196
+ });
197
+ inconsistentBatchesRecovered += recovered.batchRecovery.batch_recovered;
198
+ childRowsTerminalized += recovered.terminalized;
199
+ ticketsErrored += recovered.errored;
200
+ questionsReopened += recovered.batchRecovery.questions_reopened;
201
+ automationPaused += recovered.batchRecovery.automation_paused;
202
+ continue;
203
+ }
204
+ const [ownedRun] = ownedRuns;
205
+ if (ownedRun) {
206
+ const progression = resolveProgressionForChild({
207
+ projectId: batch.project_id,
208
+ bundleId: batch.worktree_bundle_id,
209
+ childRunId: ownedRun.id,
210
+ });
211
+ const recovered = withExecutionRunTransaction(transaction => {
212
+ const interrupted = interruptBuildOpenQuestionRun(transaction, ownedRun);
213
+ const batchRecovery = recoverInterruptedBuildOpenQuestionBatch(batch.id);
214
+ waitAutomationProgression({
215
+ projectId: batch.project_id,
216
+ bundleId: batch.worktree_bundle_id,
217
+ progressionRunId: progression.id,
218
+ pauseCode: 'open_questions',
219
+ pauseReason: 'Build open question follow-up was interrupted by a server restart',
220
+ reasonCode: 'server_restart',
221
+ pausedStageRunId: ownedRun.id,
222
+ });
223
+ return { ...interrupted, batchRecovery };
224
+ });
225
+ adoptedInterrupted += recovered.batchRecovery.batch_recovered;
226
+ childRowsTerminalized += recovered.terminalized;
227
+ ticketsErrored += recovered.errored;
228
+ questionsReopened += recovered.batchRecovery.questions_reopened;
229
+ automationPaused += recovered.batchRecovery.automation_paused;
230
+ continue;
231
+ }
232
+ createLegacyRecoveryProgression(batch);
233
+ const recovered = db.transaction(() => recoverInterruptedBuildOpenQuestionBatch(batch.id))();
234
+ legacyRecovered += recovered.batch_recovered;
235
+ questionsReopened += recovered.questions_reopened;
236
+ automationPaused += recovered.automation_paused;
237
+ }
238
+ return {
239
+ adopted_interrupted: adoptedInterrupted,
240
+ legacy_recovered: legacyRecovered,
241
+ child_rows_terminalized: childRowsTerminalized,
242
+ tickets_errored: ticketsErrored,
243
+ questions_reopened: questionsReopened,
244
+ automation_paused: automationPaused,
245
+ inconsistent_batches_recovered: inconsistentBatchesRecovered,
246
+ };
247
+ };
248
+ const interruptSequenceBuild = (input) => {
249
+ const rows = db.prepare(`
250
+ SELECT execution_runs.id, execution_runs.project_id
251
+ FROM execution_runs
252
+ INNER JOIN execution_run_links sequence_link
253
+ ON sequence_link.execution_run_id = execution_runs.id
254
+ AND sequence_link.project_id = execution_runs.project_id
255
+ AND sequence_link.entity_type = 'build_sequence'
256
+ AND sequence_link.entity_id = ?
257
+ AND sequence_link.relationship = 'context'
258
+ INNER JOIN execution_run_links ticket_link
259
+ ON ticket_link.execution_run_id = execution_runs.id
260
+ AND ticket_link.project_id = execution_runs.project_id
261
+ AND ticket_link.entity_type = 'ticket'
262
+ AND ticket_link.entity_id = ?
263
+ AND ticket_link.relationship = 'primary'
264
+ WHERE execution_runs.project_id = ?
265
+ AND execution_runs.kind = 'build'
266
+ AND execution_runs.status IN ${ACTIVE_EXECUTION_STATUSES}
267
+ `).all(input.sequenceId, input.ticketId, input.projectId);
268
+ if (rows.length > 1) {
269
+ return false;
270
+ }
271
+ if (rows.length === 0) {
272
+ db.prepare(`
273
+ UPDATE tickets SET agent_status = 'error'
274
+ WHERE id = ? AND project_id = ? AND (agent_status = 'running' OR agent_status IS NULL)
275
+ `).run(input.ticketId, input.projectId);
276
+ return true;
277
+ }
278
+ const [run] = rows;
279
+ withExecutionRunTransaction(transaction => {
280
+ transaction.transitionExecutionRun({
281
+ projectId: run.project_id,
282
+ runId: run.id,
283
+ status: 'interrupted',
284
+ domainStatus: 'interrupted',
285
+ failure: { code: 'server_restarted', message: 'The server restarted while this sequenced Build run was active.' },
286
+ eventType: 'build_interrupted',
287
+ eventMessage: 'The server restarted while this sequenced Build run was active.',
288
+ });
289
+ terminalizeAgentRunsForExecutionRun(run.id, 'error', RESTART_FAILURE_MESSAGE);
290
+ db.prepare(`
291
+ UPDATE tickets SET agent_status = 'error'
292
+ WHERE id = ? AND project_id = ? AND (agent_status = 'running' OR agent_status IS NULL)
293
+ `).run(input.ticketId, input.projectId);
294
+ });
295
+ return true;
296
+ };
297
+ const reconcileSpecReviews = () => {
298
+ const rows = db.prepare(`
299
+ SELECT id, project_id
300
+ FROM execution_runs
301
+ WHERE kind = 'spec_review' AND status IN ${ACTIVE_EXECUTION_STATUSES}
302
+ ORDER BY created_at ASC, id ASC
303
+ `).all();
304
+ let childRowsTerminalized = 0;
305
+ let domainRunsErrored = 0;
306
+ for (const row of rows) {
307
+ withExecutionRunTransaction(transaction => {
308
+ domainRunsErrored += db.prepare(`
309
+ UPDATE spec_review_runs
310
+ SET agent_status = 'error',
311
+ response_text = COALESCE(response_text, ?),
312
+ streaming_response = NULL,
313
+ completed_at = CURRENT_TIMESTAMP
314
+ WHERE agent_status = 'running'
315
+ AND id IN (
316
+ SELECT entity_id
317
+ FROM execution_run_links
318
+ WHERE execution_run_id = ?
319
+ AND entity_type = 'spec_review_run'
320
+ AND relationship = 'result'
321
+ )
322
+ `).run(RESTART_FAILURE_MESSAGE, row.id).changes;
323
+ childRowsTerminalized += terminalizeAgentRunsForExecutionRun(row.id, 'error', RESTART_FAILURE_MESSAGE);
324
+ transaction.transitionExecutionRun({
325
+ projectId: row.project_id,
326
+ runId: row.id,
327
+ status: 'interrupted',
328
+ domainStatus: 'error',
329
+ failure: { code: 'server_restarted', message: 'The server restarted while this Spec Review was active.' },
330
+ eventType: 'spec_review_interrupted',
331
+ eventMessage: 'The server restarted while this Spec Review was active.',
332
+ });
333
+ });
334
+ }
335
+ const legacyRunsErrored = reconcileInterruptedSpecReviewRuns();
336
+ return {
337
+ interrupted: rows.length,
338
+ child_rows_terminalized: childRowsTerminalized,
339
+ domain_runs_errored: domainRunsErrored,
340
+ legacy_runs_errored: legacyRunsErrored,
341
+ };
342
+ };
343
+ const reconcileDirectWorkflow = (policy) => {
344
+ const rows = db.prepare(`
345
+ SELECT id, project_id, source_kind, source_id
346
+ FROM execution_runs
347
+ WHERE kind = ? AND status IN ${ACTIVE_EXECUTION_STATUSES}
348
+ AND NOT EXISTS (
349
+ SELECT 1 FROM execution_runs parent
350
+ WHERE parent.id = execution_runs.parent_run_id
351
+ AND parent.project_id = execution_runs.project_id
352
+ AND parent.kind IN ('automation_progression', 'automation_review_fix')
353
+ )
354
+ ORDER BY created_at ASC, id ASC
355
+ `).all(policy.kind);
356
+ let childRowsTerminalized = 0;
357
+ let domainParentsErrored = 0;
358
+ const interruptRun = (row) => {
359
+ withExecutionRunTransaction(transaction => {
360
+ transaction.transitionExecutionRun({
361
+ projectId: row.project_id,
362
+ runId: row.id,
363
+ status: 'interrupted',
364
+ domainStatus: 'interrupted',
365
+ failure: {
366
+ code: 'server_restarted',
367
+ message: policy.failureMessage,
368
+ },
369
+ eventType: policy.eventType,
370
+ eventMessage: policy.failureMessage,
371
+ });
372
+ childRowsTerminalized += terminalizeAgentRunsForExecutionRun(row.id, 'error', RESTART_FAILURE_MESSAGE);
373
+ if (policy.domainParent && row.source_kind === policy.domainParent.sourceKind && row.source_id) {
374
+ const parentStatusCondition = policy.kind === 'review' || policy.kind === 'build'
375
+ ? "(agent_status = 'running' OR agent_status IS NULL)"
376
+ : "agent_status = 'running'";
377
+ domainParentsErrored += db.prepare(`
378
+ UPDATE ${policy.domainParent.table}
379
+ SET agent_status = 'error'
380
+ WHERE id = ? AND project_id = ? AND ${parentStatusCondition}
381
+ `).run(row.source_id, row.project_id).changes;
382
+ }
383
+ });
384
+ };
385
+ for (const row of rows) {
386
+ interruptRun(row);
387
+ }
388
+ if (policy.domainParent) {
389
+ domainParentsErrored += db.prepare(`
390
+ UPDATE ${policy.domainParent.table}
391
+ SET agent_status = 'error'
392
+ WHERE agent_status = 'running'
393
+ AND NOT EXISTS (
394
+ SELECT 1
395
+ FROM execution_run_links owner_link
396
+ JOIN execution_runs owner_run ON owner_run.id = owner_link.execution_run_id
397
+ WHERE owner_link.project_id = ${policy.domainParent.table}.project_id
398
+ AND owner_link.entity_type = ?
399
+ AND owner_link.entity_id = ${policy.domainParent.table}.id
400
+ AND owner_link.relationship = 'primary'
401
+ AND owner_run.status IN ${ACTIVE_EXECUTION_STATUSES}
402
+ )
403
+ `).run(policy.domainParent.sourceKind).changes;
404
+ }
405
+ return {
406
+ interrupted: rows.length,
407
+ child_rows_terminalized: childRowsTerminalized,
408
+ domain_parents_errored: domainParentsErrored,
409
+ };
410
+ };
411
+ export const createExecutionReconciliationPolicies = (input) => [
412
+ {
413
+ key: 'automation',
414
+ workLocality: 'durable_orchestration',
415
+ startupStrategy: 'reconcile',
416
+ terminalStatus: null,
417
+ failureCode: null,
418
+ updatesDomainRecords: true,
419
+ pausesAutomation: true,
420
+ reconcile: reconcileAutomationExecutions,
421
+ },
422
+ {
423
+ key: 'test',
424
+ workLocality: 'local_process',
425
+ startupStrategy: 'interrupt',
426
+ terminalStatus: 'interrupted',
427
+ failureCode: 'server_restarted',
428
+ updatesDomainRecords: false,
429
+ pausesAutomation: false,
430
+ reconcile: () => ({ interrupted: reconcileInterruptedTestRuns() }),
431
+ },
432
+ {
433
+ key: 'build_sequence',
434
+ workLocality: 'durable_orchestration',
435
+ startupStrategy: 'reconcile',
436
+ terminalStatus: 'interrupted',
437
+ failureCode: 'server_restarted',
438
+ updatesDomainRecords: true,
439
+ pausesAutomation: false,
440
+ reconcile: () => reconcileActiveBuildSequences({ interruptActiveChild: interruptSequenceBuild }),
441
+ },
442
+ {
443
+ key: 'build_open_question_batch',
444
+ workLocality: 'durable_orchestration',
445
+ startupStrategy: 'reconcile',
446
+ terminalStatus: 'interrupted',
447
+ failureCode: 'server_restarted',
448
+ updatesDomainRecords: true,
449
+ pausesAutomation: true,
450
+ reconcile: reconcileBuildOpenQuestionBatches,
451
+ },
452
+ ...directWorkflowPolicies.map(policy => ({
453
+ key: policy.kind,
454
+ workLocality: 'local_process',
455
+ startupStrategy: 'interrupt',
456
+ terminalStatus: 'interrupted',
457
+ failureCode: 'server_restarted',
458
+ updatesDomainRecords: Boolean(policy.domainParent),
459
+ pausesAutomation: false,
460
+ reconcile: () => reconcileDirectWorkflow(policy),
461
+ })),
462
+ {
463
+ key: 'spec_review',
464
+ workLocality: 'local_process',
465
+ startupStrategy: 'interrupt',
466
+ terminalStatus: 'interrupted',
467
+ failureCode: 'server_restarted',
468
+ updatesDomainRecords: true,
469
+ pausesAutomation: false,
470
+ reconcile: reconcileSpecReviews,
471
+ },
472
+ {
473
+ key: 'github_actions',
474
+ workLocality: 'externally_observable',
475
+ startupStrategy: 'reconcile',
476
+ terminalStatus: null,
477
+ failureCode: null,
478
+ updatesDomainRecords: false,
479
+ pausesAutomation: false,
480
+ reconcile: () => reconcileGitHubActionsRuns({
481
+ getConfig: input.getGitHubConfig,
482
+ startPolling: false,
483
+ }),
484
+ },
485
+ ];
486
+ export const reconcileStartupExecutions = async (input) => {
487
+ const policies = input.policies ?? createExecutionReconciliationPolicies(input);
488
+ const summary = {};
489
+ const failures = [];
490
+ const policyKeys = new Set();
491
+ for (const policy of policies) {
492
+ if (policyKeys.has(policy.key)) {
493
+ throw new Error(`Duplicate startup reconciliation policy key: ${policy.key}`);
494
+ }
495
+ policyKeys.add(policy.key);
496
+ }
497
+ const legacyRowsTerminalized = terminalizeLegacyAgentRuns('error', RESTART_FAILURE_MESSAGE);
498
+ summary.legacy_agent_runs = { terminalized: legacyRowsTerminalized };
499
+ for (const policy of policies) {
500
+ try {
501
+ summary[policy.key] = await policy.reconcile();
502
+ }
503
+ catch (error) {
504
+ const failure = error instanceof Error ? error : new Error(String(error));
505
+ summary[policy.key] = { policy_failed: 1 };
506
+ failures.push(new Error(`${policy.key}: ${failure.message}`, { cause: failure }));
507
+ }
508
+ }
509
+ console.info('[execution-reconciliation] Startup reconciliation summary', {
510
+ policies: policies.map(({ reconcile: _reconcile, ...policy }) => policy),
511
+ outcomes: summary,
512
+ });
513
+ if (failures.length > 0) {
514
+ throw new AggregateError(failures, `Startup execution reconciliation failed for ${failures.length} policy/policies`);
515
+ }
516
+ return summary;
517
+ };
518
+ //# sourceMappingURL=executionReconciliation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionReconciliation.js","sourceRoot":"","sources":["../../../server/lib/executionReconciliation.ts"],"names":[],"mappings":"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"}