@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":"review.js","sourceRoot":"","sources":["../../../server/workers/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../server/workers/review.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,119 @@
1
- import { formatAgentErrorForTranscript, runSpecReviewAgent } from '../lib/agent.js';
1
+ import { EMPTY_CHAT_USAGE_SNAPSHOT, formatAgentErrorForTranscript, runSpecReviewAgent } from '../lib/agent.js';
2
2
  import { getProjectById } from '../lib/projects.js';
3
3
  import { enqueue, isRunning } from '../lib/queue.js';
4
4
  import { getSpecSession, getSpecSnapshot } from '../lib/specs.js';
5
- import { createSpecReviewRun, insertSpecReviewFindings, parseSpecReviewOutput, updateSpecReviewRunStatus, updateSpecReviewRunStreaming, updateSpecReviewRunUsage, } from '../lib/specReviews.js';
5
+ import { createSpecReviewRun, finalizeSpecReviewRun, parseSpecReviewOutput, } from '../lib/specReviews.js';
6
6
  import { buildSpecReviewContext, buildSpecReviewPrompt } from '../lib/specReviewContext.js';
7
+ import { validateSpecSnapshotForReview } from '../lib/specReviewValidation.js';
7
8
  import { getProjectMemoryPromptBlock } from '../lib/projectMemoryPrompt.js';
8
9
  import { normalizeModelId } from '../lib/models.js';
10
+ import { getExecutionRun, withExecutionRunTransaction } from '../lib/executionRuns.js';
11
+ import { createAgentRun, emitAgentRunsUpdated, finalizeAgentRun, terminalizeAgentRunsForExecutionRun } from '../lib/agentRuns.js';
9
12
  const getErrorMessage = (error) => {
10
13
  return error instanceof Error ? error.message : String(error);
11
14
  };
15
+ const emitSpecReviewUpdates = (io, specSessionId, snapshotId, runId) => {
16
+ try {
17
+ io.emit('spec-review:updated', { spec_review_run_id: runId, spec_snapshot_id: snapshotId });
18
+ emitAgentRunsUpdated(io, 'spec', specSessionId);
19
+ }
20
+ catch {
21
+ // Realtime delivery is best effort after the durable transaction commits.
22
+ }
23
+ };
12
24
  const resolveSpecReviewWorkerKey = (snapshotId) => `spec-review:${snapshotId}`;
