@straiffi/archon 1.8.7 → 1.8.9

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 (180) hide show
  1. package/dist/client/assets/{ActivityView-D4Qh96zr.js → ActivityView-gBeoYQdD.js} +1 -1
  2. package/dist/client/assets/{GitHubActionsDialog-Bg03OmVv.js → GitHubActionsDialog-fc1Vwafm.js} +1 -1
  3. package/dist/client/assets/RepositoryGraphDialog-DCOjwUR3.js +1 -0
  4. package/dist/client/assets/VerificationDialog-CIObj1Rw.js +4 -0
  5. package/dist/client/assets/{architectureDiagram-3BPJPVTR-2lxabjSl.js → architectureDiagram-3BPJPVTR-B1tJZe1S.js} +1 -1
  6. package/dist/client/assets/{blockDiagram-GPEHLZMM-C80HvJmb.js → blockDiagram-GPEHLZMM-D_90AQ2Z.js} +1 -1
  7. package/dist/client/assets/{c4Diagram-AAUBKEIU-BM3k_lKz.js → c4Diagram-AAUBKEIU-DSyJfqly.js} +1 -1
  8. package/dist/client/assets/channel-DFw1f2Rh.js +1 -0
  9. package/dist/client/assets/{chunk-2J33WTMH-BTk3lX07.js → chunk-2J33WTMH-B9RStQGj.js} +1 -1
  10. package/dist/client/assets/{chunk-3OPIFGDE-DAxdBZ_4.js → chunk-3OPIFGDE-CHKuJYq0.js} +1 -1
  11. package/dist/client/assets/{chunk-5ZQYHXKU-BYm9s62a.js → chunk-5ZQYHXKU-Cznw7LTJ.js} +1 -1
  12. package/dist/client/assets/{chunk-727SXJPM-iVUM8xuV.js → chunk-727SXJPM-ix6OeZwJ.js} +1 -1
  13. package/dist/client/assets/{chunk-AQP2D5EJ-DVM7riMJ.js → chunk-AQP2D5EJ-DrPJIcE7.js} +1 -1
  14. package/dist/client/assets/{chunk-CSCIHK7Q-_D1FzP9B.js → chunk-CSCIHK7Q-BSEHTnBR.js} +1 -1
  15. package/dist/client/assets/{chunk-KSCS5N6A-D3XouAHf.js → chunk-KSCS5N6A-MdDdaLn8.js} +1 -1
  16. package/dist/client/assets/{chunk-L5ZTLDWV-B7NYWgT4.js → chunk-L5ZTLDWV-D_5xeDG1.js} +1 -1
  17. package/dist/client/assets/{chunk-LZXEDZCA-Dgkkbb6A.js → chunk-LZXEDZCA-Bz8_Fyt2.js} +2 -2
  18. package/dist/client/assets/{chunk-ND2GUHAM-CzO1oVCi.js → chunk-ND2GUHAM-DCINKlk8.js} +1 -1
  19. package/dist/client/assets/{chunk-NZK2D7GU-re0VVZne.js → chunk-NZK2D7GU-rGPgryKx.js} +1 -1
  20. package/dist/client/assets/{chunk-O5CBEL6O-BwsS59iy.js → chunk-O5CBEL6O-BHB8UIYA.js} +1 -1
  21. package/dist/client/assets/{chunk-WU5MYG2G-CLyh-xCA.js → chunk-WU5MYG2G-Bz5BJWjF.js} +1 -1
  22. package/dist/client/assets/classDiagram-4FO5ZUOK-Dt0kmMzQ.js +1 -0
  23. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BuxhA4Gw.js +1 -0
  24. package/dist/client/assets/{dagre-BM42HDAG-x71fYlqQ.js → dagre-BM42HDAG-B4TXLkOG.js} +1 -1
  25. package/dist/client/assets/{diagram-2AECGRRQ-CMdwzuYj.js → diagram-2AECGRRQ-CxMup1wq.js} +1 -1
  26. package/dist/client/assets/{diagram-5GNKFQAL-B3l6I4qJ.js → diagram-5GNKFQAL-CTfP_wnS.js} +1 -1
  27. package/dist/client/assets/{diagram-KO2AKTUF-BNhypLBW.js → diagram-KO2AKTUF-31NKNt4r.js} +1 -1
  28. package/dist/client/assets/{diagram-LMA3HP47-CmrhbiDt.js → diagram-LMA3HP47-Cxo7yvjc.js} +1 -1
  29. package/dist/client/assets/{diagram-OG6HWLK6-CRobDMLl.js → diagram-OG6HWLK6-ChgSAMLv.js} +1 -1
  30. package/dist/client/assets/{erDiagram-TEJ5UH35-CqO7K0TS.js → erDiagram-TEJ5UH35-u6msywL_.js} +1 -1
  31. package/dist/client/assets/{flowDiagram-I6XJVG4X-CuLTJZU0.js → flowDiagram-I6XJVG4X-CimeXkDN.js} +1 -1
  32. package/dist/client/assets/{ganttDiagram-6RSMTGT7-Bm7v1eRG.js → ganttDiagram-6RSMTGT7-DOu5sDUI.js} +1 -1
  33. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CNHZr-5i.js → gitGraphDiagram-PVQCEYII-zIToibUf.js} +1 -1
  34. package/dist/client/assets/index-C-VHd0Pr.js +274 -0
  35. package/dist/client/assets/index-D3xlEyeM.css +2 -0
  36. package/dist/client/assets/{infoDiagram-5YYISTIA-z27pUr2X.js → infoDiagram-5YYISTIA-CAtWGGJI.js} +1 -1
  37. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CDocZ0jf.js → ishikawaDiagram-YF4QCWOH-7N-C7DEt.js} +1 -1
  38. package/dist/client/assets/{journeyDiagram-JHISSGLW-CgP31lsU.js → journeyDiagram-JHISSGLW-D7VUypFG.js} +1 -1
  39. package/dist/client/assets/{kanban-definition-UN3LZRKU-DxTm1_fc.js → kanban-definition-UN3LZRKU-AmbDmzSD.js} +1 -1
  40. package/dist/client/assets/{line-hrZ7m44_.js → line-qf4UZ8vh.js} +1 -1
  41. package/dist/client/assets/{mermaid-parser.core-BThJAIK-.js → mermaid-parser.core-BssCd1kF.js} +1 -1
  42. package/dist/client/assets/{mermaid.core-CfVyP_kK.js → mermaid.core-DzeMqg9Y.js} +3 -3
  43. package/dist/client/assets/{mindmap-definition-RKZ34NQL-CuISnLgW.js → mindmap-definition-RKZ34NQL-dEnNQcDm.js} +1 -1
  44. package/dist/client/assets/{pieDiagram-4H26LBE5-DnWAdd44.js → pieDiagram-4H26LBE5-VjMue0a-.js} +1 -1
  45. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Cb-RVl5A.js → quadrantDiagram-W4KKPZXB-DQFdm-0f.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-4Y6WPE33-DrXg_gCS.js → requirementDiagram-4Y6WPE33-CHIaXlsy.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DzZjp_ZP.js → sankeyDiagram-5OEKKPKP-D-kzGaKb.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-CQJ3PhQD.js → sequenceDiagram-3UESZ5HK-CiDmlD8k.js} +1 -1
  49. package/dist/client/assets/{stateDiagram-AJRCARHV-B16j9pg1.js → stateDiagram-AJRCARHV-BKlnnFdT.js} +1 -1
  50. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DhJxc4em.js +1 -0
  51. package/dist/client/assets/{timeline-definition-PNZ67QCA-bUG3mZQt.js → timeline-definition-PNZ67QCA-D-BK07Un.js} +1 -1
  52. package/dist/client/assets/{vennDiagram-CIIHVFJN-DALCJcZD.js → vennDiagram-CIIHVFJN-CB9_GqSx.js} +1 -1
  53. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DPQd3l9A.js → wardleyDiagram-YWT4CUSO-BEuNfyLT.js} +1 -1
  54. package/dist/client/assets/{xychartDiagram-2RQKCTM6-BIv1FqXG.js → xychartDiagram-2RQKCTM6-CSS5WMrZ.js} +1 -1
  55. package/dist/client/index.html +2 -2
  56. package/dist/server/db.js +481 -27
  57. package/dist/server/db.js.map +1 -1
  58. package/dist/server/index.js +113 -54
  59. package/dist/server/index.js.map +1 -1
  60. package/dist/server/lib/activeAutomationChild.js +1 -0
  61. package/dist/server/lib/activeAutomationChild.js.map +1 -1
  62. package/dist/server/lib/agent.js +127 -15
  63. package/dist/server/lib/agent.js.map +1 -1
  64. package/dist/server/lib/agentRuns.js +12 -0
  65. package/dist/server/lib/agentRuns.js.map +1 -1
  66. package/dist/server/lib/agentSpawnPermits.js +37 -0
  67. package/dist/server/lib/agentSpawnPermits.js.map +1 -0
  68. package/dist/server/lib/automationCheckGate.js +9 -1
  69. package/dist/server/lib/automationCheckGate.js.map +1 -1
  70. package/dist/server/lib/automationProgression.js +19 -5
  71. package/dist/server/lib/automationProgression.js.map +1 -1
  72. package/dist/server/lib/automationReviewGate.js +1 -0
  73. package/dist/server/lib/automationReviewGate.js.map +1 -1
  74. package/dist/server/lib/buildCompletionContinuation.js +144 -4
  75. package/dist/server/lib/buildCompletionContinuation.js.map +1 -1
  76. package/dist/server/lib/buildSequences.js +13 -1
  77. package/dist/server/lib/buildSequences.js.map +1 -1
  78. package/dist/server/lib/bundleActivity.js +19 -0
  79. package/dist/server/lib/bundleActivity.js.map +1 -1
  80. package/dist/server/lib/chatOperations.js +81 -2
  81. package/dist/server/lib/chatOperations.js.map +1 -1
  82. package/dist/server/lib/checkAutoFix.js +604 -0
  83. package/dist/server/lib/checkAutoFix.js.map +1 -0
  84. package/dist/server/lib/checkAutoFixDetails.js +83 -0
  85. package/dist/server/lib/checkAutoFixDetails.js.map +1 -0
  86. package/dist/server/lib/checkAutoFixPolicy.js +59 -0
  87. package/dist/server/lib/checkAutoFixPolicy.js.map +1 -0
  88. package/dist/server/lib/checkRepair.js +149 -54
  89. package/dist/server/lib/checkRepair.js.map +1 -1
  90. package/dist/server/lib/checkRepairDispatch.js +91 -0
  91. package/dist/server/lib/checkRepairDispatch.js.map +1 -0
  92. package/dist/server/lib/checkRepairEvidence.js +84 -0
  93. package/dist/server/lib/checkRepairEvidence.js.map +1 -0
  94. package/dist/server/lib/checkRepairParent.js +21 -0
  95. package/dist/server/lib/checkRepairParent.js.map +1 -0
  96. package/dist/server/lib/checkRepairReconciliation.js +14 -5
  97. package/dist/server/lib/checkRepairReconciliation.js.map +1 -1
  98. package/dist/server/lib/checkRunner.js +27 -8
  99. package/dist/server/lib/checkRunner.js.map +1 -1
  100. package/dist/server/lib/checkRuns.js +63 -4
  101. package/dist/server/lib/checkRuns.js.map +1 -1
  102. package/dist/server/lib/executionReconciliation.js +387 -8
  103. package/dist/server/lib/executionReconciliation.js.map +1 -1
  104. package/dist/server/lib/executionRuns.js +24 -1
  105. package/dist/server/lib/executionRuns.js.map +1 -1
  106. package/dist/server/lib/git.js +302 -11
  107. package/dist/server/lib/git.js.map +1 -1
  108. package/dist/server/lib/integrations/github.js +138 -65
  109. package/dist/server/lib/integrations/github.js.map +1 -1
  110. package/dist/server/lib/integrations/importedIssueImages.js +10 -15
  111. package/dist/server/lib/integrations/importedIssueImages.js.map +1 -1
  112. package/dist/server/lib/postBuildCheckRuns.js +200 -5
  113. package/dist/server/lib/postBuildCheckRuns.js.map +1 -1
  114. package/dist/server/lib/postBuildChecks.js +83 -13
  115. package/dist/server/lib/postBuildChecks.js.map +1 -1
  116. package/dist/server/lib/projects.js +25 -1
  117. package/dist/server/lib/projects.js.map +1 -1
  118. package/dist/server/lib/queue.js +9 -3
  119. package/dist/server/lib/queue.js.map +1 -1
  120. package/dist/server/lib/repositoryGraphQueries.js +5 -3
  121. package/dist/server/lib/repositoryGraphQueries.js.map +1 -1
  122. package/dist/server/lib/repositoryGraphScan.js +13 -2
  123. package/dist/server/lib/repositoryGraphScan.js.map +1 -1
  124. package/dist/server/lib/repositoryGraphStore.js +61 -1
  125. package/dist/server/lib/repositoryGraphStore.js.map +1 -1
  126. package/dist/server/lib/specArtifact.js +10 -1
  127. package/dist/server/lib/specArtifact.js.map +1 -1
  128. package/dist/server/lib/specDraft.js +10 -2
  129. package/dist/server/lib/specDraft.js.map +1 -1
  130. package/dist/server/lib/specExport.js +70 -6
  131. package/dist/server/lib/specExport.js.map +1 -1
  132. package/dist/server/lib/specFormatting.js +3 -2
  133. package/dist/server/lib/specFormatting.js.map +1 -1
  134. package/dist/server/lib/specRepositoryEvidenceFormatting.js +75 -0
  135. package/dist/server/lib/specRepositoryEvidenceFormatting.js.map +1 -0
  136. package/dist/server/lib/specRepositoryImpact.js +447 -0
  137. package/dist/server/lib/specRepositoryImpact.js.map +1 -0
  138. package/dist/server/lib/specRepositoryImpactLimits.js +6 -0
  139. package/dist/server/lib/specRepositoryImpactLimits.js.map +1 -0
  140. package/dist/server/lib/specReviewContext.js +15 -5
  141. package/dist/server/lib/specReviewContext.js.map +1 -1
  142. package/dist/server/lib/specReviewValidation.js +1 -1
  143. package/dist/server/lib/specReviewValidation.js.map +1 -1
  144. package/dist/server/lib/specSections.js +28 -3
  145. package/dist/server/lib/specSections.js.map +1 -1
  146. package/dist/server/lib/specSnapshotEvidence.js +162 -0
  147. package/dist/server/lib/specSnapshotEvidence.js.map +1 -0
  148. package/dist/server/lib/specSnapshotEvidenceSerialization.js +202 -0
  149. package/dist/server/lib/specSnapshotEvidenceSerialization.js.map +1 -0
  150. package/dist/server/lib/specs.js +31 -5
  151. package/dist/server/lib/specs.js.map +1 -1
  152. package/dist/server/lib/ticketAutomationCommit.js +3 -1
  153. package/dist/server/lib/ticketAutomationCommit.js.map +1 -1
  154. package/dist/server/lib/ticketFollowUpOperations.js +16 -12
  155. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  156. package/dist/server/lib/ticketRunOperations.js +13 -1
  157. package/dist/server/lib/ticketRunOperations.js.map +1 -1
  158. package/dist/server/lib/ticketWorkflowOperations.js +5 -2
  159. package/dist/server/lib/ticketWorkflowOperations.js.map +1 -1
  160. package/dist/server/lib/types.js +1 -0
  161. package/dist/server/lib/types.js.map +1 -1
  162. package/dist/server/workers/build.js +46 -148
  163. package/dist/server/workers/build.js.map +1 -1
  164. package/dist/server/workers/chat.js +141 -31
  165. package/dist/server/workers/chat.js.map +1 -1
  166. package/dist/server/workers/followUp.js +210 -48
  167. package/dist/server/workers/followUp.js.map +1 -1
  168. package/dist/server/workers/specReview.js +17 -4
  169. package/dist/server/workers/specReview.js.map +1 -1
  170. package/dist/server/workers/specSession.js +127 -22
  171. package/dist/server/workers/specSession.js.map +1 -1
  172. package/package.json +1 -1
  173. package/dist/client/assets/RepositoryGraphDialog-CS_hOqPw.js +0 -1
  174. package/dist/client/assets/VerificationDialog-BYH-Ek8n.js +0 -4
  175. package/dist/client/assets/channel-HjENOCZ0.js +0 -1
  176. package/dist/client/assets/classDiagram-4FO5ZUOK-DnhdaVrK.js +0 -1
  177. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-C-BjeSGJ.js +0 -1
  178. package/dist/client/assets/index-Bs5SQZhz.css +0 -2
  179. package/dist/client/assets/index-LGNsdNYM.js +0 -274
  180. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-vNiFfHwm.js +0 -1
