@kenkaiiii/ggcoder 4.3.232 → 4.3.234

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 (348) hide show
  1. package/README.md +1 -2
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +7 -89
  4. package/dist/cli.js.map +1 -1
  5. package/dist/core/agent-session.d.ts.map +1 -1
  6. package/dist/core/agent-session.js +2 -2
  7. package/dist/core/agent-session.js.map +1 -1
  8. package/dist/core/prompt-commands.d.ts.map +1 -1
  9. package/dist/core/prompt-commands.js +8 -16
  10. package/dist/core/prompt-commands.js.map +1 -1
  11. package/dist/core/prompt-commands.test.js +14 -44
  12. package/dist/core/prompt-commands.test.js.map +1 -1
  13. package/dist/core/runtime-mode.d.ts +0 -11
  14. package/dist/core/runtime-mode.d.ts.map +1 -1
  15. package/dist/core/runtime-mode.js +0 -9
  16. package/dist/core/runtime-mode.js.map +1 -1
  17. package/dist/core/session-restore-display.test.js +4 -110
  18. package/dist/core/session-restore-display.test.js.map +1 -1
  19. package/dist/interactive.d.ts.map +1 -1
  20. package/dist/interactive.js +1 -1
  21. package/dist/interactive.js.map +1 -1
  22. package/dist/system-prompt.d.ts +1 -2
  23. package/dist/system-prompt.d.ts.map +1 -1
  24. package/dist/system-prompt.js +11 -58
  25. package/dist/system-prompt.js.map +1 -1
  26. package/dist/system-prompt.test.js +3 -158
  27. package/dist/system-prompt.test.js.map +1 -1
  28. package/dist/tools/bash.d.ts +1 -4
  29. package/dist/tools/bash.d.ts.map +1 -1
  30. package/dist/tools/bash.js +3 -12
  31. package/dist/tools/bash.js.map +1 -1
  32. package/dist/tools/checkpoint-hook.test.js +3 -3
  33. package/dist/tools/checkpoint-hook.test.js.map +1 -1
  34. package/dist/tools/edit.d.ts +1 -4
  35. package/dist/tools/edit.d.ts.map +1 -1
  36. package/dist/tools/edit.js +5 -13
  37. package/dist/tools/edit.js.map +1 -1
  38. package/dist/tools/enter-plan.js +1 -1
  39. package/dist/tools/enter-plan.js.map +1 -1
  40. package/dist/tools/index.d.ts +0 -9
  41. package/dist/tools/index.d.ts.map +1 -1
  42. package/dist/tools/index.js +4 -8
  43. package/dist/tools/index.js.map +1 -1
  44. package/dist/tools/prompt-hints.d.ts.map +1 -1
  45. package/dist/tools/prompt-hints.js +0 -2
  46. package/dist/tools/prompt-hints.js.map +1 -1
  47. package/dist/tools/screenshot.d.ts +1 -1
  48. package/dist/tools/subagent.d.ts +1 -4
  49. package/dist/tools/subagent.d.ts.map +1 -1
  50. package/dist/tools/subagent.js +2 -5
  51. package/dist/tools/subagent.js.map +1 -1
  52. package/dist/tools/write.d.ts +1 -4
  53. package/dist/tools/write.d.ts.map +1 -1
  54. package/dist/tools/write.js +5 -13
  55. package/dist/tools/write.js.map +1 -1
  56. package/dist/ui/App.d.ts +5 -20
  57. package/dist/ui/App.d.ts.map +1 -1
  58. package/dist/ui/App.js +134 -309
  59. package/dist/ui/App.js.map +1 -1
  60. package/dist/ui/app-items.d.ts +23 -25
  61. package/dist/ui/app-items.d.ts.map +1 -1
  62. package/dist/ui/app-items.js +37 -0
  63. package/dist/ui/app-items.js.map +1 -1
  64. package/dist/ui/app-items.test.d.ts +2 -0
  65. package/dist/ui/app-items.test.d.ts.map +1 -0
  66. package/dist/ui/app-items.test.js +38 -0
  67. package/dist/ui/app-items.test.js.map +1 -0
  68. package/dist/ui/app-state-persistence.test.js +14 -318
  69. package/dist/ui/app-state-persistence.test.js.map +1 -1
  70. package/dist/ui/chat-layout-pinning.test.js +74 -4
  71. package/dist/ui/chat-layout-pinning.test.js.map +1 -1
  72. package/dist/ui/components/AssistantMessage.test.js +6 -9
  73. package/dist/ui/components/AssistantMessage.test.js.map +1 -1
  74. package/dist/ui/components/Banner.js +1 -1
  75. package/dist/ui/components/Banner.js.map +1 -1
  76. package/dist/ui/components/ChatFooterPane.d.ts +1 -5
  77. package/dist/ui/components/ChatFooterPane.d.ts.map +1 -1
  78. package/dist/ui/components/ChatFooterPane.js +3 -4
  79. package/dist/ui/components/ChatFooterPane.js.map +1 -1
  80. package/dist/ui/components/ChatInputStack.d.ts +3 -1
  81. package/dist/ui/components/ChatInputStack.d.ts.map +1 -1
  82. package/dist/ui/components/ChatInputStack.js +4 -3
  83. package/dist/ui/components/ChatInputStack.js.map +1 -1
  84. package/dist/ui/components/ChatScreen.d.ts +3 -16
  85. package/dist/ui/components/ChatScreen.d.ts.map +1 -1
  86. package/dist/ui/components/ChatScreen.js +2 -3
  87. package/dist/ui/components/ChatScreen.js.map +1 -1
  88. package/dist/ui/components/Footer.d.ts +3 -8
  89. package/dist/ui/components/Footer.d.ts.map +1 -1
  90. package/dist/ui/components/Footer.js +5 -25
  91. package/dist/ui/components/Footer.js.map +1 -1
  92. package/dist/ui/components/InputArea.d.ts +1 -9
  93. package/dist/ui/components/InputArea.d.ts.map +1 -1
  94. package/dist/ui/components/InputArea.js +2 -44
  95. package/dist/ui/components/InputArea.js.map +1 -1
  96. package/dist/ui/components/LiveToolPanel.d.ts +30 -0
  97. package/dist/ui/components/LiveToolPanel.d.ts.map +1 -0
  98. package/dist/ui/components/LiveToolPanel.js +66 -0
  99. package/dist/ui/components/LiveToolPanel.js.map +1 -0
  100. package/dist/ui/components/ToolExecution.js +0 -2
  101. package/dist/ui/components/ToolExecution.js.map +1 -1
  102. package/dist/ui/components/TranscriptViewport.d.ts +1 -1
  103. package/dist/ui/components/TranscriptViewport.js +1 -1
  104. package/dist/ui/footer-jump-regression.test.js +12 -2
  105. package/dist/ui/footer-jump-regression.test.js.map +1 -1
  106. package/dist/ui/footer-status-layout.test.js +4 -12
  107. package/dist/ui/footer-status-layout.test.js.map +1 -1
  108. package/dist/ui/hooks/useChatLayoutMeasurements.d.ts +3 -4
  109. package/dist/ui/hooks/useChatLayoutMeasurements.d.ts.map +1 -1
  110. package/dist/ui/hooks/useChatLayoutMeasurements.js +26 -4
  111. package/dist/ui/hooks/useChatLayoutMeasurements.js.map +1 -1
  112. package/dist/ui/hooks/useModeState.d.ts +4 -19
  113. package/dist/ui/hooks/useModeState.d.ts.map +1 -1
  114. package/dist/ui/hooks/useModeState.js +5 -45
  115. package/dist/ui/hooks/useModeState.js.map +1 -1
  116. package/dist/ui/hooks/usePixelFixFlow.js +2 -2
  117. package/dist/ui/layout-decisions.d.ts +11 -34
  118. package/dist/ui/layout-decisions.d.ts.map +1 -1
  119. package/dist/ui/layout-decisions.js +15 -42
  120. package/dist/ui/layout-decisions.js.map +1 -1
  121. package/dist/ui/live-area-height.d.ts.map +1 -1
  122. package/dist/ui/live-area-height.js +6 -1
  123. package/dist/ui/live-area-height.js.map +1 -1
  124. package/dist/ui/live-frame-height.test.js +26 -1
  125. package/dist/ui/live-frame-height.test.js.map +1 -1
  126. package/dist/ui/plan-overlay.test.js +1 -1
  127. package/dist/ui/plan-overlay.test.js.map +1 -1
  128. package/dist/ui/prompt-routing.d.ts +1 -19
  129. package/dist/ui/prompt-routing.d.ts.map +1 -1
  130. package/dist/ui/prompt-routing.js +1 -79
  131. package/dist/ui/prompt-routing.js.map +1 -1
  132. package/dist/ui/render.d.ts +3 -18
  133. package/dist/ui/render.d.ts.map +1 -1
  134. package/dist/ui/render.js +0 -10
  135. package/dist/ui/render.js.map +1 -1
  136. package/dist/ui/scroll-stabilization.test.js +1 -7
  137. package/dist/ui/scroll-stabilization.test.js.map +1 -1
  138. package/dist/ui/slash-command-images.test.js +11 -86
  139. package/dist/ui/slash-command-images.test.js.map +1 -1
  140. package/dist/ui/streaming-flush-bounce.test.d.ts +2 -0
  141. package/dist/ui/streaming-flush-bounce.test.d.ts.map +1 -0
  142. package/dist/ui/streaming-flush-bounce.test.js +156 -0
  143. package/dist/ui/streaming-flush-bounce.test.js.map +1 -0
  144. package/dist/ui/submit-prompt-command.d.ts +1 -16
  145. package/dist/ui/submit-prompt-command.d.ts.map +1 -1
  146. package/dist/ui/submit-prompt-command.js +4 -54
  147. package/dist/ui/submit-prompt-command.js.map +1 -1
  148. package/dist/ui/submit-slash-commands.d.ts +0 -1
  149. package/dist/ui/submit-slash-commands.d.ts.map +1 -1
  150. package/dist/ui/submit-slash-commands.js +0 -4
  151. package/dist/ui/submit-slash-commands.js.map +1 -1
  152. package/dist/ui/terminal-history-status-renderers.d.ts +0 -1
  153. package/dist/ui/terminal-history-status-renderers.d.ts.map +1 -1
  154. package/dist/ui/terminal-history-status-renderers.js +0 -3
  155. package/dist/ui/terminal-history-status-renderers.js.map +1 -1
  156. package/dist/ui/terminal-history.d.ts.map +1 -1
  157. package/dist/ui/terminal-history.js +11 -56
  158. package/dist/ui/terminal-history.js.map +1 -1
  159. package/dist/ui/terminal-history.test.js +6 -33
  160. package/dist/ui/terminal-history.test.js.map +1 -1
  161. package/dist/ui/tool-line-summary.d.ts +29 -0
  162. package/dist/ui/tool-line-summary.d.ts.map +1 -0
  163. package/dist/ui/tool-line-summary.js +153 -0
  164. package/dist/ui/tool-line-summary.js.map +1 -0
  165. package/dist/ui/transcript/TranscriptRenderer.d.ts +1 -1
  166. package/dist/ui/transcript/TranscriptRenderer.d.ts.map +1 -1
  167. package/dist/ui/transcript/TranscriptRenderer.js +18 -12
  168. package/dist/ui/transcript/TranscriptRenderer.js.map +1 -1
  169. package/dist/ui/transcript/presentation.d.ts +1 -17
  170. package/dist/ui/transcript/presentation.d.ts.map +1 -1
  171. package/dist/ui/transcript/presentation.js +0 -26
  172. package/dist/ui/transcript/presentation.js.map +1 -1
  173. package/dist/ui/transcript/spacing.d.ts +2 -2
  174. package/dist/ui/transcript/spacing.d.ts.map +1 -1
  175. package/dist/ui/transcript/spacing.js +14 -9
  176. package/dist/ui/transcript/spacing.js.map +1 -1
  177. package/dist/ui/transcript/spacing.test.js +5 -8
  178. package/dist/ui/transcript/spacing.test.js.map +1 -1
  179. package/dist/ui/transcript/tool-presentation.js +1 -1
  180. package/dist/ui/transcript/tool-presentation.js.map +1 -1
  181. package/dist/ui/transcript/transcript-lines.d.ts.map +1 -1
  182. package/dist/ui/transcript/transcript-lines.js +4 -0
  183. package/dist/ui/transcript/transcript-lines.js.map +1 -1
  184. package/dist/ui/tui-history-parity.test.js +0 -47
  185. package/dist/ui/tui-history-parity.test.js.map +1 -1
  186. package/dist/ui/tui-simulation.test.js +2 -1
  187. package/dist/ui/tui-simulation.test.js.map +1 -1
  188. package/package.json +3 -3
  189. package/dist/core/goal-controller.d.ts +0 -82
  190. package/dist/core/goal-controller.d.ts.map +0 -1
  191. package/dist/core/goal-controller.js +0 -838
  192. package/dist/core/goal-controller.js.map +0 -1
  193. package/dist/core/goal-controller.test.d.ts +0 -2
  194. package/dist/core/goal-controller.test.d.ts.map +0 -1
  195. package/dist/core/goal-controller.test.js +0 -1279
  196. package/dist/core/goal-controller.test.js.map +0 -1
  197. package/dist/core/goal-engine.d.ts +0 -61
  198. package/dist/core/goal-engine.d.ts.map +0 -1
  199. package/dist/core/goal-engine.js +0 -123
  200. package/dist/core/goal-engine.js.map +0 -1
  201. package/dist/core/goal-engine.test.d.ts +0 -2
  202. package/dist/core/goal-engine.test.d.ts.map +0 -1
  203. package/dist/core/goal-engine.test.js +0 -295
  204. package/dist/core/goal-engine.test.js.map +0 -1
  205. package/dist/core/goal-integration.d.ts +0 -80
  206. package/dist/core/goal-integration.d.ts.map +0 -1
  207. package/dist/core/goal-integration.js +0 -296
  208. package/dist/core/goal-integration.js.map +0 -1
  209. package/dist/core/goal-integration.test.d.ts +0 -2
  210. package/dist/core/goal-integration.test.d.ts.map +0 -1
  211. package/dist/core/goal-integration.test.js +0 -369
  212. package/dist/core/goal-integration.test.js.map +0 -1
  213. package/dist/core/goal-lifecycle-smoke.test.d.ts +0 -2
  214. package/dist/core/goal-lifecycle-smoke.test.d.ts.map +0 -1
  215. package/dist/core/goal-lifecycle-smoke.test.js +0 -248
  216. package/dist/core/goal-lifecycle-smoke.test.js.map +0 -1
  217. package/dist/core/goal-overhead-harness.d.ts +0 -33
  218. package/dist/core/goal-overhead-harness.d.ts.map +0 -1
  219. package/dist/core/goal-overhead-harness.js +0 -268
  220. package/dist/core/goal-overhead-harness.js.map +0 -1
  221. package/dist/core/goal-prerequisites.d.ts +0 -23
  222. package/dist/core/goal-prerequisites.d.ts.map +0 -1
  223. package/dist/core/goal-prerequisites.js +0 -114
  224. package/dist/core/goal-prerequisites.js.map +0 -1
  225. package/dist/core/goal-prerequisites.test.d.ts +0 -2
  226. package/dist/core/goal-prerequisites.test.d.ts.map +0 -1
  227. package/dist/core/goal-prerequisites.test.js +0 -154
  228. package/dist/core/goal-prerequisites.test.js.map +0 -1
  229. package/dist/core/goal-references.d.ts +0 -14
  230. package/dist/core/goal-references.d.ts.map +0 -1
  231. package/dist/core/goal-references.js +0 -153
  232. package/dist/core/goal-references.js.map +0 -1
  233. package/dist/core/goal-references.test.d.ts +0 -2
  234. package/dist/core/goal-references.test.d.ts.map +0 -1
  235. package/dist/core/goal-references.test.js +0 -77
  236. package/dist/core/goal-references.test.js.map +0 -1
  237. package/dist/core/goal-store.d.ts +0 -289
  238. package/dist/core/goal-store.d.ts.map +0 -1
  239. package/dist/core/goal-store.js +0 -1156
  240. package/dist/core/goal-store.js.map +0 -1
  241. package/dist/core/goal-store.test.d.ts +0 -2
  242. package/dist/core/goal-store.test.d.ts.map +0 -1
  243. package/dist/core/goal-store.test.js +0 -530
  244. package/dist/core/goal-store.test.js.map +0 -1
  245. package/dist/core/goal-verifier.d.ts +0 -17
  246. package/dist/core/goal-verifier.d.ts.map +0 -1
  247. package/dist/core/goal-verifier.js +0 -87
  248. package/dist/core/goal-verifier.js.map +0 -1
  249. package/dist/core/goal-verifier.test.d.ts +0 -2
  250. package/dist/core/goal-verifier.test.d.ts.map +0 -1
  251. package/dist/core/goal-verifier.test.js +0 -131
  252. package/dist/core/goal-verifier.test.js.map +0 -1
  253. package/dist/core/goal-worker-dev-server-lifecycle.test.d.ts +0 -2
  254. package/dist/core/goal-worker-dev-server-lifecycle.test.d.ts.map +0 -1
  255. package/dist/core/goal-worker-dev-server-lifecycle.test.js +0 -68
  256. package/dist/core/goal-worker-dev-server-lifecycle.test.js.map +0 -1
  257. package/dist/core/goal-worker.d.ts +0 -61
  258. package/dist/core/goal-worker.d.ts.map +0 -1
  259. package/dist/core/goal-worker.js +0 -467
  260. package/dist/core/goal-worker.js.map +0 -1
  261. package/dist/core/goal-worker.test.d.ts +0 -2
  262. package/dist/core/goal-worker.test.d.ts.map +0 -1
  263. package/dist/core/goal-worker.test.js +0 -493
  264. package/dist/core/goal-worker.test.js.map +0 -1
  265. package/dist/core/goal-worktree.d.ts +0 -108
  266. package/dist/core/goal-worktree.d.ts.map +0 -1
  267. package/dist/core/goal-worktree.js +0 -300
  268. package/dist/core/goal-worktree.js.map +0 -1
  269. package/dist/core/goal-worktree.test.d.ts +0 -2
  270. package/dist/core/goal-worktree.test.d.ts.map +0 -1
  271. package/dist/core/goal-worktree.test.js +0 -448
  272. package/dist/core/goal-worktree.test.js.map +0 -1
  273. package/dist/tools/goal-mode.test.d.ts +0 -2
  274. package/dist/tools/goal-mode.test.d.ts.map +0 -1
  275. package/dist/tools/goal-mode.test.js +0 -121
  276. package/dist/tools/goal-mode.test.js.map +0 -1
  277. package/dist/tools/goals.d.ts +0 -143
  278. package/dist/tools/goals.d.ts.map +0 -1
  279. package/dist/tools/goals.js +0 -1038
  280. package/dist/tools/goals.js.map +0 -1
  281. package/dist/tools/goals.test.d.ts +0 -2
  282. package/dist/tools/goals.test.d.ts.map +0 -1
  283. package/dist/tools/goals.test.js +0 -1444
  284. package/dist/tools/goals.test.js.map +0 -1
  285. package/dist/ui/components/GoalOverlay.d.ts +0 -83
  286. package/dist/ui/components/GoalOverlay.d.ts.map +0 -1
  287. package/dist/ui/components/GoalOverlay.js +0 -710
  288. package/dist/ui/components/GoalOverlay.js.map +0 -1
  289. package/dist/ui/components/GoalPickerMenu.d.ts +0 -9
  290. package/dist/ui/components/GoalPickerMenu.d.ts.map +0 -1
  291. package/dist/ui/components/GoalPickerMenu.js +0 -37
  292. package/dist/ui/components/GoalPickerMenu.js.map +0 -1
  293. package/dist/ui/components/GoalStatusBar.d.ts +0 -26
  294. package/dist/ui/components/GoalStatusBar.d.ts.map +0 -1
  295. package/dist/ui/components/GoalStatusBar.js +0 -130
  296. package/dist/ui/components/GoalStatusBar.js.map +0 -1
  297. package/dist/ui/components/GoalStatusBar.test.d.ts +0 -2
  298. package/dist/ui/components/GoalStatusBar.test.d.ts.map +0 -1
  299. package/dist/ui/components/GoalStatusBar.test.js +0 -17
  300. package/dist/ui/components/GoalStatusBar.test.js.map +0 -1
  301. package/dist/ui/goal-events.d.ts +0 -125
  302. package/dist/ui/goal-events.d.ts.map +0 -1
  303. package/dist/ui/goal-events.js +0 -407
  304. package/dist/ui/goal-events.js.map +0 -1
  305. package/dist/ui/goal-events.test.d.ts +0 -2
  306. package/dist/ui/goal-events.test.d.ts.map +0 -1
  307. package/dist/ui/goal-events.test.js +0 -416
  308. package/dist/ui/goal-events.test.js.map +0 -1
  309. package/dist/ui/goal-lifecycle-orchestration.test.d.ts +0 -2
  310. package/dist/ui/goal-lifecycle-orchestration.test.d.ts.map +0 -1
  311. package/dist/ui/goal-lifecycle-orchestration.test.js +0 -555
  312. package/dist/ui/goal-lifecycle-orchestration.test.js.map +0 -1
  313. package/dist/ui/goal-overlay.test.d.ts +0 -2
  314. package/dist/ui/goal-overlay.test.d.ts.map +0 -1
  315. package/dist/ui/goal-overlay.test.js +0 -384
  316. package/dist/ui/goal-overlay.test.js.map +0 -1
  317. package/dist/ui/goal-progress.d.ts +0 -31
  318. package/dist/ui/goal-progress.d.ts.map +0 -1
  319. package/dist/ui/goal-progress.js +0 -149
  320. package/dist/ui/goal-progress.js.map +0 -1
  321. package/dist/ui/goal-run-helpers.d.ts +0 -12
  322. package/dist/ui/goal-run-helpers.d.ts.map +0 -1
  323. package/dist/ui/goal-run-helpers.js +0 -42
  324. package/dist/ui/goal-run-helpers.js.map +0 -1
  325. package/dist/ui/goal-status-bar.test.d.ts +0 -2
  326. package/dist/ui/goal-status-bar.test.d.ts.map +0 -1
  327. package/dist/ui/goal-status-bar.test.js +0 -174
  328. package/dist/ui/goal-status-bar.test.js.map +0 -1
  329. package/dist/ui/goal-summary.d.ts +0 -14
  330. package/dist/ui/goal-summary.d.ts.map +0 -1
  331. package/dist/ui/goal-summary.js +0 -194
  332. package/dist/ui/goal-summary.js.map +0 -1
  333. package/dist/ui/hooks/useGoalOrchestration.d.ts +0 -82
  334. package/dist/ui/hooks/useGoalOrchestration.d.ts.map +0 -1
  335. package/dist/ui/hooks/useGoalOrchestration.js +0 -863
  336. package/dist/ui/hooks/useGoalOrchestration.js.map +0 -1
  337. package/dist/ui/hooks/useGoalPickerController.d.ts +0 -22
  338. package/dist/ui/hooks/useGoalPickerController.d.ts.map +0 -1
  339. package/dist/ui/hooks/useGoalPickerController.js +0 -35
  340. package/dist/ui/hooks/useGoalPickerController.js.map +0 -1
  341. package/dist/ui/prompt-routing.test.d.ts +0 -2
  342. package/dist/ui/prompt-routing.test.d.ts.map +0 -1
  343. package/dist/ui/prompt-routing.test.js +0 -48
  344. package/dist/ui/prompt-routing.test.js.map +0 -1
  345. package/dist/ui/transcript/GoalRows.d.ts +0 -10
  346. package/dist/ui/transcript/GoalRows.d.ts.map +0 -1
  347. package/dist/ui/transcript/GoalRows.js +0 -35
  348. package/dist/ui/transcript/GoalRows.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-lifecycle-smoke.test.js","sourceRoot":"","sources":["../../src/core/goal-lifecycle-smoke.test.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- export interface GoalOverheadStageMeasurement {
2
- stage: string;
3
- promptChars: number;
4
- taskCount: number;
5
- blockerCount: number;
6
- requiredProofGates: number;
7
- decisionKind?: string;
8
- decisionReasonChars?: number;
9
- }
10
- export interface GoalOverheadScenarioMeasurement {
11
- scenario: "simple" | "complex";
12
- stageCount: number;
13
- promptChars: number;
14
- taskCount: number;
15
- blockerCount: number;
16
- requiredProofGates: number;
17
- stages: GoalOverheadStageMeasurement[];
18
- }
19
- export interface GoalOverheadHarnessResult {
20
- intendedExperience: string;
21
- failureModes: string[];
22
- observedSignals: string[];
23
- scenarios: GoalOverheadScenarioMeasurement[];
24
- comparisons: {
25
- promptCharsComplexToSimpleRatio: number;
26
- stageCountDelta: number;
27
- taskCountDelta: number;
28
- blockerCountDelta: number;
29
- requiredProofGateDelta: number;
30
- };
31
- }
32
- export declare function runGoalOverheadHarness(): Promise<GoalOverheadHarnessResult>;
33
- //# sourceMappingURL=goal-overhead-harness.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-overhead-harness.d.ts","sourceRoot":"","sources":["../../src/core/goal-overhead-harness.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,4BAA4B,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,yBAAyB;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,+BAA+B,EAAE,CAAC;IAC7C,WAAW,EAAE;QACX,+BAA+B,EAAE,MAAM,CAAC;QACxC,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;CACH;AAmHD,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAsNjF"}
@@ -1,268 +0,0 @@
1
- import { decideGoalNextAction } from "./goal-controller.js";
2
- import { buildGoalWorkerSystemPrompt } from "./goal-worker.js";
3
- import { buildGoalSetupPromptFromPlanner, collectAssistantTextSince, } from "../ui/prompt-routing.js";
4
- import { buildSystemPrompt } from "../system-prompt.js";
5
- const ORIGINAL_GOAL_PROMPT_REFERENCE = "[original-goal-prompt]";
6
- const CREATED_AT = "2024-01-01T00:00:00.000Z";
7
- function baseRun(overrides) {
8
- return {
9
- id: "goal-overhead-harness",
10
- title: "Goal overhead harness",
11
- goal: "Optimize /goal to be faster, lower-token, less blocker-prone, and simpler while preserving durable delivery using [original-goal-prompt].",
12
- status: "ready",
13
- createdAt: CREATED_AT,
14
- updatedAt: CREATED_AT,
15
- projectPath: "/tmp/ggcoder-goal-overhead-harness",
16
- successCriteria: [],
17
- prerequisites: [],
18
- harness: [],
19
- evidencePlan: [],
20
- tasks: [],
21
- evidence: [
22
- {
23
- id: "planner-plan",
24
- kind: "summary",
25
- label: "Planner GOAL_PLAN",
26
- content: "GOAL_PLAN\nresearch=local goal overhead harness\nsuccess=compare simple and complex /goal setup/controller overhead using [original-goal-prompt]\nEND_GOAL_PLAN",
27
- createdAt: CREATED_AT,
28
- },
29
- ],
30
- blockers: [],
31
- references: [
32
- {
33
- id: "original-goal-prompt",
34
- kind: "prompt",
35
- label: "Original Goal prompt",
36
- source: "user",
37
- content: "Users report /goal is slow, high-token, blocker-prone, and over-engineered; optimize it while preserving reliable durable delivery.",
38
- },
39
- ],
40
- ...overrides,
41
- };
42
- }
43
- function proofGateCount(run) {
44
- const verifierGate = run.verifier?.command ? 1 : 0;
45
- const finalAuditGate = run.verifier?.lastResult?.status === "pass" ? 1 : 0;
46
- return (run.prerequisites.length +
47
- run.harness.length +
48
- run.evidencePlan.length +
49
- verifierGate +
50
- finalAuditGate);
51
- }
52
- function blockerCount(run) {
53
- const missingPrerequisites = run.prerequisites.filter((item) => item.status === "missing").length;
54
- const blockedEvidence = run.evidencePlan.filter((item) => item.status === "blocked").length;
55
- const blockedTasks = run.tasks.filter((item) => item.status === "blocked").length;
56
- return run.blockers.length + missingPrerequisites + blockedEvidence + blockedTasks;
57
- }
58
- function promptCharCount(...prompts) {
59
- return prompts.reduce((total, prompt) => total + (prompt?.length ?? 0), 0);
60
- }
61
- function measureControllerStage(stage, run) {
62
- const decision = decideGoalNextAction(run);
63
- const prompt = decision.kind === "create_task" ? decision.prompt : undefined;
64
- return {
65
- stage,
66
- promptChars: promptCharCount(prompt),
67
- taskCount: run.tasks.length,
68
- blockerCount: blockerCount(run),
69
- requiredProofGates: proofGateCount(run),
70
- decisionKind: decision.kind,
71
- decisionReasonChars: decision.reason.length,
72
- };
73
- }
74
- function scenarioTotals(scenario, stages) {
75
- return {
76
- scenario,
77
- stageCount: stages.length,
78
- promptChars: stages.reduce((total, stage) => total + stage.promptChars, 0),
79
- taskCount: stages.reduce((total, stage) => total + stage.taskCount, 0),
80
- blockerCount: stages.reduce((total, stage) => total + stage.blockerCount, 0),
81
- requiredProofGates: stages.reduce((total, stage) => total + stage.requiredProofGates, 0),
82
- stages,
83
- };
84
- }
85
- function measurePromptSetup(originalGoalPrompt, plannerOutput) {
86
- const messages = [{ role: "assistant", content: plannerOutput }];
87
- const collectedPlannerOutput = collectAssistantTextSince(messages, 0);
88
- const setupPrompt = buildGoalSetupPromptFromPlanner({
89
- originalGoalPrompt,
90
- plannerOutput: collectedPlannerOutput,
91
- });
92
- return {
93
- stage: "prompt-routing: planner-to-setup",
94
- promptChars: promptCharCount(originalGoalPrompt, collectedPlannerOutput, setupPrompt),
95
- taskCount: 0,
96
- blockerCount: 0,
97
- requiredProofGates: 0,
98
- };
99
- }
100
- export async function runGoalOverheadHarness() {
101
- const simpleOriginalPrompt = `/goal Fix a small local bug. ${ORIGINAL_GOAL_PROMPT_REFERENCE}`;
102
- const complexOriginalPrompt = `/goal Optimize the GG Coder /goal system using ${ORIGINAL_GOAL_PROMPT_REFERENCE}: make runs faster, lower-token, less blocker-prone, and simpler while preserving durable delivery.`;
103
- const simpleRun = baseRun({
104
- successCriteria: [
105
- "Local verifier proves the small bug is fixed and mentions [original-goal-prompt].",
106
- ],
107
- evidencePlan: [
108
- {
109
- id: "local-proof",
110
- label: "Local proof for [original-goal-prompt]",
111
- mechanism: "test",
112
- description: "A single local command proves the change.",
113
- status: "ready",
114
- evidence: "local command available",
115
- command: "pnpm test --filter local-proof",
116
- },
117
- ],
118
- verifier: {
119
- description: "Run one local verifier for [original-goal-prompt].",
120
- command: "pnpm test --filter local-proof",
121
- },
122
- });
123
- const complexRun = baseRun({
124
- successCriteria: [
125
- "Compare representative simple vs complex Goal overhead by stage count and prompt characters using [original-goal-prompt].",
126
- "Measure task count, blocker count, and required proof gates before changing the flow.",
127
- "Preserve durable verifier and final audit reliability.",
128
- ],
129
- prerequisites: [
130
- {
131
- id: "external-service",
132
- label: "External benchmark service",
133
- status: "missing",
134
- instructions: "Provide paid benchmark credentials.",
135
- },
136
- ],
137
- harness: [
138
- {
139
- id: "missing-harness",
140
- label: "Synthetic /goal overhead harness",
141
- description: "Compares setup/controller overhead.",
142
- },
143
- ],
144
- evidencePlan: [
145
- {
146
- id: "overhead-metrics",
147
- label: "Synthetic /goal overhead metrics for [original-goal-prompt]",
148
- mechanism: "test",
149
- description: "Captures stage count, prompt characters, task count, blocker count, and required proof gates.",
150
- status: "planned",
151
- },
152
- {
153
- id: "audit-proof",
154
- label: "Final audit proof gate",
155
- mechanism: "command",
156
- description: "Confirms reliable durable delivery remains present.",
157
- status: "planned",
158
- },
159
- ],
160
- tasks: [
161
- {
162
- id: "task-1",
163
- title: "Research hotspots",
164
- prompt: "Inspect prompt-routing.ts, system-prompt.ts, goal-controller.ts, and goal-worker.ts for [original-goal-prompt].",
165
- status: "done",
166
- attempts: 1,
167
- },
168
- {
169
- id: "task-2",
170
- title: "Implement simplification",
171
- prompt: "Reduce overhead while preserving [original-goal-prompt] reliability.",
172
- status: "pending",
173
- attempts: 0,
174
- dependsOn: ["task-1"],
175
- },
176
- ],
177
- blockers: ["Unnecessary missing external prerequisite should be visible to blocker metrics."],
178
- });
179
- const simpleStages = [
180
- measurePromptSetup(simpleOriginalPrompt, "GOAL_PLAN\nresearch=none\nsuccess=single local verifier using [original-goal-prompt]\nEND_GOAL_PLAN"),
181
- measureControllerStage("controller: ready-to-verify", simpleRun),
182
- {
183
- stage: "worker: system-prompt",
184
- promptChars: promptCharCount(buildGoalWorkerSystemPrompt({
185
- cwd: simpleRun.projectPath,
186
- goalRunId: simpleRun.id,
187
- goalTaskId: "simple-task",
188
- taskTitle: "Simple local work",
189
- })),
190
- taskCount: 1,
191
- blockerCount: 0,
192
- requiredProofGates: proofGateCount(simpleRun),
193
- },
194
- {
195
- stage: "system: goal-mode prompt",
196
- promptChars: promptCharCount(await buildSystemPrompt(simpleRun.projectPath, undefined, undefined, undefined, undefined, undefined, "setup")),
197
- taskCount: 0,
198
- blockerCount: 0,
199
- requiredProofGates: 0,
200
- },
201
- ];
202
- const complexStages = [
203
- measurePromptSetup(complexOriginalPrompt, "GOAL_PLAN\nresearch=prompt-routing.ts system-prompt.ts goal-controller.ts goal-worker.ts\nsuccess=stage count, prompt chars, task count, blocker count, proof gates for [original-goal-prompt]\nproof=synthetic harness\nEND_GOAL_PLAN"),
204
- measureControllerStage("controller: blocked-prerequisite", complexRun),
205
- measureControllerStage("controller: evidence-instrumentation", baseRun({
206
- ...complexRun,
207
- prerequisites: [],
208
- blockers: [],
209
- })),
210
- measureControllerStage("controller: harness-instrumentation", baseRun({
211
- ...complexRun,
212
- prerequisites: [],
213
- blockers: [],
214
- evidencePlan: complexRun.evidencePlan.map((item) => ({
215
- ...item,
216
- status: "ready",
217
- evidence: "ready for harness comparison",
218
- })),
219
- })),
220
- {
221
- stage: "worker: system-prompt",
222
- promptChars: promptCharCount(buildGoalWorkerSystemPrompt({
223
- cwd: complexRun.projectPath,
224
- goalRunId: complexRun.id,
225
- goalTaskId: "complex-task",
226
- taskTitle: "Complex optimization work",
227
- })),
228
- taskCount: complexRun.tasks.length,
229
- blockerCount: blockerCount(complexRun),
230
- requiredProofGates: proofGateCount(complexRun),
231
- },
232
- {
233
- stage: "system: goal-mode prompt",
234
- promptChars: promptCharCount(await buildSystemPrompt(complexRun.projectPath, undefined, undefined, undefined, undefined, undefined, "setup")),
235
- taskCount: 0,
236
- blockerCount: 0,
237
- requiredProofGates: 0,
238
- },
239
- ];
240
- const simple = scenarioTotals("simple", simpleStages);
241
- const complex = scenarioTotals("complex", complexStages);
242
- return {
243
- intendedExperience: "A /goal run should move from the user's original-goal-prompt to local work, verifier evidence, and durable delivery with minimal stages, compact prompts, and no avoidable blockers when local proof is possible.",
244
- failureModes: [
245
- "Prompt-routing or system/worker prompts inflate token use before any useful work begins.",
246
- "Controller creates extra instrumentation/audit tasks for simple local goals instead of proceeding A-to-Z.",
247
- "Missing or blocked prerequisites stop a run even though local/free evidence could be produced.",
248
- "Proof gates multiply beyond the verifier/audit needed for reliable durable delivery.",
249
- ],
250
- observedSignals: [
251
- "stageCount",
252
- "promptChars",
253
- "taskCount",
254
- "blockerCount",
255
- "requiredProofGates",
256
- "controller decision kind and reason length",
257
- ],
258
- scenarios: [simple, complex],
259
- comparisons: {
260
- promptCharsComplexToSimpleRatio: Number((complex.promptChars / simple.promptChars).toFixed(2)),
261
- stageCountDelta: complex.stageCount - simple.stageCount,
262
- taskCountDelta: complex.taskCount - simple.taskCount,
263
- blockerCountDelta: complex.blockerCount - simple.blockerCount,
264
- requiredProofGateDelta: complex.requiredProofGates - simple.requiredProofGates,
265
- },
266
- };
267
- }
268
- //# sourceMappingURL=goal-overhead-harness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-overhead-harness.js","sourceRoot":"","sources":["../../src/core/goal-overhead-harness.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import type { GoalPrerequisite, GoalPrerequisiteStatus, GoalRun } from "./goal-store.js";
2
- export declare const DEFAULT_GOAL_PREREQUISITE_CHECK_TIMEOUT_MS = 15000;
3
- export interface GoalPrerequisiteCheckResult {
4
- status: GoalPrerequisiteStatus;
5
- evidence: string;
6
- }
7
- export interface PrerequisiteCommandSafetyResult {
8
- safe: boolean;
9
- reason?: string;
10
- }
11
- export interface RunGoalPrerequisiteChecksResult {
12
- run: GoalRun;
13
- checkedCount: number;
14
- }
15
- export declare function validateGoalPrerequisiteCheckCommand(command: string): PrerequisiteCommandSafetyResult;
16
- export declare function runGoalPrerequisiteCheckCommand({ cwd, command, timeoutMs, }: {
17
- cwd: string;
18
- command: string;
19
- timeoutMs?: number;
20
- }): Promise<GoalPrerequisiteCheckResult>;
21
- export declare function shouldRunGoalPrerequisiteCheck(item: GoalPrerequisite): boolean;
22
- export declare function runGoalPrerequisiteChecks(cwd: string, run: GoalRun, timeoutMs?: number): Promise<RunGoalPrerequisiteChecksResult>;
23
- //# sourceMappingURL=goal-prerequisites.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-prerequisites.d.ts","sourceRoot":"","sources":["../../src/core/goal-prerequisites.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEzF,eAAO,MAAM,0CAA0C,QAAS,CAAC;AAGjE,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,sBAAsB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,+BAA+B;IAC9C,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAeD,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,GACd,+BAA+B,CA2BjC;AAED,wBAAsB,+BAA+B,CAAC,EACpD,GAAG,EACH,OAAO,EACP,SAAsD,GACvD,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAyCvC;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAE9E;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,OAAO,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,+BAA+B,CAAC,CAsB1C"}
@@ -1,114 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- export const DEFAULT_GOAL_PREREQUISITE_CHECK_TIMEOUT_MS = 15_000;
3
- const MAX_PREREQUISITE_EVIDENCE_CHARS = 500;
4
- function appendOutput(output, chunk) {
5
- const next = output + chunk.toString("utf-8");
6
- return next.length > MAX_PREREQUISITE_EVIDENCE_CHARS
7
- ? next.slice(next.length - MAX_PREREQUISITE_EVIDENCE_CHARS)
8
- : next;
9
- }
10
- function summarizePrerequisiteCheck(command, exitCode, output) {
11
- const normalizedOutput = output.trim().replace(/\s+/g, " ");
12
- const suffix = normalizedOutput ? `; output: ${normalizedOutput}` : "";
13
- return `Checked locally: \`${command}\` exited ${exitCode}${suffix}`;
14
- }
15
- export function validateGoalPrerequisiteCheckCommand(command) {
16
- const normalized = command.trim();
17
- if (!normalized)
18
- return { safe: false, reason: "empty prerequisite check command" };
19
- const checks = [
20
- [/\brm\s+(?:-[^\s]*r[^\s]*f|-f[^\s]*r|-rf|-fr)\b/i, "destructive rm -rf command"],
21
- [
22
- /\b(?:npm|pnpm|yarn|bun)\s+(?:i|install|add|remove|uninstall|update|upgrade)\b/i,
23
- "package mutation command",
24
- ],
25
- [
26
- /\b(?:apt|apt-get|brew|pip|pip3|gem|cargo)\s+(?:install|add|remove|uninstall|update|upgrade)\b/i,
27
- "system/package mutation command",
28
- ],
29
- [/(^|[^<])>>?\s*[^\s&|;]/, "shell redirection that writes files"],
30
- [/\b(?:tee)\b(?!\s+-a?\s*\/dev\/null)/i, "tee file write command"],
31
- [/\b(?:touch|mkdir|mv|cp|chmod|chown|truncate)\b/i, "file mutation command"],
32
- [
33
- /\b(?:serve|vite|next\s+dev|npm\s+run\s+dev|pnpm\s+dev|yarn\s+dev)\b/i,
34
- "background/dev server command",
35
- ],
36
- [/[;&|]\s*$/, "trailing shell control operator"],
37
- [/&\s*(?:$|[#;])/, "background command"],
38
- ];
39
- for (const [pattern, reason] of checks) {
40
- if (pattern.test(normalized))
41
- return { safe: false, reason };
42
- }
43
- return { safe: true };
44
- }
45
- export async function runGoalPrerequisiteCheckCommand({ cwd, command, timeoutMs = DEFAULT_GOAL_PREREQUISITE_CHECK_TIMEOUT_MS, }) {
46
- const safety = validateGoalPrerequisiteCheckCommand(command);
47
- if (!safety.safe) {
48
- return {
49
- status: "missing",
50
- evidence: `Prerequisite check rejected as unsafe: ${safety.reason}. Command was not executed: \`${command}\``,
51
- };
52
- }
53
- return await new Promise((resolve) => {
54
- const child = spawn(command, {
55
- cwd,
56
- shell: true,
57
- stdio: ["ignore", "pipe", "pipe"],
58
- env: { ...process.env },
59
- });
60
- let output = "";
61
- let settled = false;
62
- const finish = (code, forcedOutput) => {
63
- if (settled)
64
- return;
65
- settled = true;
66
- clearTimeout(timeout);
67
- const exitCode = code ?? 1;
68
- resolve({
69
- status: exitCode === 0 ? "met" : "missing",
70
- evidence: summarizePrerequisiteCheck(command, exitCode, forcedOutput ?? output),
71
- });
72
- };
73
- const timeout = setTimeout(() => {
74
- if (child.pid)
75
- child.kill("SIGTERM");
76
- finish(124, `Prerequisite check timed out after ${timeoutMs}ms.`);
77
- }, timeoutMs);
78
- timeout.unref?.();
79
- child.stdout?.on("data", (chunk) => {
80
- output = appendOutput(output, chunk);
81
- });
82
- child.stderr?.on("data", (chunk) => {
83
- output = appendOutput(output, chunk);
84
- });
85
- child.on("close", (code) => finish(code));
86
- child.on("error", (err) => finish(1, `Prerequisite check process error: ${err.message}`));
87
- });
88
- }
89
- export function shouldRunGoalPrerequisiteCheck(item) {
90
- return !!item.checkCommand && (item.status !== "met" || !item.evidence?.trim());
91
- }
92
- export async function runGoalPrerequisiteChecks(cwd, run, timeoutMs) {
93
- let checkedCount = 0;
94
- const prerequisites = await Promise.all(run.prerequisites.map(async (item) => {
95
- if (!shouldRunGoalPrerequisiteCheck(item) || !item.checkCommand)
96
- return item;
97
- checkedCount += 1;
98
- const result = await runGoalPrerequisiteCheckCommand({
99
- cwd,
100
- command: item.checkCommand,
101
- timeoutMs,
102
- });
103
- return {
104
- ...item,
105
- status: result.status,
106
- evidence: result.evidence,
107
- ...(result.status === "missing" && !item.instructions
108
- ? { instructions: `Make \`${item.checkCommand}\` pass locally.` }
109
- : {}),
110
- };
111
- }));
112
- return { run: { ...run, prerequisites }, checkedCount };
113
- }
114
- //# sourceMappingURL=goal-prerequisites.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-prerequisites.js","sourceRoot":"","sources":["../../src/core/goal-prerequisites.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,MAAM,CAAC,MAAM,0CAA0C,GAAG,MAAM,CAAC;AACjE,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAiB5C,SAAS,YAAY,CAAC,MAAc,EAAE,KAAa;IACjD,MAAM,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,MAAM,GAAG,+BAA+B;QAClD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,+BAA+B,CAAC;QAC3D,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAe,EAAE,QAAgB,EAAE,MAAc;IACnF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,aAAa,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,OAAO,sBAAsB,OAAO,aAAa,QAAQ,GAAG,MAAM,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,OAAe;IAEf,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;IACpF,MAAM,MAAM,GAA4B;QACtC,CAAC,iDAAiD,EAAE,4BAA4B,CAAC;QACjF;YACE,gFAAgF;YAChF,0BAA0B;SAC3B;QACD;YACE,gGAAgG;YAChG,iCAAiC;SAClC;QACD,CAAC,wBAAwB,EAAE,qCAAqC,CAAC;QACjE,CAAC,sCAAsC,EAAE,wBAAwB,CAAC;QAClE,CAAC,iDAAiD,EAAE,uBAAuB,CAAC;QAC5E;YACE,sEAAsE;YACtE,+BAA+B;SAChC;QACD,CAAC,WAAW,EAAE,iCAAiC,CAAC;QAChD,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;KACzC,CAAC;IACF,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,EACpD,GAAG,EACH,OAAO,EACP,SAAS,GAAG,0CAA0C,GAKvD;IACC,MAAM,MAAM,GAAG,oCAAoC,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,0CAA0C,MAAM,CAAC,MAAM,iCAAiC,OAAO,IAAI;SAC9G,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,IAAI,OAAO,CAA8B,CAAC,OAAO,EAAE,EAAE;QAChE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE;YAC3B,GAAG;YACH,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,YAAqB,EAAE,EAAE;YAC5D,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC;gBACN,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC1C,QAAQ,EAAE,0BAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,IAAI,MAAM,CAAC;aAChF,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,KAAK,CAAC,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,EAAE,sCAAsC,SAAS,KAAK,CAAC,CAAC;QACpE,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,qCAAqC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAsB;IACnE,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAW,EACX,GAAY,EACZ,SAAkB;IAElB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAA6B,EAAE;QAC9D,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC7E,YAAY,IAAI,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,+BAA+B,CAAC;YACnD,GAAG;YACH,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,SAAS;SACV,CAAC,CAAC;QACH,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY;gBACnD,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,IAAI,CAAC,YAAY,kBAAkB,EAAE;gBACjE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,EAAE,YAAY,EAAE,CAAC;AAC1D,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=goal-prerequisites.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-prerequisites.test.d.ts","sourceRoot":"","sources":["../../src/core/goal-prerequisites.test.ts"],"names":[],"mappings":""}
@@ -1,154 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import fs from "node:fs/promises";
3
- import os from "node:os";
4
- import path from "node:path";
5
- import { goalHasBlockingPrerequisites, goalHasUnmetLocalPrerequisites, isBlockingGoalPrerequisite, prerequisiteKind, } from "./goal-store.js";
6
- import { runGoalPrerequisiteCheckCommand, runGoalPrerequisiteChecks, shouldRunGoalPrerequisiteCheck, validateGoalPrerequisiteCheckCommand, } from "./goal-prerequisites.js";
7
- function goalRun(overrides = {}) {
8
- return {
9
- id: "goal-a",
10
- title: "Goal",
11
- goal: "Check prerequisites before workers",
12
- status: "ready",
13
- createdAt: "2024-01-01T00:00:00.000Z",
14
- updatedAt: "2024-01-01T00:00:00.000Z",
15
- projectPath: "/tmp/project",
16
- successCriteria: [],
17
- prerequisites: [],
18
- harness: [],
19
- evidencePlan: [],
20
- tasks: [],
21
- evidence: [],
22
- blockers: [],
23
- ...overrides,
24
- };
25
- }
26
- describe("goal prerequisite checks", () => {
27
- it("rejects unsafe prerequisite commands without executing mutations", async () => {
28
- expect(validateGoalPrerequisiteCheckCommand("rm -rf .goal-evidence")).toEqual({
29
- safe: false,
30
- reason: "destructive rm -rf command",
31
- });
32
- expect(validateGoalPrerequisiteCheckCommand("pnpm install left-pad")).toEqual({
33
- safe: false,
34
- reason: "package mutation command",
35
- });
36
- expect(validateGoalPrerequisiteCheckCommand("echo secret > leaked.txt")).toEqual({
37
- safe: false,
38
- reason: "shell redirection that writes files",
39
- });
40
- expect(validateGoalPrerequisiteCheckCommand("test -f package.json")).toEqual({ safe: true });
41
- const tmpProject = await fs.mkdtemp(path.join(os.tmpdir(), "goal-prereq-safety-project-"));
42
- try {
43
- const result = await runGoalPrerequisiteCheckCommand({
44
- cwd: tmpProject,
45
- command: "echo unsafe > should-not-exist.txt",
46
- });
47
- expect(result.status).toBe("missing");
48
- expect(result.evidence).toContain("rejected as unsafe");
49
- await expect(fs.access(path.join(tmpProject, "should-not-exist.txt"))).rejects.toThrow();
50
- }
51
- finally {
52
- await fs.rm(tmpProject, { recursive: true, force: true });
53
- }
54
- });
55
- it("runs cheap local check commands and records non-secret evidence", async () => {
56
- const tmpProject = await fs.mkdtemp(path.join(os.tmpdir(), "goal-prereq-test-project-"));
57
- try {
58
- await fs.writeFile(path.join(tmpProject, "fixture.txt"), "ready", "utf-8");
59
- const result = await runGoalPrerequisiteCheckCommand({
60
- cwd: tmpProject,
61
- command: "test -f fixture.txt",
62
- });
63
- expect(result.status).toBe("met");
64
- expect(result.evidence).toContain("`test -f fixture.txt` exited 0");
65
- }
66
- finally {
67
- await fs.rm(tmpProject, { recursive: true, force: true });
68
- }
69
- });
70
- it("only skips prerequisites that are met with recorded evidence", () => {
71
- expect(shouldRunGoalPrerequisiteCheck({
72
- id: "checked",
73
- label: "Checked",
74
- status: "met",
75
- evidence: "Already checked.",
76
- checkCommand: "true",
77
- })).toBe(false);
78
- expect(shouldRunGoalPrerequisiteCheck({
79
- id: "unchecked",
80
- label: "Unchecked",
81
- status: "met",
82
- checkCommand: "true",
83
- })).toBe(true);
84
- expect(shouldRunGoalPrerequisiteCheck({
85
- id: "unknown",
86
- label: "Unknown",
87
- status: "unknown",
88
- checkCommand: "true",
89
- })).toBe(true);
90
- });
91
- it("infers prerequisite kind and keeps explicit kind", () => {
92
- expect(prerequisiteKind({ id: "a", label: "a", status: "unknown", checkCommand: "true" })).toBe("local");
93
- expect(prerequisiteKind({ id: "b", label: "b", status: "unknown" })).toBe("external");
94
- expect(prerequisiteKind({
95
- id: "c",
96
- label: "c",
97
- status: "unknown",
98
- kind: "external",
99
- checkCommand: "true",
100
- })).toBe("external");
101
- expect(prerequisiteKind({ id: "d", label: "d", status: "unknown", kind: "local" })).toBe("local");
102
- });
103
- it("local unmet prerequisites do not block; external unmet ones do", () => {
104
- const localPrereq = {
105
- id: "node",
106
- label: "Node",
107
- status: "missing",
108
- checkCommand: "node --version",
109
- };
110
- const externalPrereq = { id: "key", label: "API key", status: "missing" };
111
- expect(isBlockingGoalPrerequisite(localPrereq)).toBe(false);
112
- expect(isBlockingGoalPrerequisite(externalPrereq)).toBe(true);
113
- const localOnly = goalRun({ prerequisites: [localPrereq] });
114
- expect(goalHasBlockingPrerequisites(localOnly)).toBe(false);
115
- expect(goalHasUnmetLocalPrerequisites(localOnly)).toBe(true);
116
- const withExternal = goalRun({ prerequisites: [localPrereq, externalPrereq] });
117
- expect(goalHasBlockingPrerequisites(withExternal)).toBe(true);
118
- });
119
- it("updates a Goal run with checked prerequisite statuses before workers start", async () => {
120
- const tmpProject = await fs.mkdtemp(path.join(os.tmpdir(), "goal-prereq-test-project-"));
121
- try {
122
- const result = await runGoalPrerequisiteChecks(tmpProject, goalRun({
123
- prerequisites: [
124
- {
125
- id: "pass",
126
- label: "Passing check",
127
- status: "unknown",
128
- kind: "local",
129
- checkCommand: "true",
130
- },
131
- { id: "fail", label: "Failing check", status: "unknown", checkCommand: "false" },
132
- ],
133
- }));
134
- expect(result.checkedCount).toBe(2);
135
- expect(result.run.prerequisites).toEqual([
136
- expect.objectContaining({
137
- id: "pass",
138
- status: "met",
139
- kind: "local",
140
- evidence: expect.stringContaining("exited 0"),
141
- }),
142
- expect.objectContaining({
143
- id: "fail",
144
- status: "missing",
145
- evidence: expect.stringContaining("exited 1"),
146
- }),
147
- ]);
148
- }
149
- finally {
150
- await fs.rm(tmpProject, { recursive: true, force: true });
151
- }
152
- });
153
- });
154
- //# sourceMappingURL=goal-prerequisites.test.js.map