@straiffi/archon 1.7.9 → 1.8.0

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 (170) hide show
  1. package/dist/client/assets/{ActivityView-CDLQOXZm.js → ActivityView-EVy76nes.js} +1 -1
  2. package/dist/client/assets/{GitHubActionsDialog-DYxLX2HS.js → GitHubActionsDialog-D53aA0Fv.js} +1 -1
  3. package/dist/client/assets/VerificationDialog-Dm5DcY8F.js +4 -0
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-ByNXcCIO.js → architectureDiagram-3BPJPVTR-CmMRkze6.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-ByykLAaG.js → blockDiagram-GPEHLZMM-BgLsRgxM.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-CmWA4Pli.js → c4Diagram-AAUBKEIU-C3WJl13c.js} +1 -1
  7. package/dist/client/assets/channel-xqaERdN6.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-CTgbXRh4.js → chunk-2J33WTMH-BfH4_PkQ.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-D3FajVfq.js → chunk-3OPIFGDE-CkVGPLM4.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-CUMg_Vfo.js → chunk-5ZQYHXKU-CDTwT753.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-Oc9MgxZD.js → chunk-727SXJPM-CKEhBrr_.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-5JZboHeP.js → chunk-AQP2D5EJ-D5QPK_k7.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-BpkSMHjB.js → chunk-CSCIHK7Q-BU4Ysr_2.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-BPBMAswO.js → chunk-KSCS5N6A-B9lHLGg1.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-BA2sHmu7.js → chunk-L5ZTLDWV-BrNsmxtD.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-Blc9q-fQ.js → chunk-LZXEDZCA-CVgZc1nv.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-GlVS74JP.js → chunk-ND2GUHAM-DWWdi42a.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-fctBFnAm.js → chunk-NZK2D7GU-46-aRMvO.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-eGs4DDLJ.js → chunk-O5CBEL6O-BW6wHmzD.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-vxa50E7g.js → chunk-WU5MYG2G-Wfk15Qtf.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-BdwFrsZE.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DxAuXA1L.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-DXGXNVUp.js → dagre-BM42HDAG-CZ_BDahz.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-BRYr1GvB.js → diagram-2AECGRRQ-CQKXQvjO.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-BcwgMag4.js → diagram-5GNKFQAL-Dgsh82oA.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-Delk7lbr.js → diagram-KO2AKTUF-DUwmm3sV.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-BVtc_fjo.js → diagram-LMA3HP47-DLGz0g10.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-weIPvUz5.js → diagram-OG6HWLK6-CjS6v8Zz.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-DKde70dA.js → erDiagram-TEJ5UH35-DHaCFHn9.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-B7Jrk-6c.js → flowDiagram-I6XJVG4X-E4LSVqs6.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-CDzWDgnA.js → ganttDiagram-6RSMTGT7-BWywa_xn.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DYZCryuN.js → gitGraphDiagram-PVQCEYII-BK4kWKuB.js} +1 -1
  33. package/dist/client/assets/index-CS2arNNP.js +274 -0
  34. package/dist/client/assets/index-Cb_ZVYaw.css +2 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-DmQOgVKK.js → infoDiagram-5YYISTIA-BX7HzDWX.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-DCpu-q-Z.js → ishikawaDiagram-YF4QCWOH-CEnWCNes.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-DhBoglhI.js → journeyDiagram-JHISSGLW-MQPDgPxD.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-BSjvGFTY.js → kanban-definition-UN3LZRKU-PwVLKAnN.js} +1 -1
  39. package/dist/client/assets/{line-ClKBZwDr.js → line-BJMnG1sl.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-BRA4mJ40.js → mermaid-parser.core-Bwv8qN83.js} +1 -1
  41. package/dist/client/assets/{mermaid.core-BZ7kSfEt.js → mermaid.core-DpFOXZmb.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-DoUdLHgj.js → mindmap-definition-RKZ34NQL-Dt-9JT_z.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-NVnzqltb.js → pieDiagram-4H26LBE5-aD3cg6m3.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-DOITgkan.js → quadrantDiagram-W4KKPZXB-DUh4hgmW.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-D0VPxrFE.js → requirementDiagram-4Y6WPE33-DOgz-iLT.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-Bx0uU7xV.js → sankeyDiagram-5OEKKPKP-BqpDXW6-.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-B4lFL6cO.js → sequenceDiagram-3UESZ5HK-BM0Gvqia.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-CsLVsMZ4.js → stateDiagram-AJRCARHV-XZMyDtEy.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-C0Qe8FiL.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-BkcYpPFI.js → timeline-definition-PNZ67QCA-gqiDwxVu.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-Xc5f2sRQ.js → vennDiagram-CIIHVFJN-MxeqqqyG.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-n3Dpk02Q.js → wardleyDiagram-YWT4CUSO-pMgGO6cB.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-BTMzF8zg.js → xychartDiagram-2RQKCTM6-_VK_NZDn.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/db.js +467 -11
  56. package/dist/server/db.js.map +1 -1
  57. package/dist/server/index.js +356 -150
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/lib/activeAutomationChild.js +6 -1
  60. package/dist/server/lib/activeAutomationChild.js.map +1 -1
  61. package/dist/server/lib/agent.js +5 -4
  62. package/dist/server/lib/agent.js.map +1 -1
  63. package/dist/server/lib/automationCheckGate.js +211 -59
  64. package/dist/server/lib/automationCheckGate.js.map +1 -1
  65. package/dist/server/lib/automationProgression.js +78 -10
  66. package/dist/server/lib/automationProgression.js.map +1 -1
  67. package/dist/server/lib/automationReconciliation.js +65 -0
  68. package/dist/server/lib/automationReconciliation.js.map +1 -1
  69. package/dist/server/lib/automationResumeDecision.js +82 -20
  70. package/dist/server/lib/automationResumeDecision.js.map +1 -1
  71. package/dist/server/lib/automationReviewGate.js +147 -0
  72. package/dist/server/lib/automationReviewGate.js.map +1 -0
  73. package/dist/server/lib/bundleActivity.js +20 -0
  74. package/dist/server/lib/bundleActivity.js.map +1 -1
  75. package/dist/server/lib/bundleReviewOperations.js +36 -5
  76. package/dist/server/lib/bundleReviewOperations.js.map +1 -1
  77. package/dist/server/lib/chatTicketProposals.js +2 -1
  78. package/dist/server/lib/chatTicketProposals.js.map +1 -1
  79. package/dist/server/lib/checkDefinitions.js +11 -0
  80. package/dist/server/lib/checkDefinitions.js.map +1 -1
  81. package/dist/server/lib/checkDiagnosticParsers.js +301 -0
  82. package/dist/server/lib/checkDiagnosticParsers.js.map +1 -0
  83. package/dist/server/lib/checkDiagnostics.js +142 -0
  84. package/dist/server/lib/checkDiagnostics.js.map +1 -0
  85. package/dist/server/lib/checkGateEvaluations.js +92 -4
  86. package/dist/server/lib/checkGateEvaluations.js.map +1 -1
  87. package/dist/server/lib/checkRepair.js +1031 -0
  88. package/dist/server/lib/checkRepair.js.map +1 -0
  89. package/dist/server/lib/checkRepairLifecycle.js +56 -0
  90. package/dist/server/lib/checkRepairLifecycle.js.map +1 -0
  91. package/dist/server/lib/checkRepairReconciliation.js +145 -0
  92. package/dist/server/lib/checkRepairReconciliation.js.map +1 -0
  93. package/dist/server/lib/checkRunner.js +142 -25
  94. package/dist/server/lib/checkRunner.js.map +1 -1
  95. package/dist/server/lib/checkRuns.js +75 -9
  96. package/dist/server/lib/checkRuns.js.map +1 -1
  97. package/dist/server/lib/executionReconciliation.js +21 -11
  98. package/dist/server/lib/executionReconciliation.js.map +1 -1
  99. package/dist/server/lib/executionRetryPredicates.js +3 -1
  100. package/dist/server/lib/executionRetryPredicates.js.map +1 -1
  101. package/dist/server/lib/executionRunRetention.js +24 -3
  102. package/dist/server/lib/executionRunRetention.js.map +1 -1
  103. package/dist/server/lib/executionRuns.js +5 -2
  104. package/dist/server/lib/executionRuns.js.map +1 -1
  105. package/dist/server/lib/git.js +5 -1
  106. package/dist/server/lib/git.js.map +1 -1
  107. package/dist/server/lib/lightweightPrompt.js +2 -1
  108. package/dist/server/lib/lightweightPrompt.js.map +1 -1
  109. package/dist/server/lib/planModeQuestions.js +2 -0
  110. package/dist/server/lib/planModeQuestions.js.map +1 -1
  111. package/dist/server/lib/planQuestions.js +39 -7
  112. package/dist/server/lib/planQuestions.js.map +1 -1
  113. package/dist/server/lib/projectAutoConfig.js +2 -1
  114. package/dist/server/lib/projectAutoConfig.js.map +1 -1
  115. package/dist/server/lib/projectMemorySuggestions.js +2 -1
  116. package/dist/server/lib/projectMemorySuggestions.js.map +1 -1
  117. package/dist/server/lib/projects.js +57 -9
  118. package/dist/server/lib/projects.js.map +1 -1
  119. package/dist/server/lib/pullRequestContent.js +14 -0
  120. package/dist/server/lib/pullRequestContent.js.map +1 -1
  121. package/dist/server/lib/requiredCheckPolicy.js +88 -18
  122. package/dist/server/lib/requiredCheckPolicy.js.map +1 -1
  123. package/dist/server/lib/requiredCheckPolicyPrompt.js +46 -0
  124. package/dist/server/lib/requiredCheckPolicyPrompt.js.map +1 -0
  125. package/dist/server/lib/run.js +3 -2
  126. package/dist/server/lib/run.js.map +1 -1
  127. package/dist/server/lib/specDraft.js +6 -0
  128. package/dist/server/lib/specDraft.js.map +1 -1
  129. package/dist/server/lib/specResources.js +42 -0
  130. package/dist/server/lib/specResources.js.map +1 -0
  131. package/dist/server/lib/specs.js +9 -5
  132. package/dist/server/lib/specs.js.map +1 -1
  133. package/dist/server/lib/terminal.js +5 -7
  134. package/dist/server/lib/terminal.js.map +1 -1
  135. package/dist/server/lib/testSessions.js +2 -2
  136. package/dist/server/lib/testSessions.js.map +1 -1
  137. package/dist/server/lib/ticketAutomation.js +10 -3
  138. package/dist/server/lib/ticketAutomation.js.map +1 -1
  139. package/dist/server/lib/ticketAutomationCommit.js +37 -11
  140. package/dist/server/lib/ticketAutomationCommit.js.map +1 -1
  141. package/dist/server/lib/ticketFollowUpOperations.js +24 -9
  142. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  143. package/dist/server/lib/tickets.js +18 -0
  144. package/dist/server/lib/tickets.js.map +1 -1
  145. package/dist/server/lib/types.js +1 -0
  146. package/dist/server/lib/types.js.map +1 -1
  147. package/dist/server/lib/workspaceProcessEnvironment.js +21 -0
  148. package/dist/server/lib/workspaceProcessEnvironment.js.map +1 -0
  149. package/dist/server/workers/build.js +41 -28
  150. package/dist/server/workers/build.js.map +1 -1
  151. package/dist/server/workers/chat.js +4 -3
  152. package/dist/server/workers/chat.js.map +1 -1
  153. package/dist/server/workers/followUp.js +99 -103
  154. package/dist/server/workers/followUp.js.map +1 -1
  155. package/dist/server/workers/plan.js +9 -4
  156. package/dist/server/workers/plan.js.map +1 -1
  157. package/dist/server/workers/planFollowUp.js +5 -6
  158. package/dist/server/workers/planFollowUp.js.map +1 -1
  159. package/dist/server/workers/review.js +38 -6
  160. package/dist/server/workers/review.js.map +1 -1
  161. package/dist/server/workers/specSession.js +10 -4
  162. package/dist/server/workers/specSession.js.map +1 -1
  163. package/package.json +1 -1
  164. package/dist/client/assets/VerificationDialog-DEKvZG75.js +0 -4
  165. package/dist/client/assets/channel-BvcRv90i.js +0 -1
  166. package/dist/client/assets/classDiagram-4FO5ZUOK-IuovJyxl.js +0 -1
  167. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-BBJ3avX6.js +0 -1
  168. package/dist/client/assets/index-BlKOx9Vf.css +0 -2
  169. package/dist/client/assets/index-CmaBDvIB.js +0 -273
  170. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CvrvaIdF.js +0 -1
@@ -1,6 +1,7 @@
1
1
  import db from '../db.js';
2
2
  export const AUTOMATION_CHILD_KINDS = [
3
3
  'check_batch',
4
+ 'check_repair',
4
5
  'review',
5
6
  'automation_review_fix',
6
7
  'automation_commit',
@@ -14,7 +15,7 @@ export class ActiveAutomationChildError extends Error {
14
15
  this.childKind = childKind;
15
16
  }
16
17
  }
17
- export const assertNoActiveAutomationChild = (projectId, progressionRunId, allowedChildRunId) => {
18
+ export const getActiveAutomationChild = (projectId, progressionRunId, allowedChildRunId) => {
18
19
  const placeholders = AUTOMATION_CHILD_KINDS.map(() => '?').join(', ');
19
20
  const activeChild = db.prepare(`
20
21
  SELECT kind
@@ -24,6 +25,10 @@ export const assertNoActiveAutomationChild = (projectId, progressionRunId, allow
24
25
  AND status IN ('queued', 'running', 'waiting')
25
26
  LIMIT 1
26
27
  `).get(projectId, progressionRunId, allowedChildRunId ?? '', ...AUTOMATION_CHILD_KINDS);
28
+ return activeChild ?? null;
29
+ };
30
+ export const assertNoActiveAutomationChild = (projectId, progressionRunId, allowedChildRunId) => {
31
+ const activeChild = getActiveAutomationChild(projectId, progressionRunId, allowedChildRunId);
27
32
  if (activeChild) {
28
33
  throw new ActiveAutomationChildError(activeChild.kind);
29
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"activeAutomationChild.js","sourceRoot":"","sources":["../../../server/lib/activeAutomationChild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AAGzB,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,aAAa;IACb,QAAQ;IACR,uBAAuB;IACvB,mBAAmB;IACnB,iBAAiB;IACjB,yBAAyB;CACqB,CAAA;AAIhD,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,SAAS,CAAqB;IAEvC,YAAY,SAA8B;QACxC,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAC3D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,SAAiB,EACjB,gBAAwB,EACxB,iBAA0B,EAC1B,EAAE;IACF,MAAM,YAAY,GAAG,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrE,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;;qBAIZ,YAAY;;;GAG9B,CAAC,CAAC,GAAG,CACJ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,IAAI,EAAE,EACvB,GAAG,sBAAsB,CACmB,CAAA;IAC9C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,0BAA0B,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"activeAutomationChild.js","sourceRoot":"","sources":["../../../server/lib/activeAutomationChild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAA;AAGzB,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,aAAa;IACb,cAAc;IACd,QAAQ;IACR,uBAAuB;IACvB,mBAAmB;IACnB,iBAAiB;IACjB,yBAAyB;CACqB,CAAA;AAIhD,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,SAAS,CAAqB;IAEvC,YAAY,SAA8B;QACxC,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAC3D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,SAAiB,EACjB,gBAAwB,EACxB,iBAA0B,EAC1B,EAAE;IACF,MAAM,YAAY,GAAG,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrE,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;;;;qBAIZ,YAAY;;;GAG9B,CAAC,CAAC,GAAG,CACJ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,IAAI,EAAE,EACvB,GAAG,sBAAsB,CACmB,CAAA;IAC9C,OAAO,WAAW,IAAI,IAAI,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,SAAiB,EACjB,gBAAwB,EACxB,iBAA0B,EAC1B,EAAE;IACF,MAAM,WAAW,GAAG,wBAAwB,CAAC,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAA;IAC5F,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,0BAA0B,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC;AACH,CAAC,CAAA"}
@@ -16,6 +16,7 @@ import { resolveOpencodeDbPath } from './runtimePaths.js';
16
16
  import { markTicketDescriptionVisibleInBundle } from './ticketMessages.js';
17
17
  import { getTicket } from './tickets.js';
18
18
  import { createTranscriptRunSnapshots } from './transcriptRuns.js';
19
+ import { createWorkspaceProcessEnvironment } from './workspaceProcessEnvironment.js';
19
20
  const withTranscriptRuns = (value, transcriptRuns) => {
20
21
  return transcriptRuns ? { ...value, transcriptRuns } : value;
21
22
  };
@@ -2046,7 +2047,7 @@ export const runAgent = ({ ticketId, tool, prompt, cwd, io, model, variant = nul
2046
2047
  child = spawn(cmd, args, {
2047
2048
  cwd,
2048
2049
  stdio: tool === 'claude' ? ['pipe', 'pipe', 'pipe'] : ['ignore', 'pipe', 'pipe'],
2049
- env: { ...process.env, PWD: cwd },
2050
+ env: createWorkspaceProcessEnvironment(cwd, { PWD: cwd }),
2050
2051
  detached: process.platform !== 'win32',
2051
2052
  });
2052
2053
  }
@@ -2345,7 +2346,7 @@ export const runChatAgent = ({ chatSessionId, tool, prompt, files = [], cwd, io,
2345
2346
  child = spawn(cmd, args, {
2346
2347
  cwd,
2347
2348
  stdio: tool === 'claude' ? ['pipe', 'pipe', 'pipe'] : ['ignore', 'pipe', 'pipe'],
2348
- env: { ...process.env, PWD: cwd },
2349
+ env: createWorkspaceProcessEnvironment(cwd, { PWD: cwd }),
2349
2350
  detached: process.platform !== 'win32',
2350
2351
  });
2351
2352
  }
@@ -2717,7 +2718,7 @@ export const runSpecAgent = ({ specSessionId, tool, prompt, files = [], cwd, io,
2717
2718
  child = spawn(cmd, args, {
2718
2719
  cwd,
2719
2720
  stdio: tool === 'claude' ? ['pipe', 'pipe', 'pipe'] : ['ignore', 'pipe', 'pipe'],
2720
- env: { ...process.env, PWD: cwd },
2721
+ env: createWorkspaceProcessEnvironment(cwd, { PWD: cwd }),
2721
2722
  detached: process.platform !== 'win32',
2722
2723
  });
2723
2724
  }
@@ -3061,7 +3062,7 @@ export const runSpecReviewAgent = ({ specReviewRunId, specSessionId, tool, promp
3061
3062
  const child = spawn(cmd, args, {
3062
3063
  cwd,
3063
3064
  stdio: tool === 'claude' ? ['pipe', 'pipe', 'pipe'] : ['ignore', 'pipe', 'pipe'],
3064
- env: { ...process.env, PWD: cwd },
3065
+ env: createWorkspaceProcessEnvironment(cwd, { PWD: cwd }),
3065
3066
  detached: process.platform !== 'win32',
3066
3067
  });
3067
3068
  reviewState.child = child;