13
- export const startSpecReview = ({ specSessionId, snapshotId, tool, model, variant, skills = [], io, }) => {
25
+ export const isSpecReviewRunning = (snapshotId) => isRunning(resolveSpecReviewWorkerKey(snapshotId));
26
+ export const resolveSpecReviewTerminalOutcome = (domainStatus) => {
27
+ if (domainStatus === 'completed') {
28
+ return { executionStatus: 'completed', agentStatus: 'done', eventType: 'spec_review_completed', failureCode: null };
29
+ }
30
+ if (domainStatus === 'stopped') {
31
+ return { executionStatus: 'cancelled', agentStatus: 'stopped', eventType: 'spec_review_cancelled', failureCode: null };
32
+ }
33
+ if (domainStatus === 'parse_failed') {
34
+ return { executionStatus: 'failed', agentStatus: 'error', eventType: 'spec_review_parse_failed', failureCode: 'parse_failed' };
35
+ }
36
+ return { executionStatus: 'failed', agentStatus: 'error', eventType: 'spec_review_failed', failureCode: 'spec_review_failed' };
37
+ };
38
+ export const startSpecReview = ({ specSessionId, snapshotId, tool, model, variant, skills = [], io, executionContext, lastMessageId, }) => {
14
39
  const jobKey = resolveSpecReviewWorkerKey(snapshotId);
15
- if (isRunning(jobKey)) {
16
- return false;
40
+ if (isSpecReviewRunning(snapshotId)) {
41
+ withExecutionRunTransaction(transaction => {
42
+ transaction.transitionExecutionRun({
43
+ projectId: executionContext.projectId,
44
+ runId: executionContext.runId,
45
+ status: 'failed',
46
+ domainStatus: 'rejected',
47
+ failure: { code: 'busy', message: 'A spec review is already running for this snapshot.' },
48
+ eventType: 'spec_review_rejected',
49
+ });
50
+ }, io);
51
+ return { accepted: false, reason: 'busy', error: 'A spec review is already running for this snapshot.' };
17
52
  }
18
- enqueue(jobKey, async () => {
19
- const specSession = getSpecSession(specSessionId, { includeMessages: true });
20
- if (!specSession) {
21
- return;
22
- }
23
- const project = getProjectById(specSession.project_id);
24
- if (!project) {
25
- return;
26
- }
27
- const snapshot = getSpecSnapshot(snapshotId);
28
- if (!snapshot || snapshot.spec_session_id !== specSession.id) {
29
- return;
30
- }
31
- const resolvedTool = tool;
32
- const resolvedModel = resolvedTool === 'opencode' ? normalizeModelId(model) || null : null;
33
- const resolvedVariant = resolvedTool === 'opencode' && resolvedModel ? variant ?? null : null;
34
- const runId = createSpecReviewRun({
35
- specSessionId: specSession.id,
36
- specSnapshotId: snapshot.id,
37
- projectId: project.id,
38
- tool: resolvedTool,
39
- model: resolvedModel,
40
- variant: resolvedVariant,
41
- skills,
42
- });
43
- io.emit('spec-review:updated', { spec_review_run_id: runId, spec_snapshot_id: snapshot.id });
53
+ const runQueuedReview = async () => {
54
+ let runId = null;
55
+ let mainRunId = null;
56
+ let runUsage = EMPTY_CHAT_USAGE_SNAPSHOT;
44
57
  try {
45
- const reviewContext = buildSpecReviewContext({ specSession, snapshot });
58
+ if (getExecutionRun(executionContext.projectId, executionContext.runId)?.status !== 'queued') {
59
+ return;
60
+ }
61
+ const specSession = getSpecSession(specSessionId, { includeMessages: true });
62
+ if (!specSession || specSession.project_id !== executionContext.projectId) {
63
+ throw new Error('Spec session no longer exists in the execution project');
64
+ }
65
+ const project = getProjectById(specSession.project_id);
66
+ if (!project) {
67
+ throw new Error('Spec Review project no longer exists');
68
+ }
69
+ const snapshot = getSpecSnapshot(snapshotId);
70
+ if (!snapshot || snapshot.spec_session_id !== specSession.id) {
71
+ throw new Error('Spec snapshot no longer exists in the execution session');
72
+ }
73
+ const resolvedTool = tool;
74
+ const resolvedModel = resolvedTool === 'opencode' ? normalizeModelId(model) || null : null;
75
+ const resolvedVariant = resolvedTool === 'opencode' && resolvedModel ? variant ?? null : null;
76
+ const acceptedReview = withExecutionRunTransaction(transaction => {
77
+ const createdRunId = createSpecReviewRun({
78
+ specSessionId: specSession.id,
79
+ specSnapshotId: snapshot.id,
80
+ projectId: project.id,
81
+ tool: resolvedTool,
82
+ model: resolvedModel,
83
+ variant: resolvedVariant,
84
+ skills,
85
+ });
86
+ transaction.addExecutionRunLink({
87
+ projectId: executionContext.projectId,
88
+ runId: executionContext.runId,
89
+ link: {
90
+ entityType: 'spec_review_run',
91
+ entityId: createdRunId,
92
+ relationship: 'result',
93
+ expectedParent: { entityType: 'spec_session', entityId: specSession.id },
94
+ },
95
+ });
96
+ transaction.transitionExecutionRun({
97
+ projectId: executionContext.projectId,
98
+ runId: executionContext.runId,
99
+ status: 'running',
100
+ domainStatus: 'running',
101
+ eventType: 'spec_review_started',
102
+ });
103
+ const createdMainRunId = createAgentRun({
104
+ executionRunId: executionContext.runId,
105
+ parentType: 'spec',
106
+ parentId: specSession.id,
107
+ label: 'Spec Review',
108
+ role: 'main',
109
+ });
110
+ return { runId: createdRunId, mainRunId: createdMainRunId };
111
+ }, io);
112
+ runId = acceptedReview.runId;
113
+ mainRunId = acceptedReview.mainRunId;
114
+ emitSpecReviewUpdates(io, specSession.id, snapshot.id, runId);
115
+ const reviewContext = buildSpecReviewContext({ specSession, snapshot, lastMessageId });
116
+ const preflightFindings = validateSpecSnapshotForReview({ snapshot, repoPath: project.repo_path });
46
117
  const projectMemory = getProjectMemoryPromptBlock(project.id, {
47
118
  flow: 'review',
48
119
  stage: 'review',
@@ -56,40 +127,135 @@ export const startSpecReview = ({ specSessionId, snapshotId, tool, model, varian
56
127
  projectPath: project.repo_path,
57
128
  reviewContext,
58
129
  projectMemory,
130
+ preflightFindings,
59
131
  });
60
132
  const { completionStatus, finalResponse, usageSnapshot } = await runSpecReviewAgent({
61
133
  specReviewRunId: runId,
134
+ specSessionId: specSession.id,
62
135
  tool: resolvedTool,
63
136
  prompt,
64
137
  cwd: project.repo_path,
65
138
  io,
66
139
  model: resolvedModel,
67
140
  variant: resolvedVariant,
141
+ executionContext,
68
142
  });
69
- updateSpecReviewRunUsage(runId, usageSnapshot);
143
+ runUsage = usageSnapshot;
70
144
  if (completionStatus === 'stopped' || finalResponse === null) {
71
- updateSpecReviewRunStatus(runId, 'stopped', typeof finalResponse === 'string' ? finalResponse : null);
72
- io.emit('spec-review:updated', { spec_review_run_id: runId, spec_snapshot_id: snapshot.id });
145
+ const outcome = resolveSpecReviewTerminalOutcome('stopped');
146
+ const terminalized = withExecutionRunTransaction(transaction => {
147
+ if (!finalizeSpecReviewRun({
148
+ runId: runId,
149
+ status: 'stopped',
150
+ responseText: typeof finalResponse === 'string' ? finalResponse : null,
151
+ usage: runUsage,
152
+ })) {
153
+ return false;
154
+ }
155
+ finalizeAgentRun(mainRunId, outcome.agentStatus, typeof finalResponse === 'string' ? finalResponse : null);
156
+ terminalizeAgentRunsForExecutionRun(executionContext.runId, outcome.agentStatus);
157
+ transaction.transitionExecutionRun({
158
+ projectId: executionContext.projectId,
159
+ runId: executionContext.runId,
160
+ status: outcome.executionStatus,
161
+ domainStatus: 'stopped',
162
+ eventType: outcome.eventType,
163
+ });
164
+ return true;
165
+ }, io);
166
+ if (terminalized) {
167
+ emitSpecReviewUpdates(io, specSession.id, snapshot.id, runId);
168
+ }
73
169
  return;
74
170
  }
75
171
  const parsed = parseSpecReviewOutput(finalResponse);
76
- updateSpecReviewRunStatus(runId, parsed.status, parsed.cleanedMarkdown || finalResponse);
77
- if (parsed.status === 'completed' && parsed.findings.length > 0) {
78
- insertSpecReviewFindings(runId, parsed.findings);
172
+ const outcome = resolveSpecReviewTerminalOutcome(parsed.status);
173
+ const findings = parsed.status === 'completed'
174
+ ? [...preflightFindings, ...parsed.findings]
175
+ .map((finding, index) => ({ ...finding, ordinal: index + 1 }))
176
+ : [];
177
+ const terminalized = withExecutionRunTransaction(transaction => {
178
+ if (!finalizeSpecReviewRun({
179
+ runId: runId,
180
+ status: parsed.status,
181
+ responseText: parsed.cleanedMarkdown || finalResponse,
182
+ usage: runUsage,
183
+ findings,
184
+ })) {
185
+ return false;
186
+ }
187
+ finalizeAgentRun(mainRunId, outcome.agentStatus, finalResponse, outcome.failureCode ? 'Spec Review response could not be parsed' : null);
188
+ terminalizeAgentRunsForExecutionRun(executionContext.runId, outcome.agentStatus, outcome.failureCode ? 'Spec Review response could not be parsed' : null);
189
+ transaction.transitionExecutionRun({
190
+ projectId: executionContext.projectId,
191
+ runId: executionContext.runId,
192
+ status: outcome.executionStatus,
193
+ domainStatus: parsed.status,
194
+ ...(outcome.failureCode ? { failure: { code: outcome.failureCode, message: 'Spec Review response could not be parsed' } } : {}),
195
+ eventType: outcome.eventType,
196
+ });
197
+ return true;
198
+ }, io);
199
+ if (terminalized) {
200
+ emitSpecReviewUpdates(io, specSession.id, snapshot.id, runId);
79
201
  }
80
- io.emit('spec-review:updated', { spec_review_run_id: runId, spec_snapshot_id: snapshot.id });
81
202
  }
82
203
  catch (error) {
83
204
  const transcript = formatAgentErrorForTranscript(error);
84
- updateSpecReviewRunStatus(runId, 'error', transcript || getErrorMessage(error));
85
- updateSpecReviewRunStreaming(runId, null);
86
- io.emit('spec-review:updated', { spec_review_run_id: runId, spec_snapshot_id: snapshot.id });
205
+ const message = getErrorMessage(error);
206
+ const outcome = resolveSpecReviewTerminalOutcome('error');
207
+ const terminalized = withExecutionRunTransaction(transaction => {
208
+ if (runId) {
209
+ if (!finalizeSpecReviewRun({
210
+ runId,
211
+ status: 'error',
212
+ responseText: transcript || message,
213
+ usage: runUsage,
214
+ })) {
215
+ return false;
216
+ }
217
+ }
218
+ if (mainRunId) {
219
+ finalizeAgentRun(mainRunId, outcome.agentStatus, null, message);
220
+ }
221
+ terminalizeAgentRunsForExecutionRun(executionContext.runId, outcome.agentStatus, message);
222
+ transaction.transitionExecutionRun({
223
+ projectId: executionContext.projectId,
224
+ runId: executionContext.runId,
225
+ status: outcome.executionStatus,
226
+ domainStatus: 'error',
227
+ failure: { code: outcome.failureCode, message },
228
+ eventType: outcome.eventType,
229
+ });
230
+ return true;
231
+ }, io);
232
+ if (terminalized && runId) {
233
+ emitSpecReviewUpdates(io, specSessionId, snapshotId, runId);
234
+ }
87
235
  }
88
- }).catch(() => {
89
- // Best-effort safety net; the inner try/catch handles all known failure
90
- // modes. A rejection here means something threw before the run row existed.
236
+ };
237
+ let queuedJob;
238
+ try {
239
+ queuedJob = enqueue(jobKey, runQueuedReview);
240
+ }
241
+ catch (error) {
242
+ const message = getErrorMessage(error);
243
+ withExecutionRunTransaction(transaction => {
244
+ transaction.transitionExecutionRun({
245
+ projectId: executionContext.projectId,
246
+ runId: executionContext.runId,
247
+ status: 'failed',
248
+ domainStatus: 'error',
249
+ failure: { code: 'queue_failed', message },
250
+ eventType: 'spec_review_failed',
251
+ });
252
+ }, io);
253
+ return { accepted: false, reason: 'queue_failed', error: message };
254
+ }
255
+ queuedJob.catch(() => {
256
+ // The queued callback owns domain and execution failure finalization.
91
257
  });
92
- return true;
258
+ return { accepted: true, executionContext };
93
259
  };
94
260
  export { resolveSpecReviewWorkerKey };
95
261
  //# sourceMappingURL=specReview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"specReview.js","sourceRoot":"","sources":["../../../server/workers/specReview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specReview.js","sourceRoot":"","sources":["../../../server/workers/specReview.ts"],"names":[],"mappings":"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"}