@@ -1,14 +1,21 @@
1
1
  import db from '../db.js';
2
2
  import { terminalizeAgentRunsForExecutionRun, terminalizeLegacyAgentRuns } from './agentRuns.js';
3
3
  import { recoverInterruptedBuildOpenQuestionBatch } from './buildOpenQuestions.js';
4
- import { reconcileActiveBuildSequences } from './buildSequences.js';
5
- import { aggregateCheckBatch, completeCheckAttempt, reconcileInterruptedTestRuns, transitionExecutionRun, withExecutionRunTransaction, } from './executionRuns.js';
4
+ import { activateQueuedBuildSequenceTicket, getBuildSequenceIdForTicket, reconcileActiveBuildSequences, stopBuildSequence } from './buildSequences.js';
5
+ import { aggregateCheckBatch, completeCheckAttempt, getExecutionRun, reconcileInterruptedTestRuns, transitionExecutionRun, withExecutionRunTransaction, } from './executionRuns.js';
6
+ import { getCheckBatchDetails } from './checkRuns.js';
6
7
  import { reconcileGitHubActionsRuns } from './integrations/githubActionsSessions.js';
7
8
  import { reconcileInterruptedSpecReviewRuns } from './specReviews.js';
9
+ import { normalizeProjectMemorySuggestions } from './projectMemorySuggestions.js';
10
+ import { validateWorkflowContext } from './types.js';
8
11
  import { getWaitingOpenQuestionProgression, resolveProgressionForChild, waitAutomationProgression, } from './automationProgression.js';
