@intrect/openswarm 0.9.2 → 0.10.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 (370) hide show
  1. package/README.md +76 -1
  2. package/config.example.yaml +6 -0
  3. package/dist/adapters/agenticLoop.d.ts +24 -0
  4. package/dist/adapters/agenticLoop.d.ts.map +1 -1
  5. package/dist/adapters/agenticLoop.js +130 -11
  6. package/dist/adapters/agenticLoop.js.map +1 -1
  7. package/dist/adapters/applyPatch.d.ts +21 -0
  8. package/dist/adapters/applyPatch.d.ts.map +1 -0
  9. package/dist/adapters/applyPatch.js +175 -0
  10. package/dist/adapters/applyPatch.js.map +1 -0
  11. package/dist/adapters/base.d.ts.map +1 -1
  12. package/dist/adapters/base.js +7 -0
  13. package/dist/adapters/base.js.map +1 -1
  14. package/dist/adapters/codex.js +10 -0
  15. package/dist/adapters/codex.js.map +1 -1
  16. package/dist/adapters/codexResponses.d.ts +8 -0
  17. package/dist/adapters/codexResponses.d.ts.map +1 -1
  18. package/dist/adapters/codexResponses.js +86 -8
  19. package/dist/adapters/codexResponses.js.map +1 -1
  20. package/dist/adapters/errorClassification.d.ts +8 -0
  21. package/dist/adapters/errorClassification.d.ts.map +1 -0
  22. package/dist/adapters/errorClassification.js +54 -0
  23. package/dist/adapters/errorClassification.js.map +1 -0
  24. package/dist/adapters/gpt.d.ts.map +1 -1
  25. package/dist/adapters/gpt.js +12 -1
  26. package/dist/adapters/gpt.js.map +1 -1
  27. package/dist/adapters/local.d.ts.map +1 -1
  28. package/dist/adapters/local.js +9 -1
  29. package/dist/adapters/local.js.map +1 -1
  30. package/dist/adapters/openrouter.d.ts.map +1 -1
  31. package/dist/adapters/openrouter.js +9 -1
  32. package/dist/adapters/openrouter.js.map +1 -1
  33. package/dist/adapters/rateLimitError.d.ts +29 -0
  34. package/dist/adapters/rateLimitError.d.ts.map +1 -0
  35. package/dist/adapters/rateLimitError.js +64 -0
  36. package/dist/adapters/rateLimitError.js.map +1 -0
  37. package/dist/adapters/resultParsing.d.ts.map +1 -1
  38. package/dist/adapters/resultParsing.js +18 -0
  39. package/dist/adapters/resultParsing.js.map +1 -1
  40. package/dist/adapters/tools.d.ts +3 -0
  41. package/dist/adapters/tools.d.ts.map +1 -1
  42. package/dist/adapters/tools.js +148 -11
  43. package/dist/adapters/tools.js.map +1 -1
  44. package/dist/adapters/types.d.ts +15 -0
  45. package/dist/adapters/types.d.ts.map +1 -1
  46. package/dist/adapters/webTools.d.ts.map +1 -1
  47. package/dist/adapters/webTools.js +44 -21
  48. package/dist/adapters/webTools.js.map +1 -1
  49. package/dist/agents/agentPair.d.ts +9 -0
  50. package/dist/agents/agentPair.d.ts.map +1 -1
  51. package/dist/agents/agentPair.js.map +1 -1
  52. package/dist/agents/auditor.d.ts.map +1 -1
  53. package/dist/agents/auditor.js +3 -0
  54. package/dist/agents/auditor.js.map +1 -1
  55. package/dist/agents/documenter.d.ts.map +1 -1
  56. package/dist/agents/documenter.js +3 -0
  57. package/dist/agents/documenter.js.map +1 -1
  58. package/dist/agents/draftAnalyzer.d.ts +30 -7
  59. package/dist/agents/draftAnalyzer.d.ts.map +1 -1
  60. package/dist/agents/draftAnalyzer.js +181 -30
  61. package/dist/agents/draftAnalyzer.js.map +1 -1
  62. package/dist/agents/pairPipeline.d.ts +7 -1
  63. package/dist/agents/pairPipeline.d.ts.map +1 -1
  64. package/dist/agents/pairPipeline.js +110 -66
  65. package/dist/agents/pairPipeline.js.map +1 -1
  66. package/dist/agents/pipelineFormat.d.ts.map +1 -1
  67. package/dist/agents/pipelineFormat.js +4 -0
  68. package/dist/agents/pipelineFormat.js.map +1 -1
  69. package/dist/agents/reviewer.d.ts +16 -0
  70. package/dist/agents/reviewer.d.ts.map +1 -1
  71. package/dist/agents/reviewer.js +30 -0
  72. package/dist/agents/reviewer.js.map +1 -1
  73. package/dist/agents/skillDocumenter.d.ts.map +1 -1
  74. package/dist/agents/skillDocumenter.js +3 -0
  75. package/dist/agents/skillDocumenter.js.map +1 -1
  76. package/dist/agents/tester.d.ts.map +1 -1
  77. package/dist/agents/tester.js +3 -0
  78. package/dist/agents/tester.js.map +1 -1
  79. package/dist/agents/worker.d.ts +14 -0
  80. package/dist/agents/worker.d.ts.map +1 -1
  81. package/dist/agents/worker.js +123 -22
  82. package/dist/agents/worker.js.map +1 -1
  83. package/dist/automation/autonomousRunner.d.ts +12 -0
  84. package/dist/automation/autonomousRunner.d.ts.map +1 -1
  85. package/dist/automation/autonomousRunner.js +218 -29
  86. package/dist/automation/autonomousRunner.js.map +1 -1
  87. package/dist/automation/runnerExecution.d.ts +15 -0
  88. package/dist/automation/runnerExecution.d.ts.map +1 -1
  89. package/dist/automation/runnerExecution.js +77 -1
  90. package/dist/automation/runnerExecution.js.map +1 -1
  91. package/dist/automation/runnerState.d.ts +7 -0
  92. package/dist/automation/runnerState.d.ts.map +1 -1
  93. package/dist/automation/runnerState.js +23 -1
  94. package/dist/automation/runnerState.js.map +1 -1
  95. package/dist/automation/runnerTypes.d.ts +2 -0
  96. package/dist/automation/runnerTypes.d.ts.map +1 -1
  97. package/dist/automation/scheduler.d.ts +12 -0
  98. package/dist/automation/scheduler.d.ts.map +1 -1
  99. package/dist/automation/scheduler.js +29 -2
  100. package/dist/automation/scheduler.js.map +1 -1
  101. package/dist/automation/taskSource.d.ts +9 -1
  102. package/dist/automation/taskSource.d.ts.map +1 -1
  103. package/dist/automation/taskSource.js +13 -2
  104. package/dist/automation/taskSource.js.map +1 -1
  105. package/dist/cli/auditPM.d.ts +40 -0
  106. package/dist/cli/auditPM.d.ts.map +1 -0
  107. package/dist/cli/auditPM.js +132 -0
  108. package/dist/cli/auditPM.js.map +1 -0
  109. package/dist/cli/designPipeline.d.ts +30 -0
  110. package/dist/cli/designPipeline.d.ts.map +1 -0
  111. package/dist/cli/designPipeline.js +113 -0
  112. package/dist/cli/designPipeline.js.map +1 -0
  113. package/dist/cli/mcpCommand.d.ts +22 -0
  114. package/dist/cli/mcpCommand.d.ts.map +1 -0
  115. package/dist/cli/mcpCommand.js +93 -0
  116. package/dist/cli/mcpCommand.js.map +1 -0
  117. package/dist/cli/projectHandler.d.ts.map +1 -1
  118. package/dist/cli/projectHandler.js +4 -2
  119. package/dist/cli/projectHandler.js.map +1 -1
  120. package/dist/cli/reviewAudit.d.ts +130 -0
  121. package/dist/cli/reviewAudit.d.ts.map +1 -0
  122. package/dist/cli/reviewAudit.js +283 -0
  123. package/dist/cli/reviewAudit.js.map +1 -0
  124. package/dist/cli/reviewCommand.d.ts +53 -0
  125. package/dist/cli/reviewCommand.d.ts.map +1 -0
  126. package/dist/cli/reviewCommand.js +207 -0
  127. package/dist/cli/reviewCommand.js.map +1 -0
  128. package/dist/cli/reviewMaxCommand.d.ts +35 -0
  129. package/dist/cli/reviewMaxCommand.d.ts.map +1 -0
  130. package/dist/cli/reviewMaxCommand.js +272 -0
  131. package/dist/cli/reviewMaxCommand.js.map +1 -0
  132. package/dist/cli/reviewProgress.d.ts +34 -0
  133. package/dist/cli/reviewProgress.d.ts.map +1 -0
  134. package/dist/cli/reviewProgress.js +109 -0
  135. package/dist/cli/reviewProgress.js.map +1 -0
  136. package/dist/cli/scheduleCommand.d.ts +15 -0
  137. package/dist/cli/scheduleCommand.d.ts.map +1 -0
  138. package/dist/cli/scheduleCommand.js +68 -0
  139. package/dist/cli/scheduleCommand.js.map +1 -0
  140. package/dist/cli.js +182 -26
  141. package/dist/cli.js.map +1 -1
  142. package/dist/core/config.d.ts +24 -0
  143. package/dist/core/config.d.ts.map +1 -1
  144. package/dist/core/config.js +42 -0
  145. package/dist/core/config.js.map +1 -1
  146. package/dist/core/providerOverride.d.ts.map +1 -1
  147. package/dist/core/providerOverride.js +16 -13
  148. package/dist/core/providerOverride.js.map +1 -1
  149. package/dist/core/service.d.ts.map +1 -1
  150. package/dist/core/service.js +11 -0
  151. package/dist/core/service.js.map +1 -1
  152. package/dist/core/types.d.ts +38 -0
  153. package/dist/core/types.d.ts.map +1 -1
  154. package/dist/discord/discordHandlers.d.ts.map +1 -1
  155. package/dist/discord/discordHandlers.js +1 -0
  156. package/dist/discord/discordHandlers.js.map +1 -1
  157. package/dist/index.js +4 -0
  158. package/dist/index.js.map +1 -1
  159. package/dist/linear/linear.d.ts +21 -0
  160. package/dist/linear/linear.d.ts.map +1 -1
  161. package/dist/linear/linear.js +159 -66
  162. package/dist/linear/linear.js.map +1 -1
  163. package/dist/linear/projectUpdater.js +3 -1
  164. package/dist/linear/projectUpdater.js.map +1 -1
  165. package/dist/locale/prompts/en.d.ts.map +1 -1
  166. package/dist/locale/prompts/en.js +104 -11
  167. package/dist/locale/prompts/en.js.map +1 -1
  168. package/dist/locale/prompts/ko.d.ts.map +1 -1
  169. package/dist/locale/prompts/ko.js +103 -11
  170. package/dist/locale/prompts/ko.js.map +1 -1
  171. package/dist/locale/types.d.ts +12 -0
  172. package/dist/locale/types.d.ts.map +1 -1
  173. package/dist/mcp/mcpClient.d.ts +28 -1
  174. package/dist/mcp/mcpClient.d.ts.map +1 -1
  175. package/dist/mcp/mcpClient.js +74 -3
  176. package/dist/mcp/mcpClient.js.map +1 -1
  177. package/dist/orchestration/decisionEngine.d.ts +20 -0
  178. package/dist/orchestration/decisionEngine.d.ts.map +1 -1
  179. package/dist/orchestration/decisionEngine.js +23 -0
  180. package/dist/orchestration/decisionEngine.js.map +1 -1
  181. package/dist/orchestration/taskScheduler.d.ts.map +1 -1
  182. package/dist/orchestration/taskScheduler.js +12 -1
  183. package/dist/orchestration/taskScheduler.js.map +1 -1
  184. package/dist/support/chatBackend.d.ts +18 -0
  185. package/dist/support/chatBackend.d.ts.map +1 -1
  186. package/dist/support/chatBackend.js +92 -8
  187. package/dist/support/chatBackend.js.map +1 -1
  188. package/dist/support/chatSession.d.ts +51 -0
  189. package/dist/support/chatSession.d.ts.map +1 -0
  190. package/dist/support/chatSession.js +134 -0
  191. package/dist/support/chatSession.js.map +1 -0
  192. package/dist/support/chatTui.d.ts.map +1 -1
  193. package/dist/support/chatTui.js +6 -75
  194. package/dist/support/chatTui.js.map +1 -1
  195. package/dist/support/concurrencyPool.d.ts +18 -0
  196. package/dist/support/concurrencyPool.d.ts.map +1 -0
  197. package/dist/support/concurrencyPool.js +46 -0
  198. package/dist/support/concurrencyPool.js.map +1 -0
  199. package/dist/support/dashboardHtml.d.ts +1 -1
  200. package/dist/support/dashboardHtml.d.ts.map +1 -1
  201. package/dist/support/dashboardHtml.js +0 -28
  202. package/dist/support/dashboardHtml.js.map +1 -1
  203. package/dist/support/editParser.d.ts +26 -0
  204. package/dist/support/editParser.d.ts.map +1 -1
  205. package/dist/support/editParser.js +43 -0
  206. package/dist/support/editParser.js.map +1 -1
  207. package/dist/support/goalCommand.d.ts +35 -0
  208. package/dist/support/goalCommand.d.ts.map +1 -0
  209. package/dist/support/goalCommand.js +112 -0
  210. package/dist/support/goalCommand.js.map +1 -0
  211. package/dist/support/index.d.ts +0 -1
  212. package/dist/support/index.d.ts.map +1 -1
  213. package/dist/support/index.js +0 -1
  214. package/dist/support/index.js.map +1 -1
  215. package/dist/support/web.d.ts.map +1 -1
  216. package/dist/support/web.js +0 -7
  217. package/dist/support/web.js.map +1 -1
  218. package/dist/taskState/store.d.ts +5 -0
  219. package/dist/taskState/store.d.ts.map +1 -1
  220. package/dist/taskState/store.js +16 -0
  221. package/dist/taskState/store.js.map +1 -1
  222. package/dist/telemetry/telemetry.d.ts +42 -0
  223. package/dist/telemetry/telemetry.d.ts.map +1 -0
  224. package/dist/telemetry/telemetry.js +138 -0
  225. package/dist/telemetry/telemetry.js.map +1 -0
  226. package/dist/tui/App.d.ts +20 -0
  227. package/dist/tui/App.d.ts.map +1 -0
  228. package/dist/tui/App.js +52 -0
  229. package/dist/tui/App.js.map +1 -0
  230. package/dist/tui/chatModel.d.ts +81 -0
  231. package/dist/tui/chatModel.d.ts.map +1 -0
  232. package/dist/tui/chatModel.js +129 -0
  233. package/dist/tui/chatModel.js.map +1 -0
  234. package/dist/tui/components/AuditBoard.d.ts +10 -0
  235. package/dist/tui/components/AuditBoard.d.ts.map +1 -0
  236. package/dist/tui/components/AuditBoard.js +50 -0
  237. package/dist/tui/components/AuditBoard.js.map +1 -0
  238. package/dist/tui/components/ChatInput.d.ts +14 -0
  239. package/dist/tui/components/ChatInput.d.ts.map +1 -0
  240. package/dist/tui/components/ChatInput.js +46 -0
  241. package/dist/tui/components/ChatInput.js.map +1 -0
  242. package/dist/tui/components/ChatLog.d.ts +12 -0
  243. package/dist/tui/components/ChatLog.d.ts.map +1 -0
  244. package/dist/tui/components/ChatLog.js +47 -0
  245. package/dist/tui/components/ChatLog.js.map +1 -0
  246. package/dist/tui/components/CommandPalette.d.ts +6 -0
  247. package/dist/tui/components/CommandPalette.d.ts.map +1 -0
  248. package/dist/tui/components/CommandPalette.js +14 -0
  249. package/dist/tui/components/CommandPalette.js.map +1 -0
  250. package/dist/tui/components/ContextBar.d.ts +9 -0
  251. package/dist/tui/components/ContextBar.d.ts.map +1 -0
  252. package/dist/tui/components/ContextBar.js +18 -0
  253. package/dist/tui/components/ContextBar.js.map +1 -0
  254. package/dist/tui/components/DataTable.d.ts +6 -0
  255. package/dist/tui/components/DataTable.d.ts.map +1 -0
  256. package/dist/tui/components/DataTable.js +13 -0
  257. package/dist/tui/components/DataTable.js.map +1 -0
  258. package/dist/tui/components/HelpBar.d.ts +2 -0
  259. package/dist/tui/components/HelpBar.d.ts.map +1 -0
  260. package/dist/tui/components/HelpBar.js +8 -0
  261. package/dist/tui/components/HelpBar.js.map +1 -0
  262. package/dist/tui/components/LiveLog.d.ts +6 -0
  263. package/dist/tui/components/LiveLog.d.ts.map +1 -0
  264. package/dist/tui/components/LiveLog.js +10 -0
  265. package/dist/tui/components/LiveLog.js.map +1 -0
  266. package/dist/tui/components/LogLine.d.ts +4 -0
  267. package/dist/tui/components/LogLine.d.ts.map +1 -0
  268. package/dist/tui/components/LogLine.js +8 -0
  269. package/dist/tui/components/LogLine.js.map +1 -0
  270. package/dist/tui/components/SelectList.d.ts +6 -0
  271. package/dist/tui/components/SelectList.d.ts.map +1 -0
  272. package/dist/tui/components/SelectList.js +15 -0
  273. package/dist/tui/components/SelectList.js.map +1 -0
  274. package/dist/tui/components/StageTimeline.d.ts +7 -0
  275. package/dist/tui/components/StageTimeline.d.ts.map +1 -0
  276. package/dist/tui/components/StageTimeline.js +18 -0
  277. package/dist/tui/components/StageTimeline.js.map +1 -0
  278. package/dist/tui/components/StatusBar.d.ts +7 -0
  279. package/dist/tui/components/StatusBar.d.ts.map +1 -0
  280. package/dist/tui/components/StatusBar.js +8 -0
  281. package/dist/tui/components/StatusBar.js.map +1 -0
  282. package/dist/tui/components/SubagentTree.d.ts +10 -0
  283. package/dist/tui/components/SubagentTree.d.ts.map +1 -0
  284. package/dist/tui/components/SubagentTree.js +12 -0
  285. package/dist/tui/components/SubagentTree.js.map +1 -0
  286. package/dist/tui/components/TabBar.d.ts +5 -0
  287. package/dist/tui/components/TabBar.d.ts.map +1 -0
  288. package/dist/tui/components/TabBar.js +9 -0
  289. package/dist/tui/components/TabBar.js.map +1 -0
  290. package/dist/tui/components/WorkingIndicator.d.ts +6 -0
  291. package/dist/tui/components/WorkingIndicator.d.ts.map +1 -0
  292. package/dist/tui/components/WorkingIndicator.js +20 -0
  293. package/dist/tui/components/WorkingIndicator.js.map +1 -0
  294. package/dist/tui/hooks/useMonitor.d.ts +8 -0
  295. package/dist/tui/hooks/useMonitor.d.ts.map +1 -0
  296. package/dist/tui/hooks/useMonitor.js +42 -0
  297. package/dist/tui/hooks/useMonitor.js.map +1 -0
  298. package/dist/tui/hooks/usePipelineEvents.d.ts +6 -0
  299. package/dist/tui/hooks/usePipelineEvents.d.ts.map +1 -0
  300. package/dist/tui/hooks/usePipelineEvents.js +21 -0
  301. package/dist/tui/hooks/usePipelineEvents.js.map +1 -0
  302. package/dist/tui/hooks/useTerminalSize.d.ts +6 -0
  303. package/dist/tui/hooks/useTerminalSize.d.ts.map +1 -0
  304. package/dist/tui/hooks/useTerminalSize.js +26 -0
  305. package/dist/tui/hooks/useTerminalSize.js.map +1 -0
  306. package/dist/tui/index.d.ts +22 -0
  307. package/dist/tui/index.d.ts.map +1 -0
  308. package/dist/tui/index.js +18 -0
  309. package/dist/tui/index.js.map +1 -0
  310. package/dist/tui/inputDebug.d.ts +20 -0
  311. package/dist/tui/inputDebug.d.ts.map +1 -0
  312. package/dist/tui/inputDebug.js +42 -0
  313. package/dist/tui/inputDebug.js.map +1 -0
  314. package/dist/tui/loadingMessages.d.ts +11 -0
  315. package/dist/tui/loadingMessages.d.ts.map +1 -0
  316. package/dist/tui/loadingMessages.js +39 -0
  317. package/dist/tui/loadingMessages.js.map +1 -0
  318. package/dist/tui/logFormat.d.ts +10 -0
  319. package/dist/tui/logFormat.d.ts.map +1 -0
  320. package/dist/tui/logFormat.js +86 -0
  321. package/dist/tui/logFormat.js.map +1 -0
  322. package/dist/tui/markdown.d.ts +3 -0
  323. package/dist/tui/markdown.d.ts.map +1 -0
  324. package/dist/tui/markdown.js +33 -0
  325. package/dist/tui/markdown.js.map +1 -0
  326. package/dist/tui/monitorApi.d.ts +6 -0
  327. package/dist/tui/monitorApi.d.ts.map +1 -0
  328. package/dist/tui/monitorApi.js +35 -0
  329. package/dist/tui/monitorApi.js.map +1 -0
  330. package/dist/tui/monitorRows.d.ts +43 -0
  331. package/dist/tui/monitorRows.d.ts.map +1 -0
  332. package/dist/tui/monitorRows.js +65 -0
  333. package/dist/tui/monitorRows.js.map +1 -0
  334. package/dist/tui/panels/ChatPanel.d.ts +16 -0
  335. package/dist/tui/panels/ChatPanel.d.ts.map +1 -0
  336. package/dist/tui/panels/ChatPanel.js +305 -0
  337. package/dist/tui/panels/ChatPanel.js.map +1 -0
  338. package/dist/tui/panels/LogsPanel.d.ts +8 -0
  339. package/dist/tui/panels/LogsPanel.d.ts.map +1 -0
  340. package/dist/tui/panels/LogsPanel.js +19 -0
  341. package/dist/tui/panels/LogsPanel.js.map +1 -0
  342. package/dist/tui/panels/MonitorPanel.d.ts +8 -0
  343. package/dist/tui/panels/MonitorPanel.d.ts.map +1 -0
  344. package/dist/tui/panels/MonitorPanel.js +19 -0
  345. package/dist/tui/panels/MonitorPanel.js.map +1 -0
  346. package/dist/tui/panels/PipelinePanel.d.ts +6 -0
  347. package/dist/tui/panels/PipelinePanel.d.ts.map +1 -0
  348. package/dist/tui/panels/PipelinePanel.js +22 -0
  349. package/dist/tui/panels/PipelinePanel.js.map +1 -0
  350. package/dist/tui/pipelineEvents.d.ts +21 -0
  351. package/dist/tui/pipelineEvents.d.ts.map +1 -0
  352. package/dist/tui/pipelineEvents.js +30 -0
  353. package/dist/tui/pipelineEvents.js.map +1 -0
  354. package/dist/tui/sse.d.ts +24 -0
  355. package/dist/tui/sse.d.ts.map +1 -0
  356. package/dist/tui/sse.js +78 -0
  357. package/dist/tui/sse.js.map +1 -0
  358. package/dist/tui/subagentTree.d.ts +10 -0
  359. package/dist/tui/subagentTree.d.ts.map +1 -0
  360. package/dist/tui/subagentTree.js +30 -0
  361. package/dist/tui/subagentTree.js.map +1 -0
  362. package/dist/tui/tabs.d.ts +10 -0
  363. package/dist/tui/tabs.d.ts.map +1 -0
  364. package/dist/tui/tabs.js +26 -0
  365. package/dist/tui/tabs.js.map +1 -0
  366. package/dist/tui/theme.d.ts +29 -0
  367. package/dist/tui/theme.d.ts.map +1 -0
  368. package/dist/tui/theme.js +34 -0
  369. package/dist/tui/theme.js.map +1 -0
  370. package/package.json +13 -3
@@ -87,18 +87,35 @@ Apply the above feedback and make corrections.
87
87
  parts.push('');
88
88
  contextSection = parts.join('\n') + '\n';
89
89
  }
90
+ // Definition of Done — the hard gate (INT-1914). Each criterion must be met
91
+ // with concrete evidence; deferring to "follow-up" does NOT count as done.
92
+ let completionSection = '';
93
+ const da = context?.draftAnalysis;
94
+ if (da?.completionCriteria && da.completionCriteria.length > 0) {
95
+ const lines = ['## Definition of Done (satisfy EVERY item — with evidence)'];
96
+ for (const c of da.completionCriteria)
97
+ lines.push(`- [ ] ${c}`);
98
+ lines.push('');
99
+ lines.push('For each item, your final summary MUST state the concrete evidence (file:line of the wiring/call site, command output, produced artifact, before/after numbers). Deferring any item to "follow-up"/"post-merge" counts as NOT done — do it now or report a blocker. Scaffolding (defining a function, adding a prompt rule) without wiring/exercising it does NOT satisfy a criterion.');
100
+ lines.push('');
101
+ completionSection = lines.join('\n') + '\n';
102
+ }
103
+ if (da && da.sufficient === false) {
104
+ completionSection += '\n⚠️ The pre-analysis brief was incomplete. Investigate the codebase thoroughly yourself (read_file/search_files) before editing — do not rely on the brief alone.\n';
105
+ }
90
106
  return `# Worker Agent
91
107
 
92
108
  ## Task
93
109
  - **Title:** ${taskTitle}
94
110
  - **Description:** ${taskDescription}
95
- ${feedbackSection}${contextSection}
111
+ ${feedbackSection}${contextSection}${completionSection}
96
112
  ## Rules
97
113
  - Search codebase thoroughly before concluding. Use Grep/Read — don't guess.
98
114
  - Verify changes compile before reporting success.
99
115
  - If uncertain, report clearly — don't implement workarounds.
100
116
  - No destructive commands (rm -rf, git reset --hard). No .env/.bashrc edits.
101
117
  - Before completing: verify all changed files exist, no syntax errors, confidence reflects reality.
118
+ - Address EVERY Definition of Done item with evidence — do not stop at scaffolding or defer core work.
102
119
 
103
120
  ## Tools available
104
121
  Use search_files (ripgrep) + read_file as your primary navigation. They're always available and cheapest.
@@ -108,6 +125,13 @@ Optional: \`cxt\` (code registry, only if this repo already has one — do NOT r
108
125
  - If a \`File Map\` section appears above, it already came from \`cxt\` — don't re-scan.
109
126
  - If \`cxt\` errors with "no registry" or similar, just use search_files/read_file instead — don't retry cxt.
110
127
 
128
+ ## Making the change (this is the point — do not stop at reading)
129
+ Reading/searching is only to LOCATE the change. As soon as you know what to change, EDIT — do not keep reading.
130
+ - **edit_file** — surgical change to an existing file. \`old_string\` must locate a UNIQUE span; copy it from the file and keep it as small as possible while still unique. Minor differences (trailing whitespace, smart vs straight quotes, en/em dashes) are auto-corrected, but indentation and the rest of the code must still match. For several changes, call edit_file several times.
131
+ - **write_file** — a NEW file, or a full rewrite of a small file.
132
+ - If an edit_file fails with "not found", you copied old_string imperfectly — re-read just that span and copy the exact text; do NOT restart the whole investigation.
133
+ - Most tasks need 1–3 edits, not 20+ reads. If you've read the relevant code, make the edit now.
134
+
111
135
  ## Done? Just do the work.
112
136
  Use the tools to actually edit files and run commands. File changes are detected
113
137
  from git directly — you do NOT need to prove success with a JSON block. When the
@@ -122,31 +146,96 @@ Otherwise no JSON is needed — finishing without an error IS the success signal
122
146
 
123
147
  `;