9
12
  import { getBundleAutomationState } from './ticketAutomation.js';
10
13
  import { reconcileAutomationExecutions } from './automationReconciliation.js';
14
+ import { finalizePostBuildCheckTicket, isLatestTicketBuildSource, markPostBuildCheckFinalizationComplete } from './postBuildCheckRuns.js';
11
15
  const ACTIVE_EXECUTION_STATUSES = "('queued', 'running', 'waiting')";
16
+ const TERMINAL_EXECUTION_STATUSES = "('completed', 'failed', 'cancelled', 'interrupted')";
17
+ const ACTIVE_EXECUTION_STATUS_SET = new Set(['queued', 'running', 'waiting']);
18
+ const TERMINAL_EXECUTION_STATUS_SET = new Set(['completed', 'failed', 'cancelled', 'interrupted']);
12
19
  const RESTART_FAILURE_MESSAGE = 'Interrupted by server restart';
13
20
  const directWorkflowPolicies = [
14
21
  {
@@ -75,6 +82,211 @@ const getBuildOpenQuestionBatchId = (metadataJson) => {
75
82
  return null;
76
83
  }
77
84
  };
85
+ const getPendingBuildFinalization = (metadataJson) => {
86
+ if (!metadataJson) {
87
+ return null;
88
+ }
89
+ try {
90
+ const metadata = JSON.parse(metadataJson);
91
+ const finalization = metadata.post_build_finalization;
92
+ if (!finalization || typeof finalization !== 'object' || Array.isArray(finalization)) {
93
+ return null;
94
+ }
95
+ const status = finalization.status;
96
+ if (status !== 'pending' && status !== 'finalized' && status !== 'completed') {
97
+ return null;
98
+ }
99
+ const memorySuggestions = finalization.memory_suggestions;
100
+ const checkAdmission = finalization.check_admission;
101
+ return {
102
+ status,
103
+ checkAdmission: checkAdmission === 'skipped' || checkAdmission === 'admitted' || checkAdmission === 'failed'
104
+ ? checkAdmission
105
+ : 'pending',
106
+ stage: finalization.stage === 'review' ? 'review' : 'build',
107
+ memorySuggestions: normalizeProjectMemorySuggestions(memorySuggestions),
108
+ workflowContext: validateWorkflowContext(Object.fromEntries(Object.entries(metadata)
109
+ .filter((entry) => entry[0] !== 'post_build_finalization' && typeof entry[1] === 'string'))),
110
+ };
111
+ }
112
+ catch {
113
+ return null;
114
+ }
115
+ };
116
+ const getDurablePostBuildBatch = (projectId, sourceRunId) => {
117
+ const hasAutoFixTable = Boolean(db.prepare(`
118
+ SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'check_auto_fix_loops'
119
+ `).get());
120
+ const rows = db.prepare(`
121
+ SELECT details.execution_run_id AS id
122
+ FROM check_batch_details details
123
+ JOIN execution_runs batch ON batch.id = details.execution_run_id
124
+ AND batch.project_id = ?
125
+ WHERE details.purpose = 'post_build'
126
+ AND details.causal_source_run_id = ?
127
+ ORDER BY batch.created_at DESC, batch.id DESC
128
+ `).all(projectId, sourceRunId);
129
+ if (rows.length === 0) {
130
+ return { hasBatch: false, active: false, batch: null };
131
+ }
132
+ for (const row of rows) {
133
+ const batch = getCheckBatchDetails(projectId, row.id);
134
+ if (!batch) {
135
+ continue;
136
+ }
137
+ if (ACTIVE_EXECUTION_STATUS_SET.has(batch.execution_status)) {
138
+ return { hasBatch: true, active: true, batch: null };
139
+ }
140
+ if (TERMINAL_EXECUTION_STATUS_SET.has(batch.execution_status)) {
141
+ if (hasAutoFixTable) {
142
+ const loop = db.prepare(`
143
+ SELECT loop.final_batch_run_id, loop_run.status
144
+ FROM check_auto_fix_loops loop
145
+ JOIN execution_runs loop_run ON loop_run.id = loop.execution_run_id
146
+ WHERE loop.originating_batch_run_id = ?
147
+ `).get(batch.execution_run_id);
148
+ if (loop && ACTIVE_EXECUTION_STATUS_SET.has(loop.status)) {
149
+ return { hasBatch: true, active: true, batch: null };
150
+ }
151
+ if (loop?.final_batch_run_id) {
152
+ return {
153
+ hasBatch: true,
154
+ active: false,
155
+ batch: getCheckBatchDetails(projectId, loop.final_batch_run_id),
156
+ };
157
+ }
158
+ }
159
+ return { hasBatch: true, active: false, batch };
160
+ }
161
+ }
162
+ return { hasBatch: true, active: false, batch: null };
163
+ };
164
+ const resumeBuildFinalization = async (row) => {
165
+ const pending = getPendingBuildFinalization(row.metadata_json);
166
+ if (!pending || !isLatestTicketBuildSource(row.project_id, row.id, row.ticket_id)) {
167
+ return false;
168
+ }
169
+ const [{ getEffectiveProject }, { getTicket }, { completeSuccessfulBuildPostFinalization }] = await Promise.all([
170
+ import('./projects.js'),
171
+ import('./tickets.js'),
172
+ import('./buildCompletionContinuation.js'),
173
+ ]);
174
+ if (pending.status === 'pending') {
175
+ const durableBatch = getDurablePostBuildBatch(row.project_id, row.id);
176
+ if (durableBatch.active) {
177
+ return false;
178
+ }
179
+ const finalization = finalizePostBuildCheckTicket({
180
+ projectId: row.project_id,
181
+ sourceRunId: row.id,
182
+ batch: durableBatch.batch,
183
+ error: (durableBatch.hasBatch && !durableBatch.batch)
184
+ || (!durableBatch.hasBatch && pending.checkAdmission !== 'skipped')
185
+ ? new Error('The durable post-build check admission is unavailable.')
186
+ : null,
187
+ getTicket,
188
+ });
189
+ if (!finalization.finalized) {
190
+ return false;
191
+ }
192
+ }
193
+ const ticket = getTicket(row.ticket_id);
194
+ const project = ticket ? getEffectiveProject(ticket) : null;
195
+ if (!ticket || !project) {
196
+ return false;
197
+ }
198
+ if (pending.stage === 'review') {
199
+ const source = getExecutionRun(row.project_id, row.id);
200
+ if (!source) {
201
+ return false;
202
+ }
203
+ const { completeSuccessfulReviewPostFinalization } = await import('../workers/followUp.js');
204
+ await completeSuccessfulReviewPostFinalization({
205
+ ticket,
206
+ project,
207
+ executionContext: {
208
+ runId: source.id,
209
+ correlationId: source.correlation_id,
210
+ projectId: source.project_id,
211
+ kind: source.kind,
212
+ },
213
+ initiation: { workflowContext: pending.workflowContext },
214
+ io: { emit: () => undefined },
215
+ releaseOwnerQueue: () => undefined,
216
+ memorySuggestions: pending.memorySuggestions,
217
+ });
218
+ markPostBuildCheckFinalizationComplete(row.project_id, row.id);
219
+ return true;
220
+ }
221
+ const emitter = { emit: () => undefined };
222
+ const continuation = await completeSuccessfulBuildPostFinalization({
223
+ ticket,
224
+ project,
225
+ parentRunId: row.id,
226
+ workflowContext: pending.workflowContext,
227
+ io: emitter,
228
+ emitUpdatedTickets: () => undefined,
229
+ memorySuggestions: pending.memorySuggestions,
230
+ });
231
+ if (continuation.nextBuild) {
232
+ const activeNextBuild = db.prepare(`
233
+ SELECT 1
234
+ FROM execution_runs next_build
235
+ JOIN execution_run_links owner ON owner.execution_run_id = next_build.id
236
+ AND owner.project_id = next_build.project_id
237
+ AND owner.entity_type = 'ticket'
238
+ AND owner.entity_id = ?
239
+ AND owner.relationship = 'primary'
240
+ WHERE next_build.project_id = ?
241
+ AND next_build.kind = 'build'
242
+ AND next_build.status IN ('running', 'waiting')
243
+ LIMIT 1
244
+ `).get(continuation.nextBuild.id, row.project_id);
245
+ if (activeNextBuild) {
246
+ markPostBuildCheckFinalizationComplete(row.project_id, row.id);
247
+ return true;
248
+ }
249
+ const [{ prepareTicketForBuild }, { compensateBuildSequenceTicketActivation }] = await Promise.all([
250
+ import('./buildFlow.js'),
251
+ import('./buildCompletionContinuation.js'),
252
+ ]);
253
+ const { startBuild } = await import('../workers/build.js');
254
+ const nextSequenceId = continuation.nextSequenceId ?? getBuildSequenceIdForTicket(continuation.nextBuild.id);
255
+ const scheduling = startBuild(continuation.nextBuild, emitter, {
256
+ initiation: {
257
+ initiator: 'automation',
258
+ causalParentRunId: row.id,
259
+ workflowContext: pending.workflowContext,
260
+ },
261
+ sequenceId: nextSequenceId,
262
+ accept: () => {
263
+ const transition = prepareTicketForBuild(continuation.nextBuild.id, {
264
+ ignoredBlockerTicketIds: continuation.ignoredBlockerTicketIds,
265
+ });
266
+ if (!transition.ok) {
267
+ throw new Error(transition.error);
268
+ }
269
+ if (!nextSequenceId) {
270
+ throw new Error('Build sequence no longer exists');
271
+ }
272
+ activateQueuedBuildSequenceTicket(nextSequenceId, transition.ticket.id);
273
+ return {
274
+ ticket: transition.ticket,
275
+ sequenceId: nextSequenceId,
276
+ compensate: () => compensateBuildSequenceTicketActivation(nextSequenceId, transition.ticket.id),
277
+ };
278
+ },
279
+ });
280
+ if (!scheduling.accepted && scheduling.reason === 'busy') {
281
+ return false;
282
+ }
283
+ if (!scheduling.accepted) {
284
+ stopBuildSequence(continuation.nextBuild.id);
285
+ }
286
+ }
287
+ markPostBuildCheckFinalizationComplete(row.project_id, row.id);
288
+ return true;
289
+ };
78
290
  const ownsBuildOpenQuestionBatch = (run, batch) => {
79
291
  if (run.project_id !== batch.project_id || run.source_kind !== 'ticket' || !run.source_id || run.initiated_by !== 'user') {
80
292
  return false;
@@ -247,7 +459,7 @@ const reconcileBuildOpenQuestionBatches = () => {
247
459
  };
248
460
  const interruptSequenceBuild = (input) => {
249
461
  const rows = db.prepare(`
250
- SELECT execution_runs.id, execution_runs.project_id
462
+ SELECT execution_runs.id, execution_runs.project_id, execution_runs.status
251
463
  FROM execution_runs
252
464
  INNER JOIN execution_run_links sequence_link
253
465
  ON sequence_link.execution_run_id = execution_runs.id
@@ -265,6 +477,29 @@ const interruptSequenceBuild = (input) => {
265
477
  AND execution_runs.kind = 'build'
266
478
  AND execution_runs.status IN ${ACTIVE_EXECUTION_STATUSES}
267
479
  `).all(input.sequenceId, input.ticketId, input.projectId);
480
+ const queuedHandoff = input.itemStatus !== null && Boolean(db.prepare(`
481
+ SELECT 1
482
+ FROM build_sequence_tickets current_item
483
+ JOIN build_sequence_tickets previous_item ON previous_item.build_sequence_id = current_item.build_sequence_id
484
+ AND previous_item.position = current_item.position - 1
485
+ AND previous_item.status = 'done'
486
+ JOIN execution_runs source ON source.project_id = ?
487
+ JOIN execution_run_links source_ticket ON source_ticket.execution_run_id = source.id
488
+ AND source_ticket.project_id = source.project_id
489
+ AND source_ticket.entity_type = 'ticket'
490
+ AND source_ticket.entity_id = previous_item.ticket_id
491
+ AND source_ticket.relationship = 'primary'
492
+ WHERE current_item.build_sequence_id = ?
493
+ AND current_item.ticket_id = ?
494
+ AND current_item.status IN ('active', 'queued')
495
+ AND source.kind IN ('build', 'build_follow_up')
496
+ AND source.status = 'completed'
497
+ AND json_extract(source.metadata_json, '$.post_build_finalization.status') IN ('pending', 'finalized', 'completed')
498
+ LIMIT 1
499
+ `).get(input.projectId, input.sequenceId, input.ticketId));
500
+ if (queuedHandoff && rows.every(row => row.status === 'queued')) {
501
+ return false;
502
+ }
268
503
  if (rows.length > 1) {
269
504
  return false;
270
505
  }
@@ -341,10 +576,27 @@ const reconcileSpecReviews = () => {
341
576
  };
342
577
  };
343
578
  const reconcileDirectWorkflow = (policy) => {
579
+ const queuedBuildHandoffCondition = policy.kind === 'build'
580
+ ? `
581
+ AND NOT (
582
+ execution_runs.status = 'queued'
583
+ AND EXISTS (
584
+ SELECT 1
585
+ FROM execution_runs parent
586
+ WHERE parent.id = execution_runs.parent_run_id
587
+ AND parent.project_id = execution_runs.project_id
588
+ AND parent.kind IN ('build', 'build_follow_up')
589
+ AND parent.status = 'completed'
590
+ AND json_extract(parent.metadata_json, '$.post_build_finalization.status') IN ('pending', 'finalized', 'completed')
591
+ )
592
+ )
593
+ `
594
+ : '';
344
595
  const rows = db.prepare(`
345
596
  SELECT id, project_id, source_kind, source_id
346
597
  FROM execution_runs
347
598
  WHERE kind = ? AND status IN ${ACTIVE_EXECUTION_STATUSES}
599
+ ${queuedBuildHandoffCondition}
348
600
  AND NOT EXISTS (
349
601
  SELECT 1 FROM execution_runs parent
350
602
  WHERE parent.id = execution_runs.parent_run_id
@@ -386,10 +638,28 @@ const reconcileDirectWorkflow = (policy) => {
386
638
  interruptRun(row);
387
639
  }
388
640
  if (policy.domainParent) {
641
+ const pendingBuildFinalizationCondition = policy.kind === 'build' || policy.kind === 'build_follow_up'
642
+ ? `
643
+ AND NOT EXISTS (
644
+ SELECT 1
645
+ FROM execution_runs pending_build
646
+ JOIN execution_run_links pending_owner ON pending_owner.execution_run_id = pending_build.id
647
+ AND pending_owner.project_id = pending_build.project_id
648
+ AND pending_owner.entity_type = 'ticket'
649
+ AND pending_owner.relationship = 'primary'
650
+ WHERE pending_build.project_id = ${policy.domainParent.table}.project_id
651
+ AND pending_build.kind IN ('build', 'build_follow_up')
652
+ AND pending_build.status = 'completed'
653
+ AND json_extract(pending_build.metadata_json, '$.post_build_finalization.status') IN ('pending', 'finalized', 'completed')
654
+ AND pending_owner.entity_id = ${policy.domainParent.table}.id
655
+ )
656
+ `
657
+ : '';
389
658
  domainParentsErrored += db.prepare(`
390
659
  UPDATE ${policy.domainParent.table}
391
660
  SET agent_status = 'error'
392
661
  WHERE agent_status = 'running'
662
+ ${pendingBuildFinalizationCondition}
393
663
  AND NOT EXISTS (
394
664
  SELECT 1
395
665
  FROM execution_run_links owner_link
@@ -419,6 +689,8 @@ const reconcileCheckBatches = async () => {
419
689
  const affectedBatchIds = new Set();
420
690
  let interruptedAttempts = 0;
421
691
  let incompleteAttempts = 0;
692
+ let postBuildTicketsFinalized = 0;
693
+ let postBuildContinuationsResumed = 0;
422
694
  for (const attempt of attempts) {
423
695
  if (attempt.parent_run_id) {
424
696
  affectedBatchIds.add(attempt.parent_run_id);
@@ -449,19 +721,110 @@ const reconcileCheckBatches = async () => {
449
721
  incompleteAttempts += 1;
450
722
  }
451
723
  const batches = db.prepare(`
452
- SELECT id, project_id, initiated_by, parent_run_id
453
- FROM execution_runs
454
- WHERE kind = 'check_batch' AND (status IN ${ACTIVE_EXECUTION_STATUSES} OR id IN (${[...affectedBatchIds].map(() => '?').join(', ') || "''"}))
455
- ORDER BY created_at ASC, id ASC
724
+ SELECT batches.id, batches.project_id, batches.initiated_by, batches.parent_run_id,
725
+ details.purpose, details.causal_source_run_id
726
+ FROM execution_runs batches
727
+ LEFT JOIN check_batch_details details ON details.execution_run_id = batches.id
728
+ WHERE batches.kind = 'check_batch' AND (
729
+ batches.status IN ${ACTIVE_EXECUTION_STATUSES}
730
+ OR batches.id IN (${[...affectedBatchIds].map(() => '?').join(', ') || "''"})
731
+ OR (
732
+ batches.status IN ${TERMINAL_EXECUTION_STATUSES}
733
+ AND details.purpose = 'post_build'
734
+ AND details.causal_source_run_id IS NOT NULL
735
+ AND EXISTS (
736
+ SELECT 1
737
+ FROM execution_runs source
738
+ JOIN execution_run_links source_owner ON source_owner.execution_run_id = source.id
739
+ AND source_owner.project_id = source.project_id
740
+ AND source_owner.entity_type = 'ticket'
741
+ AND source_owner.relationship = 'primary'
742
+ JOIN tickets post_build_ticket ON post_build_ticket.id = source_owner.entity_id
743
+ AND post_build_ticket.project_id = source.project_id
744
+ AND post_build_ticket.agent_status = 'running'
745
+ WHERE source.id = details.causal_source_run_id
746
+ AND source.project_id = batches.project_id
747
+ AND source.kind IN ('build', 'build_follow_up')
748
+ )
749
+ )
750
+ )
751
+ ORDER BY batches.created_at ASC, batches.id ASC
456
752
  `).all(...affectedBatchIds);
457
753
  const automationBatches = [];
458
754
  for (const batch of batches) {
459
755
  affectedBatchIds.add(batch.id);
460
756
  aggregateCheckBatch(batch.project_id, batch.id, undefined, { reconcileTerminal: true });
461
- if (batch.initiated_by === 'automation' && batch.parent_run_id) {
757
+ const details = getCheckBatchDetails(batch.project_id, batch.id);
758
+ if (batch.initiated_by === 'automation' && batch.parent_run_id && details?.purpose === 'automation_gate') {
462
759
  automationBatches.push({ id: batch.id, projectId: batch.project_id });
463
760
  }
464
761
  }
762
+ if (db.prepare(`SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'check_auto_fix_loops'`).get()) {
763
+ await (await import('./checkAutoFix.js')).reconcileCheckAutoFixLoops();
764
+ }
765
+ for (const batch of batches) {
766
+ if (batch.purpose !== 'post_build' || !batch.causal_source_run_id) {
767
+ continue;
768
+ }
769
+ const durable = getDurablePostBuildBatch(batch.project_id, batch.causal_source_run_id);
770
+ if (!durable.active && durable.batch) {
771
+ const finalized = finalizePostBuildCheckTicket({
772
+ projectId: batch.project_id,
773
+ sourceRunId: batch.causal_source_run_id,
774
+ batch: durable.batch,
775
+ });
776
+ if (finalized.finalized) {
777
+ postBuildTicketsFinalized += 1;
778
+ }
779
+ }
780
+ }
781
+ const pendingFinalizations = db.prepare(`
782
+ SELECT source.id, source.project_id, owner.entity_id AS ticket_id, source.metadata_json
783
+ FROM execution_runs source
784
+ JOIN execution_run_links owner ON owner.execution_run_id = source.id
785
+ AND owner.project_id = source.project_id
786
+ AND owner.entity_type = 'ticket'
787
+ AND owner.relationship = 'primary'
788
+ JOIN tickets ticket ON ticket.id = owner.entity_id AND ticket.project_id = source.project_id
789
+ WHERE source.kind IN ('build', 'build_follow_up')
790
+ AND source.status = 'completed'
791
+ AND (
792
+ json_extract(source.metadata_json, '$.post_build_finalization.status') IN ('pending', 'finalized')
793
+ OR (
794
+ json_extract(source.metadata_json, '$.post_build_finalization.status') = 'completed'
795
+ AND EXISTS (
796
+ SELECT 1
797
+ FROM build_sequences handoff_sequence
798
+ JOIN build_sequence_tickets completed_item ON completed_item.build_sequence_id = handoff_sequence.id
799
+ AND completed_item.ticket_id = owner.entity_id
800
+ AND completed_item.status = 'done'
801
+ JOIN build_sequence_tickets handoff_item ON handoff_item.build_sequence_id = handoff_sequence.id
802
+ AND handoff_item.status IN ('active', 'queued')
803
+ WHERE handoff_sequence.project_id = source.project_id
804
+ AND handoff_sequence.status = 'active'
805
+ )
806
+ )
807
+ )
808
+ AND ticket.agent_status IN ('running', 'done')
809
+ ORDER BY source.created_at ASC, source.id ASC
810
+ `).all();
811
+ for (const pendingFinalization of pendingFinalizations) {
812
+ try {
813
+ const resumed = await resumeBuildFinalization(pendingFinalization);
814
+ if (resumed) {
815
+ postBuildContinuationsResumed += 1;
816
+ if (getPendingBuildFinalization(pendingFinalization.metadata_json)?.status === 'pending') {
817
+ postBuildTicketsFinalized += 1;
818
+ }
819
+ }
820
+ }
821
+ catch (error) {
822
+ console.error('Unable to resume post-build finalization', {
823
+ source_run_id: pendingFinalization.id,
824
+ error: error instanceof Error ? error.message : String(error),
825
+ });
826
+ }
827
+ }
465
828
  if (automationBatches.length > 0) {
466
829
  const { blockInterruptedAutomationCheckBatch } = await import('./automationCheckGate.js');
467
830
  for (const batch of automationBatches) {
@@ -473,6 +836,8 @@ const reconcileCheckBatches = async () => {
473
836
  incomplete_attempts: incompleteAttempts,
474
837
  reconciled_batches: batches.length,
475
838
  affected_batches: affectedBatchIds.size,
839
+ post_build_tickets_finalized: postBuildTicketsFinalized,
840
+ post_build_continuations_resumed: postBuildContinuationsResumed,
476
841
  };
477
842
  };
478
843
  export const reconcileRepositoryGraphScans = () => {
@@ -559,6 +924,20 @@ export const createExecutionReconciliationPolicies = (input) => [
559
924
  pausesAutomation: false,
560
925
  reconcile: reconcileCheckBatches,
561
926
  },
927
+ {
928
+ key: 'check_auto_fix',
929
+ workLocality: 'durable_orchestration',
930
+ startupStrategy: 'reconcile',
931
+ terminalStatus: null,
932
+ failureCode: null,
933
+ updatesDomainRecords: true,
934
+ pausesAutomation: true,
935
+ reconcile: async () => db.prepare(`
936
+ SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'check_auto_fix_loops'
937
+ `).get()
938
+ ? (await import('./checkAutoFix.js')).reconcileCheckAutoFixLoops()
939
+ : { interrupted: 0 },
940
+ },
562
941
  {
563
942
  key: 'check_repair',
564
943
  workLocality: 'durable_orchestration',
@@ -1 +1 @@
1
- {"version":3,"file":"executionReconciliation.js","sourceRoot":"","sources":["../../../server/lib/executionReconciliation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionReconciliation.js","sourceRoot":"","sources":["../../../server/lib/executionReconciliation.ts"],"names":[],"mappings":"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"}
@@ -313,12 +313,20 @@ const serializeEvent = (row) => {
313
313
  };
314
314
  const PUBLIC_EVENT_METADATA_KEYS = new Set([
315
315
  'artifact_id',
316
+ 'attempt',
316
317
  'candidate_run_ids',
318
+ 'causal_execution_run_id',
317
319
  'conclusion',
318
320
  'input_names',
321
+ 'final_batch_run_id',
322
+ 'originating_batch_run_id',
323
+ 'owner_type',
319
324
  'provider_run_id',
320
325
  'prior_availability',
321
326
  'ref',
327
+ 'rerun_batch_run_id',
328
+ 'source_batch_run_id',
329
+ 'reason',
322
330
  'resolution_attempts',
323
331
  'trigger',
324
332
  'workflow_id',
@@ -778,6 +786,10 @@ const createExecutionRunInTransaction = (input, allowAutomationSideEffectRetry =
778
786
  const isPostBuildBatch = initiatedBy === 'system'
779
787
  && input.checkBatchDetails.purpose === 'post_build'
780
788
  && input.checkBatchDetails.causalSourceRunId === parentRunId;
789
+ const isAutoFixBatch = initiatedBy === 'automation'
790
+ && input.checkBatchDetails.purpose === 'auto_fix'
791
+ && parent?.kind === 'check_auto_fix'
792
+ && input.checkBatchDetails.causalSourceRunId !== null;
781
793
  if (initiatedBy !== 'automation' && parentRunId && !isPostBuildBatch) {
782
794
  throw new Error('Manual check batch execution runs must be root runs');
783
795
  }
@@ -787,7 +799,7 @@ const createExecutionRunInTransaction = (input, allowAutomationSideEffectRetry =
787
799
  || !['build', 'build_follow_up', 'chat_turn'].includes(parent.kind))) {
788
800
  throw new Error('Post-build check batches require a completed Build execution as their direct parent');
789
801
  }
790
- if (initiatedBy === 'automation') {
802
+ if (initiatedBy === 'automation' && !isAutoFixBatch) {
791
803
  const ownsTarget = parent && db.prepare(`
792
804
  SELECT 1
793
805
  FROM execution_run_links owner
@@ -812,6 +824,17 @@ const createExecutionRunInTransaction = (input, allowAutomationSideEffectRetry =
812
824
  }
813
825
  assertNoActiveAutomationChild(input.projectId, parent.id, input.allowedActiveAutomationChildRunId);
814
826
  }
827
+ if (isAutoFixBatch) {
828
+ const ownsOrigin = db.prepare(`
829
+ SELECT 1 FROM check_auto_fix_loops loop
830
+ WHERE loop.execution_run_id = ? AND loop.originating_batch_run_id = ?
831
+ AND loop.target_kind = ? AND loop.target_bundle_id IS ?
832
+ AND loop.terminal_reason IS NULL
833
+ `).get(parentRunId, input.checkBatchDetails.causalSourceRunId, input.checkBatchDetails.targetKind, targetBundleId);
834
+ if (!ownsOrigin) {
835
+ throw new Error('Auto-fix reruns require active durable loop ownership');
836
+ }
837
+ }
815
838
  }
816
839
  if (input.kind === 'check_attempt' && (!parent || parent.kind !== 'check_batch')) {
817
840
  throw new Error('Check attempt execution runs require a check batch parent');