124
148
  },
125
- buildReviewerPrompt({ taskTitle, taskDescription, workerReport }) {
149
+ buildReviewerPrompt({ taskTitle, taskDescription, workerReport, completionCriteria, mode }) {
150
+ if (mode === 'audit') {
151
+ // Audit mode: existing files, no diff, no worker. Frame the reviewer as a
152
+ // standing code auditor so it doesn't waste the turn hunting for a diff
153
+ // that isn't there. (INT-2006)
154
+ return `# Reviewer Agent (Audit Mode)
155
+
156
+ ## Audit Scope
157
+ - **Title:** ${taskTitle}
158
+ - **Description:** ${taskDescription}
159
+
160
+ ## Files Under Audit
161
+ ${workerReport}
162
+
163
+ These are EXISTING files in the codebase — NOT a change and NOT a diff. There is
164
+ no worker, no diff, and nothing to "verify against changes". \`git diff\` being
165
+ empty is expected and correct. Read each file and evaluate it on its own merits.
166
+
167
+ **Report findings ONLY for the files listed above.** You may read other files
168
+ (imports, callers) to understand them, but anything OUTSIDE this set is audited by
169
+ its own area — flagging it here just creates duplicate findings. Every
170
+ recommendedAction's \`location\` MUST point at one of the files under audit.
171
+
172
+ ## Audit Criteria
173
+ 1. Correctness bugs, logic errors, unhandled edge cases
174
+ 2. Security issues (injection, unsafe input, leaked secrets, auth gaps)
175
+ 3. Resource problems (leaks, unbounded growth, missing cleanup)
176
+ 4. Code quality (readability, maintainability, dead code)
177
+ 5. Missing or inadequate error handling
178
+
179
+ ## Decision Options
180
+ - **approve**: No material issues found; the code is sound
181
+ - **revise**: Concrete issues worth addressing (the common audit outcome)
182
+ - **reject**: Severe, pervasive problems
183
+
184
+ ## Instructions
185
+ 1. Read each file under audit (use the Read tool) — do NOT expect a diff
186
+ 2. Evaluate against the audit criteria; report concrete problems with file:line
187
+ 3. Absence of changes is normal — judge the code as it stands
188
+ 4. List specific issues and recommendedActions with locations
189
+ 5. Make your final decision
190
+
191
+ ## Output Format (IMPORTANT - must output in this format at the end)
192
+ After the audit, output results in the following JSON format:
193
+
194
+ \`\`\`json
195
+ {
196
+ "decision": "approve" | "revise" | "reject",
197
+ "feedback": "Overall feedback (1-3 sentences)",
198
+ "issues": ["List of found issues (empty array if none)"],
199
+ "suggestions": ["List of improvement suggestions (empty array if none)"],
200
+ "recommendedActions": [{ "type": "test|refactor|bug|docs|perf", "title": "Short follow-up to file as its own issue", "location": "file:line (optional)" }]
201
+ }
202
+ \`\`\`
203
+
204
+ \`recommendedActions\` are concrete follow-ups worth tracking as separate issues. Use an empty array if none.
205
+
206
+ `;
207
+ }
208
+ const criteriaSection = completionCriteria && completionCriteria.length > 0
209
+ ? `\n## Definition of Done (HARD GATE — verify each with evidence)
210
+ ${completionCriteria.map(c => `- ${c}`).join('\n')}
211
+
212
+ For EACH criterion, confirm concrete evidence in the actual diff (call site / wiring file:line, produced artifact, command output, before/after numbers). Do NOT trust the worker's self-report — verify against the changed files. If ANY criterion lacks evidence, or any core work was deferred to "follow-up"/"post-merge", you MUST choose **revise** (never approve). Scaffolding without wiring/execution does not satisfy a criterion.
213
+ `
214
+ : '';
126
215
  return `# Reviewer Agent
127
216
 
128
217
  ## Original Task
129
218
  - **Title:** ${taskTitle}
130
219
  - **Description:** ${taskDescription}
131
-
220
+ ${criteriaSection}
132
221
  ## Worker's Report
133
222
  ${workerReport}
134
223
 
135
224
  ## Review Criteria
136
- 1. Does the work meet the requirements?
225
+ 1. Does the work meet the requirements (every Definition of Done item, with evidence)?
137
226
  2. Is the code quality adequate? (readability, maintainability)
138
- 3. Are there any missing parts?
227
+ 3. Are there any missing parts or deferred core work?
139
228
  4. Are there risks or side effects?
140
229
  5. Are tests needed or missing?
141
230
 
142
231
  ## Decision Options
143
- - **approve**: Work complete, approved. Requirements met, quality adequate
144
- - **revise**: Revision needed. Must provide specific feedback
232
+ - **approve**: Work complete, approved. EVERY Definition of Done item is met with verified evidence, quality adequate
233
+ - **revise**: Revision needed (any criterion unmet/unverified, or core work deferred). Must provide specific feedback
145
234
  - **reject**: Fundamental issues. Cannot be fixed through revision
146
235
 
147
236
  ## Instructions
148
- 1. Check the changed files (use Read tool)
149
- 2. Evaluate code quality and requirement fulfillment
237
+ 1. Check the changed files (use Read tool) — verify evidence, don't trust the report
238
+ 2. Evaluate code quality and requirement fulfillment against every Definition of Done item
150
239
  3. List specific problems if any
151
240
  4. Suggest improvements if applicable
152
241
  5. Make your final decision
@@ -159,10 +248,13 @@ After review, output results in the following JSON format:
159
248
  "decision": "approve" | "revise" | "reject",
160
249
  "feedback": "Overall feedback (1-3 sentences)",
161
250
  "issues": ["List of found issues (empty array if none)"],
162
- "suggestions": ["List of improvement suggestions (empty array if none)"]
251
+ "suggestions": ["List of improvement suggestions (empty array if none)"],
252
+ "recommendedActions": [{ "type": "test|refactor|bug|docs|perf", "title": "Short follow-up to file as its own issue", "location": "file:line (optional)" }]
163
253
  }
164
254
  \`\`\`
165
255
 
256
+ \`recommendedActions\` are concrete follow-ups worth tracking as separate issues (NOT blockers for this change). Use an empty array if none.
257
+
166
258
  `;
167
259
  },
168
260
  buildRevisionPromptFromReview({ decision, feedback, issues, suggestions }) {
@@ -234,6 +326,7 @@ Analyze this task and decompose it into units completable within ${targetMinutes
234
326
  - Don't split too small (minimum 10 minutes)
235
327
  - Use clear and specific titles
236
328
  - Number in order if there are dependencies
329
+ - **Write each sub-task's description as a rich Markdown document the assigned worker can act on without re-investigating — NOT a one-line instruction.** Fill it with what you ACTUALLY found via read_file/search_files, including these sections: "## Background" (why this task is needed, how it relates to the parent), "## Investigation" (concrete code evidence cited as file:line — e.g. the function at foo.ts:212 does X; no guessing, only what you read and confirmed), "## Approach" (how to implement, which functions/modules to touch, pitfalls), and "## Completion criteria" (verifiable; the reviewer judges by exactly this). Plain instructions like "add Y to X" are forbidden — write at the level of an issue a human would author.
237
330
 
238
331
  ## File Scope (REQUIRED for parallel execution)
239
332
  For each sub-task, declare \`fileScope\`: the concrete files/modules it will create or modify
@@ -255,7 +348,7 @@ Output the analysis results in the following JSON format:
255
348
  "subTasks": [
256
349
  {
257
350
  "title": "[Type] Specific task title",
258
- "description": "Detailed description (what, how, completion criteria)",
351
+ "description": "Markdown doc (## Background / ## Investigation: code evidence file:line / ## Approach / ## Completion criteria) — rich enough that the worker starts without re-investigating",
259
352
  "estimatedMinutes": 20,
260
353
  "priority": 2,
261
354
  "dependencies": [],
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../src/locale/prompts/en.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../src/locale/prompts/en.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ko.d.ts","sourceRoot":"","sources":["../../../src/locale/prompts/ko.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,SAAS,EAAE,eAsTvB,CAAC"}
1
+ {"version":3,"file":"ko.d.ts","sourceRoot":"","sources":["../../../src/locale/prompts/ko.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,SAAS,EAAE,eAmZvB,CAAC"}
@@ -88,18 +88,35 @@ ${previousFeedback}
88
88
  parts.push('');
89
89
  contextSection = parts.join('\n') + '\n';
90
90
  }
91
+ // 완료 정의 — hard gate (INT-1914). 각 기준은 증거로 충족해야 하며,
92
+ // "후속"으로 미루는 것은 완료가 아니다.
93
+ let completionSection = '';
94
+ const da = context?.draftAnalysis;
95
+ if (da?.completionCriteria && da.completionCriteria.length > 0) {
96
+ const lines = ['## 완료 정의 (모든 항목을 — 증거와 함께 — 충족하라)'];
97
+ for (const c of da.completionCriteria)
98
+ lines.push(`- [ ] ${c}`);
99
+ lines.push('');
100
+ lines.push('각 항목에 대해 최종 요약에 구체적 증거(배선/호출처 file:line, 명령 출력, 생성된 산출물, before/after 수치)를 반드시 명시하라. 어떤 항목이라도 "후속"/"post-merge"로 미루면 완료가 아니다 — 지금 하거나 블로커로 보고하라. 스캐폴딩(함수 정의·프롬프트 규칙 추가)만으로는 기준을 충족하지 못한다.');
101
+ lines.push('');
102
+ completionSection = lines.join('\n') + '\n';
103
+ }
104
+ if (da && da.sufficient === false) {
105
+ completionSection += '\n⚠️ 사전 분석 브리프가 불완전하다. 편집 전에 read_file/search_files로 코드베이스를 직접 충분히 조사하라 — 브리프에만 의존하지 말 것.\n';
106
+ }
91
107
  return `# Worker Agent
92
108
 
93
109
  ## Task
94
110
  - **Title:** ${taskTitle}
95
111
  - **Description:** ${taskDescription}
96
- ${feedbackSection}${contextSection}
112
+ ${feedbackSection}${contextSection}${completionSection}
97
113
  ## 규칙
98
114
  - 코드베이스를 충분히 탐색 후 판단. Grep/Read 사용 — 추측 금지.
99
115
  - 변경 사항이 컴파일되는지 확인 후 성공 보고.
100
116
  - 불확실하면 명확히 보고 — 임시 방편/우회 구현 금지.
101
117
  - 파괴적 명령(rm -rf, git reset --hard) 금지. .env/.bashrc 수정 금지.
102
118
  - 완료 전: 모든 변경 파일 존재 확인, 구문 오류 없음 확인, confidence 정확히 설정.
119
+ - 모든 완료 정의 항목을 증거와 함께 충족하라 — 스캐폴딩에서 멈추거나 핵심 작업을 미루지 말 것.
103
120
 
104
121
  ## 사용 가능한 도구
105
122
  주 탐색은 search_files(ripgrep) + read_file. 항상 쓸 수 있고 가장 저렴하다.
@@ -109,6 +126,13 @@ ${feedbackSection}${contextSection}
109
126
  - 위 \`파일 맵\` 섹션이 있으면 이미 \`cxt\` 결과 — 새로 스캔 금지.
110
127
  - \`cxt\`가 "no registry" 류 에러를 내면 그냥 search_files/read_file 사용 — cxt 재시도 금지.
111
128
 
129
+ ## 변경하기 (이게 목적이다 — 읽기에서 멈추지 말 것)
130
+ 읽기/검색은 변경 지점을 찾기 위한 것뿐. 무엇을 바꿀지 알았으면 즉시 편집하라 — 계속 읽지 말 것.
131
+ - **edit_file** — 기존 파일의 surgical 변경. \`old_string\`은 UNIQUE한 구간을 지정해야 하며 파일에서 복사해 유일성을 유지하는 선에서 최대한 작게. 사소한 차이(trailing whitespace, smart/straight 따옴표, en/em 대시)는 자동 보정되지만 들여쓰기와 나머지 코드는 일치해야 함. 여러 변경은 edit_file을 여러 번 호출.
132
+ - **write_file** — 새 파일, 또는 작은 파일의 전체 재작성.
133
+ - edit_file이 "not found"로 실패하면 old_string을 부정확하게 복사한 것 — 그 구간만 다시 읽어 정확히 복사하라; 조사를 처음부터 다시 하지 말 것.
134
+ - 대부분 작업은 read 20+회가 아니라 edit 1~3회면 된다. 관련 코드를 읽었으면 지금 편집하라.
135
+
112
136
  ## 완료? 그냥 작업하면 된다.
113
137
  도구로 실제 파일을 수정하고 명령을 실행하라. 파일 변경은 git에서 직접 감지하므로
114
138
  JSON 블록으로 성공을 증명할 필요가 없다. 작업이 끝나면 도구 호출을 멈추고, 무엇을
@@ -122,31 +146,95 @@ JSON 블록으로 성공을 증명할 필요가 없다. 작업이 끝나면 도
122
146
 
123
147
  `;
124
148
  },
125
- buildReviewerPrompt({ taskTitle, taskDescription, workerReport }) {
149
+ buildReviewerPrompt({ taskTitle, taskDescription, workerReport, completionCriteria, mode }) {
150
+ if (mode === 'audit') {
151
+ // 감사 모드: 변경/diff/워커 없는 기존 파일 평가. 리뷰어가 없는 diff를
152
+ // 찾느라 턴을 낭비하지 않도록 "상시 코드 감사자"로 프레이밍한다. (INT-2006)
153
+ return `# Reviewer Agent (감사 모드)
154
+
155
+ ## 감사 범위
156
+ - **Title:** ${taskTitle}
157
+ - **Description:** ${taskDescription}
158
+
159
+ ## 감사 대상 파일
160
+ ${workerReport}
161
+
162
+ 이것들은 코드베이스의 기존 파일이며, 변경이나 diff가 아니다. 워커도, diff도,
163
+ "변경 대비 검증"할 것도 없다. \`git diff\`가 비어 있는 것이 정상이다. 각 파일을
164
+ 읽고 그 자체로 평가하라.
165
+
166
+ **위에 나열된 파일에 대해서만 findings를 보고하라.** 다른 파일(import, 호출처)을
167
+ 이해를 위해 읽는 것은 좋지만, 이 목록 밖의 코드는 자기 영역에서 감사되므로 여기서
168
+ 지적하면 중복이 된다. 모든 recommendedAction의 \`location\`은 반드시 감사 대상 파일
169
+ 중 하나를 가리켜야 한다.
170
+
171
+ ## 감사 기준
172
+ 1. 정확성 버그, 로직 오류, 처리되지 않은 엣지 케이스
173
+ 2. 보안 문제 (인젝션, 안전하지 않은 입력, 시크릿 노출, 인증 공백)
174
+ 3. 리소스 문제 (누수, 무한 증가, 정리 누락)
175
+ 4. 코드 품질 (가독성, 유지보수성, 데드 코드)
176
+ 5. 누락되거나 부적절한 에러 처리
177
+
178
+ ## Decision Options
179
+ - **approve**: 중대한 문제 없음, 코드 견고
180
+ - **revise**: 개선할 구체적 문제 발견 (감사의 일반적 결과)
181
+ - **reject**: 심각하고 광범위한 문제
182
+
183
+ ## Instructions
184
+ 1. 감사 대상 각 파일을 읽어라 (Read 도구) — diff를 기대하지 마라
185
+ 2. 감사 기준으로 평가하고, file:line과 함께 구체적 문제를 보고하라
186
+ 3. 변경 없음이 정상이다 — 현재 상태 그대로 코드를 판단하라
187
+ 4. 구체적 issues와 recommendedActions를 위치와 함께 나열하라
188
+ 5. 최종 결정을 내려라
189
+
190
+ ## Output Format (IMPORTANT - 반드시 이 형식으로 마지막에 출력)
191
+ 감사 완료 후 반드시 다음 JSON 형식으로 결과를 출력하라:
192
+
193
+ \`\`\`json
194
+ {
195
+ "decision": "approve" | "revise" | "reject",
196
+ "feedback": "전체적인 피드백 (1-3문장)",
197
+ "issues": ["발견된 문제점 목록 (없으면 빈 배열)"],
198
+ "suggestions": ["개선 제안 목록 (없으면 빈 배열)"],
199
+ "recommendedActions": [{ "type": "test|refactor|bug|docs|perf", "title": "별도 이슈로 등록할 후속 작업", "location": "file:line (선택)" }]
200
+ }
201
+ \`\`\`
202
+
203
+ \`recommendedActions\`는 별도 이슈로 추적할 만한 구체적 후속 작업이다. 없으면 빈 배열.
204
+
205
+ `;
206
+ }
207
+ const criteriaSection = completionCriteria && completionCriteria.length > 0
208
+ ? `\n## 완료 정의 (HARD GATE — 각 항목을 증거로 검증)
209
+ ${completionCriteria.map(c => `- ${c}`).join('\n')}
210
+
211
+ 각 기준에 대해 실제 diff에서 구체적 증거(호출처/배선 file:line, 생성된 산출물, 명령 출력, before/after 수치)를 확인하라. 워커의 자기보고를 믿지 말고 변경된 파일로 검증하라. 한 기준이라도 증거가 없거나, 핵심 작업이 "후속"/"post-merge"로 미뤄졌다면 반드시 **revise**를 선택하라(approve 금지). 배선/실행 없는 스캐폴딩은 기준 충족이 아니다.
212
+ `
213
+ : '';
126
214
  return `# Reviewer Agent
127
215
 
128
216
  ## Original Task
129
217
  - **Title:** ${taskTitle}
130
218
  - **Description:** ${taskDescription}
131
-
219
+ ${criteriaSection}
132
220
  ## Worker's Report
133
221
  ${workerReport}
134
222
 
135
223
  ## Review Criteria
136
- 1. 작업이 요구사항을 충족하는가?
224
+ 1. 작업이 요구사항(모든 완료 정의 항목, 증거 포함)을 충족하는가?
137
225
  2. 코드 품질은 적절한가? (가독성, 유지보수성)
138
- 3. 누락된 부분이 있는가?
226
+ 3. 누락된 부분이나 미뤄진 핵심 작업이 있는가?
139
227
  4. 리스크나 사이드 이펙트가 있는가?
140
228
  5. 테스트가 필요하거나 누락되었는가?
141
229
 
142
230
  ## Decision Options
143
- - **approve**: 작업 완료, 승인. 요구사항 충족, 품질 적절
144
- - **revise**: 수정 필요. 구체적 피드백 제공 필수
231
+ - **approve**: 작업 완료, 승인. 모든 완료 정의 항목이 증거로 검증됨, 품질 적절
232
+ - **revise**: 수정 필요(기준 미충족/미검증 또는 핵심 작업 지연). 구체적 피드백 제공 필수
145
233
  - **reject**: 근본적 문제. 재작업 불가 수준
146
234
 
147
235
  ## Instructions
148
- 1. 변경된 파일들을 확인하라 (Read 도구 사용)
149
- 2. 코드 품질과 요구사항 충족 여부를 평가하라
236
+ 1. 변경된 파일들을 확인하라 (Read 도구 사용) — 보고를 믿지 말고 증거를 검증
237
+ 2. 코드 품질과 모든 완료 정의 항목 충족 여부를 평가하라
150
238
  3. 문제점이 있다면 구체적으로 나열하라
151
239
  4. 개선 제안이 있다면 제시하라
152
240
  5. 최종 결정을 내려라
@@ -159,10 +247,13 @@ ${workerReport}
159
247
  "decision": "approve" | "revise" | "reject",
160
248
  "feedback": "전체적인 피드백 (1-3문장)",
161
249
  "issues": ["발견된 문제점 목록 (없으면 빈 배열)"],
162
- "suggestions": ["개선 제안 목록 (없으면 빈 배열)"]
250
+ "suggestions": ["개선 제안 목록 (없으면 빈 배열)"],
251
+ "recommendedActions": [{ "type": "test|refactor|bug|docs|perf", "title": "별도 이슈로 등록할 후속 작업", "location": "file:line (선택)" }]
163
252
  }
164
253
  \`\`\`
165
254
 
255
+ \`recommendedActions\`는 이번 변경의 blocker가 아니라 별도 이슈로 추적할 만한 구체적 후속 작업이다. 없으면 빈 배열.
256
+
166
257
  `;
167
258
  },
168
259
  buildRevisionPromptFromReview({ decision, feedback, issues, suggestions }) {
@@ -234,6 +325,7 @@ ${draftSection}${kgSection}
234
325
  - 너무 작게 쪼개지 마라 (최소 10분 이상)
235
326
  - 명확하고 구체적인 제목 사용
236
327
  - 의존성이 있으면 순서대로 번호 매기기
328
+ - **각 sub-task의 description은 단순 한 줄 지시가 아니라, 담당 워커가 재탐색 없이 바로 착수할 수 있는 풍부한 마크다운 문서로 작성하라.** 네가 read_file/search_files로 *실제 조사한* 내용을 담아 다음 섹션을 포함하라: "## 배경" (왜 이 작업이 필요한가, 상위 작업과의 관계), "## 조사" (확인한 코드 근거를 file:line으로 명시 — 예: foo.ts:212의 함수가 X를 한다; 추측 금지, 읽고 확인한 것만), "## 접근" (어떻게 구현할지, 손댈 함수/모듈, 주의할 함정), "## 완료 기준" (검증 가능한 기준 — 리뷰어가 정확히 이것으로 판단). 단순 텍스트 지시("X에 Y를 추가")는 금지 — 사람이 작성한 이슈 문서 수준으로 작성하라.
237
329
 
238
330
  ## File Scope (병렬 실행을 위해 필수)
239
331
  각 서브태스크에 \`fileScope\`를 선언하라: 생성·수정할 구체적 파일/모듈
@@ -255,7 +347,7 @@ ${draftSection}${kgSection}
255
347
  "subTasks": [
256
348
  {
257
349
  "title": "[타입] 구체적인 작업 제목",
258
- "description": "상세 설명 (무엇을, 어떻게, 완료 기준)",
350
+ "description": "마크다운 문서 (## 배경 / ## 조사: 코드 근거 파일:라인 / ## 접근 / ## 완료 기준) — 워커가 재탐색 없이 착수할 수준의 풍부한 컨텍스트",
259
351
  "estimatedMinutes": 20,
260
352
  "priority": 2,
261
353
  "dependencies": [],
@@ -1 +1 @@
1
- {"version":3,"file":"ko.js","sourceRoot":"","sources":["../../../src/locale/prompts/ko.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ko.js","sourceRoot":"","sources":["../../../src/locale/prompts/ko.ts"],"names":[],"mappings":"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"}
@@ -402,6 +402,10 @@ export interface WorkerContext {
402
402
  relevantFiles: string[];
403
403
  suggestedApproach: string;
404
404
  projectStats?: string;
405
+ /** Execution-grounded definition of done (INT-1914). */
406
+ completionCriteria?: string[];
407
+ /** drafter hard gate (INT-1917): false when the brief is incomplete. */
408
+ sufficient?: boolean;
405
409
  };
406
410
  /** Repo knowledge accumulated from past tasks (memory/repoKnowledge.recallRepoKnowledge) */
407
411
  repoMemories?: Array<{
@@ -422,6 +426,14 @@ export interface PromptTemplates {
422
426
  taskTitle: string;
423
427
  taskDescription: string;
424
428
  workerReport: string;
429
+ /** Execution-grounded definition of done the reviewer hard-gates on (INT-1914). */
430
+ completionCriteria?: string[];
431
+ /**
432
+ * 'change' (default): review a worker's diff against requirements — the pair
433
+ * pipeline. 'audit': evaluate existing files with no diff/worker — the
434
+ * `review --max` codebase audit. (INT-2006)
435
+ */
436
+ mode?: 'change' | 'audit';
425
437
  }) => string;
426
438
  buildRevisionPromptFromReview: (opts: {
427
439
  decision: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/locale/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/locale/types.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,26 @@ interface ServerConfig {
7
7
  url?: string;
8
8
  headers?: Record<string, string>;
9
9
  }
10
+ /**
11
+ * Built-in MCP server presets — referenced by `{ preset: '<name>' }` in
12
+ * config.yaml / mcp.json so common servers don't need hand-written commands.
13
+ * `linear` gives the worker/CLI Linear access (issue read, comment, sub-issue
14
+ * create) via the official remote MCP server. (INT-1952)
15
+ */
16
+ export declare const BUILTIN_MCP_SERVERS: Record<string, ServerConfig>;
10
17
  /** Read ~/.openswarm/mcp.json → { serverName: ServerConfig }. */
11
18
  export declare function loadRegistry(path?: string): Record<string, ServerConfig>;
19
+ /**
20
+ * Normalize MCP servers declared in config.yaml (`mcp.servers`) into the same
21
+ * registry shape loadRegistry produces. Invalid entries are dropped. (INT-1949)
22
+ */
23
+ export declare function registryFromConfigServers(servers: Record<string, Record<string, unknown>> | undefined): Record<string, ServerConfig>;
24
+ /**
25
+ * The effective MCP registry = ~/.openswarm/mcp.json merged with the servers
26
+ * declared in config.yaml. Config entries win on name collision (config.yaml is
27
+ * the source of truth the user edits). (INT-1949)
28
+ */
29
+ export declare function loadEffectiveRegistry(configServers?: Record<string, Record<string, unknown>>, path?: string): Record<string, ServerConfig>;
12
30
  /** A qualified MCP tool name carries the `__` separator. */
13
31
  export declare function isMcpTool(name: string): boolean;
14
32
  /**
@@ -17,10 +35,19 @@ export declare function isMcpTool(name: string): boolean;
17
35
  * skipped (logged). Call once before running the loop.
18
36
  */
19
37
  export declare function initMcpTools(registry?: Record<string, ServerConfig>): Promise<ToolDefinition[]>;
20
- /** Discovered MCP tools (cached). Empty when no mcp.json / no reachable servers. */
38
+ /**
39
+ * Discovered MCP tools (cached). Sources from mcp.json + config.yaml mcp.servers.
40
+ * Empty when nothing is configured / no reachable servers. (INT-1951)
41
+ */
21
42
  export declare function getMcpTools(): Promise<ToolDefinition[]>;
22
43
  /** Drop the cache (after editing mcp.json). */
23
44
  export declare function resetMcpTools(): void;
45
+ /**
46
+ * Resolve the MCP tools for an adapter run: use the caller-provided set if any,
47
+ * otherwise self-source from the registry. A failing source degrades to no
48
+ * tools (never blocks the run). `source` is injectable for tests. (INT-1951)
49
+ */
50
+ export declare function resolveMcpTools(provided?: ToolDefinition[], source?: () => Promise<ToolDefinition[]>): Promise<ToolDefinition[]>;
24
51
  /** Execute a `server__tool` call against its MCP server. Returns text content. */
25
52
  export declare function callMcpTool(qualified: string, args: Record<string, unknown>): Promise<string>;
26
53
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mcpClient.d.ts","sourceRoot":"","sources":["../../src/mcp/mcpClient.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,UAAU,YAAY;IACpB,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAmBD,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,IAAI,SAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAe/E;AAyBD,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAWD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,+BAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAuBvF;AAKD,oFAAoF;AACpF,wBAAsB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAI7D;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,kFAAkF;AAClF,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAenG"}
1
+ {"version":3,"file":"mcpClient.d.ts","sourceRoot":"","sources":["../../src/mcp/mcpClient.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,UAAU,YAAY;IACpB,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAM5D,CAAC;AAsBF,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,IAAI,SAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAe/E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,GAC3D,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAO9B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvD,IAAI,SAAgB,GACnB,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAE9B;AAyBD,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAWD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,+BAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAuBvF;AAqBD;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAI7D;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,MAAM,GAAE,MAAM,OAAO,CAAC,cAAc,EAAE,CAAe,GACpD,OAAO,CAAC,cAAc,EAAE,CAAC,CAO3B;AAED,kFAAkF;AAClF,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAenG"}