@kenkaiiii/ggcoder 4.3.212 → 4.3.214

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 (312) hide show
  1. package/README.md +5 -8
  2. package/dist/cli.d.ts +3 -1
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +112 -61
  5. package/dist/cli.js.map +1 -1
  6. package/dist/core/continue-replay-inventory.test.d.ts +2 -0
  7. package/dist/core/continue-replay-inventory.test.d.ts.map +1 -0
  8. package/dist/core/continue-replay-inventory.test.js +42 -0
  9. package/dist/core/continue-replay-inventory.test.js.map +1 -0
  10. package/dist/core/goal-controller.d.ts +2 -0
  11. package/dist/core/goal-controller.d.ts.map +1 -1
  12. package/dist/core/goal-controller.js +283 -24
  13. package/dist/core/goal-controller.js.map +1 -1
  14. package/dist/core/goal-controller.test.js +413 -16
  15. package/dist/core/goal-controller.test.js.map +1 -1
  16. package/dist/core/goal-lifecycle-smoke.test.js +48 -6
  17. package/dist/core/goal-lifecycle-smoke.test.js.map +1 -1
  18. package/dist/core/goal-prerequisites.d.ts +5 -0
  19. package/dist/core/goal-prerequisites.d.ts.map +1 -1
  20. package/dist/core/goal-prerequisites.js +37 -0
  21. package/dist/core/goal-prerequisites.js.map +1 -1
  22. package/dist/core/goal-prerequisites.test.js +29 -1
  23. package/dist/core/goal-prerequisites.test.js.map +1 -1
  24. package/dist/core/goal-references.d.ts +14 -0
  25. package/dist/core/goal-references.d.ts.map +1 -0
  26. package/dist/core/goal-references.js +153 -0
  27. package/dist/core/goal-references.js.map +1 -0
  28. package/dist/core/goal-references.test.d.ts +2 -0
  29. package/dist/core/goal-references.test.d.ts.map +1 -0
  30. package/dist/core/goal-references.test.js +77 -0
  31. package/dist/core/goal-references.test.js.map +1 -0
  32. package/dist/core/goal-store.d.ts +25 -0
  33. package/dist/core/goal-store.d.ts.map +1 -1
  34. package/dist/core/goal-store.js +150 -36
  35. package/dist/core/goal-store.js.map +1 -1
  36. package/dist/core/goal-store.test.js +19 -2
  37. package/dist/core/goal-store.test.js.map +1 -1
  38. package/dist/core/goal-verifier.d.ts.map +1 -1
  39. package/dist/core/goal-verifier.js +4 -1
  40. package/dist/core/goal-verifier.js.map +1 -1
  41. package/dist/core/goal-verifier.test.js +43 -0
  42. package/dist/core/goal-verifier.test.js.map +1 -1
  43. package/dist/core/goal-worker.d.ts +2 -0
  44. package/dist/core/goal-worker.d.ts.map +1 -1
  45. package/dist/core/goal-worker.js +33 -9
  46. package/dist/core/goal-worker.js.map +1 -1
  47. package/dist/core/goal-worker.test.js +49 -1
  48. package/dist/core/goal-worker.test.js.map +1 -1
  49. package/dist/core/prompt-commands.d.ts.map +1 -1
  50. package/dist/core/prompt-commands.js +28 -846
  51. package/dist/core/prompt-commands.js.map +1 -1
  52. package/dist/core/prompt-commands.test.js +40 -78
  53. package/dist/core/prompt-commands.test.js.map +1 -1
  54. package/dist/core/runtime-mode.d.ts +14 -0
  55. package/dist/core/runtime-mode.d.ts.map +1 -0
  56. package/dist/core/runtime-mode.js +10 -0
  57. package/dist/core/runtime-mode.js.map +1 -0
  58. package/dist/core/session-restore-display.test.d.ts +2 -0
  59. package/dist/core/session-restore-display.test.d.ts.map +1 -0
  60. package/dist/core/session-restore-display.test.js +100 -0
  61. package/dist/core/session-restore-display.test.js.map +1 -0
  62. package/dist/core/verify-commands.js +4 -4
  63. package/dist/core/verify-commands.js.map +1 -1
  64. package/dist/system-prompt.d.ts +2 -1
  65. package/dist/system-prompt.d.ts.map +1 -1
  66. package/dist/system-prompt.js +51 -37
  67. package/dist/system-prompt.js.map +1 -1
  68. package/dist/system-prompt.test.js +147 -40
  69. package/dist/system-prompt.test.js.map +1 -1
  70. package/dist/tools/bash.d.ts +3 -2
  71. package/dist/tools/bash.d.ts.map +1 -1
  72. package/dist/tools/bash.js +11 -4
  73. package/dist/tools/bash.js.map +1 -1
  74. package/dist/tools/edit.d.ts +5 -3
  75. package/dist/tools/edit.d.ts.map +1 -1
  76. package/dist/tools/edit.js +14 -4
  77. package/dist/tools/edit.js.map +1 -1
  78. package/dist/tools/edit.test.js +0 -10
  79. package/dist/tools/edit.test.js.map +1 -1
  80. package/dist/tools/goal-mode.test.d.ts +2 -0
  81. package/dist/tools/goal-mode.test.d.ts.map +1 -0
  82. package/dist/tools/goal-mode.test.js +121 -0
  83. package/dist/tools/goal-mode.test.js.map +1 -0
  84. package/dist/tools/goals.d.ts +15 -3
  85. package/dist/tools/goals.d.ts.map +1 -1
  86. package/dist/tools/goals.js +336 -26
  87. package/dist/tools/goals.js.map +1 -1
  88. package/dist/tools/goals.test.js +346 -6
  89. package/dist/tools/goals.test.js.map +1 -1
  90. package/dist/tools/index.d.ts +7 -10
  91. package/dist/tools/index.d.ts.map +1 -1
  92. package/dist/tools/index.js +6 -19
  93. package/dist/tools/index.js.map +1 -1
  94. package/dist/tools/plan-mode.test.js +34 -224
  95. package/dist/tools/plan-mode.test.js.map +1 -1
  96. package/dist/tools/prompt-hints.d.ts.map +1 -1
  97. package/dist/tools/prompt-hints.js +2 -6
  98. package/dist/tools/prompt-hints.js.map +1 -1
  99. package/dist/tools/subagent.d.ts +3 -2
  100. package/dist/tools/subagent.d.ts.map +1 -1
  101. package/dist/tools/subagent.js +4 -9
  102. package/dist/tools/subagent.js.map +1 -1
  103. package/dist/tools/write.d.ts +5 -3
  104. package/dist/tools/write.d.ts.map +1 -1
  105. package/dist/tools/write.js +14 -13
  106. package/dist/tools/write.js.map +1 -1
  107. package/dist/tools/write.test.js +0 -16
  108. package/dist/tools/write.test.js.map +1 -1
  109. package/dist/ui/App.d.ts +145 -28
  110. package/dist/ui/App.d.ts.map +1 -1
  111. package/dist/ui/App.js +1153 -864
  112. package/dist/ui/App.js.map +1 -1
  113. package/dist/ui/activity-phrases.d.ts.map +1 -1
  114. package/dist/ui/activity-phrases.js +0 -2
  115. package/dist/ui/activity-phrases.js.map +1 -1
  116. package/dist/ui/app-state-persistence.test.js +173 -5
  117. package/dist/ui/app-state-persistence.test.js.map +1 -1
  118. package/dist/ui/chat-layout-pinning.test.d.ts +2 -0
  119. package/dist/ui/chat-layout-pinning.test.d.ts.map +1 -0
  120. package/dist/ui/chat-layout-pinning.test.js +407 -0
  121. package/dist/ui/chat-layout-pinning.test.js.map +1 -0
  122. package/dist/ui/components/ActivityIndicator.d.ts +1 -2
  123. package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
  124. package/dist/ui/components/ActivityIndicator.js +63 -94
  125. package/dist/ui/components/ActivityIndicator.js.map +1 -1
  126. package/dist/ui/components/AssistantMessage.d.ts +6 -2
  127. package/dist/ui/components/AssistantMessage.d.ts.map +1 -1
  128. package/dist/ui/components/AssistantMessage.js +9 -4
  129. package/dist/ui/components/AssistantMessage.js.map +1 -1
  130. package/dist/ui/components/AssistantMessage.test.d.ts +2 -0
  131. package/dist/ui/components/AssistantMessage.test.d.ts.map +1 -0
  132. package/dist/ui/components/AssistantMessage.test.js +369 -0
  133. package/dist/ui/components/AssistantMessage.test.js.map +1 -0
  134. package/dist/ui/components/BackgroundTasksBar.d.ts +1 -3
  135. package/dist/ui/components/BackgroundTasksBar.d.ts.map +1 -1
  136. package/dist/ui/components/BackgroundTasksBar.js +2 -4
  137. package/dist/ui/components/BackgroundTasksBar.js.map +1 -1
  138. package/dist/ui/components/Banner.d.ts +1 -3
  139. package/dist/ui/components/Banner.d.ts.map +1 -1
  140. package/dist/ui/components/Banner.js +7 -3
  141. package/dist/ui/components/Banner.js.map +1 -1
  142. package/dist/ui/components/Footer.d.ts +26 -4
  143. package/dist/ui/components/Footer.d.ts.map +1 -1
  144. package/dist/ui/components/Footer.js +73 -21
  145. package/dist/ui/components/Footer.js.map +1 -1
  146. package/dist/ui/components/GoalOverlay.d.ts +28 -20
  147. package/dist/ui/components/GoalOverlay.d.ts.map +1 -1
  148. package/dist/ui/components/GoalOverlay.js +283 -253
  149. package/dist/ui/components/GoalOverlay.js.map +1 -1
  150. package/dist/ui/components/InputArea.d.ts +2 -6
  151. package/dist/ui/components/InputArea.d.ts.map +1 -1
  152. package/dist/ui/components/InputArea.js +40 -32
  153. package/dist/ui/components/InputArea.js.map +1 -1
  154. package/dist/ui/components/InputArea.test.js +11 -1
  155. package/dist/ui/components/InputArea.test.js.map +1 -1
  156. package/dist/ui/components/Markdown.d.ts +11 -11
  157. package/dist/ui/components/Markdown.d.ts.map +1 -1
  158. package/dist/ui/components/Markdown.js +25 -198
  159. package/dist/ui/components/Markdown.js.map +1 -1
  160. package/dist/ui/components/PlanOverlay.d.ts.map +1 -1
  161. package/dist/ui/components/PlanOverlay.js +1 -1
  162. package/dist/ui/components/PlanOverlay.js.map +1 -1
  163. package/dist/ui/components/ServerToolExecution.d.ts.map +1 -1
  164. package/dist/ui/components/ServerToolExecution.js +3 -2
  165. package/dist/ui/components/ServerToolExecution.js.map +1 -1
  166. package/dist/ui/components/SlashCommandMenu.d.ts +4 -3
  167. package/dist/ui/components/SlashCommandMenu.d.ts.map +1 -1
  168. package/dist/ui/components/SlashCommandMenu.js +38 -26
  169. package/dist/ui/components/SlashCommandMenu.js.map +1 -1
  170. package/dist/ui/components/StreamingArea.d.ts +11 -2
  171. package/dist/ui/components/StreamingArea.d.ts.map +1 -1
  172. package/dist/ui/components/StreamingArea.js +20 -23
  173. package/dist/ui/components/StreamingArea.js.map +1 -1
  174. package/dist/ui/components/StreamingArea.test.d.ts +2 -0
  175. package/dist/ui/components/StreamingArea.test.d.ts.map +1 -0
  176. package/dist/ui/components/StreamingArea.test.js +18 -0
  177. package/dist/ui/components/StreamingArea.test.js.map +1 -0
  178. package/dist/ui/components/ToolExecution.d.ts.map +1 -1
  179. package/dist/ui/components/ToolExecution.js +11 -27
  180. package/dist/ui/components/ToolExecution.js.map +1 -1
  181. package/dist/ui/components/ToolGroupExecution.d.ts.map +1 -1
  182. package/dist/ui/components/ToolGroupExecution.js +9 -124
  183. package/dist/ui/components/ToolGroupExecution.js.map +1 -1
  184. package/dist/ui/components/UserMessage.d.ts.map +1 -1
  185. package/dist/ui/components/UserMessage.js +15 -10
  186. package/dist/ui/components/UserMessage.js.map +1 -1
  187. package/dist/ui/components/UserMessage.test.d.ts +2 -0
  188. package/dist/ui/components/UserMessage.test.d.ts.map +1 -0
  189. package/dist/ui/components/UserMessage.test.js +39 -0
  190. package/dist/ui/components/UserMessage.test.js.map +1 -0
  191. package/dist/ui/footer-status-layout.test.js +21 -7
  192. package/dist/ui/footer-status-layout.test.js.map +1 -1
  193. package/dist/ui/goal-events.d.ts +13 -0
  194. package/dist/ui/goal-events.d.ts.map +1 -1
  195. package/dist/ui/goal-events.js +81 -16
  196. package/dist/ui/goal-events.js.map +1 -1
  197. package/dist/ui/goal-events.test.js +76 -2
  198. package/dist/ui/goal-events.test.js.map +1 -1
  199. package/dist/ui/goal-lifecycle-orchestration.test.js +131 -34
  200. package/dist/ui/goal-lifecycle-orchestration.test.js.map +1 -1
  201. package/dist/ui/goal-overlay.test.js +121 -43
  202. package/dist/ui/goal-overlay.test.js.map +1 -1
  203. package/dist/ui/goal-summary.d.ts +14 -0
  204. package/dist/ui/goal-summary.d.ts.map +1 -0
  205. package/dist/ui/goal-summary.js +194 -0
  206. package/dist/ui/goal-summary.js.map +1 -0
  207. package/dist/ui/hooks/useAgentLoop.d.ts +8 -2
  208. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  209. package/dist/ui/hooks/useAgentLoop.js +20 -9
  210. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  211. package/dist/ui/hooks/useAgentLoop.test.d.ts +2 -0
  212. package/dist/ui/hooks/useAgentLoop.test.d.ts.map +1 -0
  213. package/dist/ui/hooks/useAgentLoop.test.js +8 -0
  214. package/dist/ui/hooks/useAgentLoop.test.js.map +1 -0
  215. package/dist/ui/hooks/useTerminalSize.d.ts +5 -9
  216. package/dist/ui/hooks/useTerminalSize.d.ts.map +1 -1
  217. package/dist/ui/hooks/useTerminalSize.js +9 -14
  218. package/dist/ui/hooks/useTerminalSize.js.map +1 -1
  219. package/dist/ui/live-item-flush.d.ts +2 -2
  220. package/dist/ui/live-item-flush.d.ts.map +1 -1
  221. package/dist/ui/live-item-flush.js +8 -4
  222. package/dist/ui/live-item-flush.js.map +1 -1
  223. package/dist/ui/long-prompt-regression-harness.test.d.ts +2 -0
  224. package/dist/ui/long-prompt-regression-harness.test.d.ts.map +1 -0
  225. package/dist/ui/long-prompt-regression-harness.test.js +195 -0
  226. package/dist/ui/long-prompt-regression-harness.test.js.map +1 -0
  227. package/dist/ui/plan-overlay.test.js +7 -29
  228. package/dist/ui/plan-overlay.test.js.map +1 -1
  229. package/dist/ui/queued-message.test.d.ts.map +1 -1
  230. package/dist/ui/queued-message.test.js +76 -14
  231. package/dist/ui/queued-message.test.js.map +1 -1
  232. package/dist/ui/render.d.ts +21 -24
  233. package/dist/ui/render.d.ts.map +1 -1
  234. package/dist/ui/render.js +46 -28
  235. package/dist/ui/render.js.map +1 -1
  236. package/dist/ui/render.test.d.ts +2 -0
  237. package/dist/ui/render.test.d.ts.map +1 -0
  238. package/dist/ui/render.test.js +16 -0
  239. package/dist/ui/render.test.js.map +1 -0
  240. package/dist/ui/scroll-stabilization.test.js +1 -1
  241. package/dist/ui/scroll-stabilization.test.js.map +1 -1
  242. package/dist/ui/slash-command-images.test.js +79 -4
  243. package/dist/ui/slash-command-images.test.js.map +1 -1
  244. package/dist/ui/terminal-history.d.ts +26 -0
  245. package/dist/ui/terminal-history.d.ts.map +1 -0
  246. package/dist/ui/terminal-history.js +910 -0
  247. package/dist/ui/terminal-history.js.map +1 -0
  248. package/dist/ui/terminal-history.test.d.ts +2 -0
  249. package/dist/ui/terminal-history.test.d.ts.map +1 -0
  250. package/dist/ui/terminal-history.test.js +314 -0
  251. package/dist/ui/terminal-history.test.js.map +1 -0
  252. package/dist/ui/tool-group-summary.d.ts +16 -0
  253. package/dist/ui/tool-group-summary.d.ts.map +1 -0
  254. package/dist/ui/tool-group-summary.js +123 -0
  255. package/dist/ui/tool-group-summary.js.map +1 -0
  256. package/dist/ui/tui-history-parity.test.d.ts +2 -0
  257. package/dist/ui/tui-history-parity.test.d.ts.map +1 -0
  258. package/dist/ui/tui-history-parity.test.js +243 -0
  259. package/dist/ui/tui-history-parity.test.js.map +1 -0
  260. package/dist/ui/utils/assistant-stream-split.d.ts +6 -0
  261. package/dist/ui/utils/assistant-stream-split.d.ts.map +1 -0
  262. package/dist/ui/utils/assistant-stream-split.js +37 -0
  263. package/dist/ui/utils/assistant-stream-split.js.map +1 -0
  264. package/dist/ui/utils/assistant-stream-split.test.d.ts +2 -0
  265. package/dist/ui/utils/assistant-stream-split.test.d.ts.map +1 -0
  266. package/dist/ui/utils/assistant-stream-split.test.js +58 -0
  267. package/dist/ui/utils/assistant-stream-split.test.js.map +1 -0
  268. package/dist/ui/utils/latex-to-unicode.d.ts +22 -0
  269. package/dist/ui/utils/latex-to-unicode.d.ts.map +1 -0
  270. package/dist/ui/utils/latex-to-unicode.js +538 -0
  271. package/dist/ui/utils/latex-to-unicode.js.map +1 -0
  272. package/dist/ui/utils/markdown-renderer.d.ts +20 -0
  273. package/dist/ui/utils/markdown-renderer.d.ts.map +1 -0
  274. package/dist/ui/utils/markdown-renderer.js +327 -0
  275. package/dist/ui/utils/markdown-renderer.js.map +1 -0
  276. package/dist/ui/utils/markdown-table.d.ts +9 -0
  277. package/dist/ui/utils/markdown-table.d.ts.map +1 -0
  278. package/dist/ui/utils/markdown-table.js +95 -0
  279. package/dist/ui/utils/markdown-table.js.map +1 -0
  280. package/dist/ui/utils/text-utils.d.ts +8 -0
  281. package/dist/ui/utils/text-utils.d.ts.map +1 -0
  282. package/dist/ui/utils/text-utils.js +16 -0
  283. package/dist/ui/utils/text-utils.js.map +1 -0
  284. package/dist/ui/utils/token-to-ansi.js +19 -9
  285. package/dist/ui/utils/token-to-ansi.js.map +1 -1
  286. package/dist/ui/utils/user-message-display.d.ts +7 -0
  287. package/dist/ui/utils/user-message-display.d.ts.map +1 -0
  288. package/dist/ui/utils/user-message-display.js +26 -0
  289. package/dist/ui/utils/user-message-display.js.map +1 -0
  290. package/dist/utils/format.js +0 -9
  291. package/dist/utils/format.js.map +1 -1
  292. package/package.json +9 -4
  293. package/dist/tools/enter-plan.d.ts +0 -8
  294. package/dist/tools/enter-plan.d.ts.map +0 -1
  295. package/dist/tools/enter-plan.js +0 -30
  296. package/dist/tools/enter-plan.js.map +0 -1
  297. package/dist/tools/exit-plan.d.ts +0 -8
  298. package/dist/tools/exit-plan.d.ts.map +0 -1
  299. package/dist/tools/exit-plan.js +0 -36
  300. package/dist/tools/exit-plan.js.map +0 -1
  301. package/dist/tools/tasks.d.ts +0 -16
  302. package/dist/tools/tasks.d.ts.map +0 -1
  303. package/dist/tools/tasks.js +0 -133
  304. package/dist/tools/tasks.js.map +0 -1
  305. package/dist/ui/components/EyesOverlay.d.ts +0 -10
  306. package/dist/ui/components/EyesOverlay.d.ts.map +0 -1
  307. package/dist/ui/components/EyesOverlay.js +0 -220
  308. package/dist/ui/components/EyesOverlay.js.map +0 -1
  309. package/dist/ui/components/TaskOverlay.d.ts +0 -10
  310. package/dist/ui/components/TaskOverlay.d.ts.map +0 -1
  311. package/dist/ui/components/TaskOverlay.js +0 -267
  312. package/dist/ui/components/TaskOverlay.js.map +0 -1
@@ -1,5 +1,19 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { canCompleteGoalRun, decideGoalNextAction, formatGoalControllerDecision, shouldClearGoalContinuation, } from "./goal-controller.js";
2
+ import { canCompleteGoalRun, decideGoalNextAction, formatGoalControllerDecision, hasFreshGoalCompletionAudit, hasRequiredGoalEvidence, shouldClearGoalContinuation, } from "./goal-controller.js";
3
+ const durablePromptReference = {
4
+ id: "original-goal-prompt",
5
+ kind: "prompt",
6
+ label: "Original Goal prompt",
7
+ content: "Original /goal prompt requiring durable references and.",
8
+ source: "user",
9
+ };
10
+ const durablePlanEvidence = {
11
+ id: "planner-plan",
12
+ kind: "summary",
13
+ label: "Planner GOAL_PLAN",
14
+ content: "GOAL_PLAN\nresearch=local\nfacts=goal-controller.ts\nsuccess=durable prompt and durable plan\nproof=contract test\nsetup=references verifier audit\nEND_GOAL_PLAN",
15
+ createdAt: "2024-01-01T00:00:00.000Z",
16
+ };
3
17
  function goalRun(overrides = {}) {
4
18
  return {
5
19
  id: "goal-a",
@@ -12,14 +26,131 @@ function goalRun(overrides = {}) {
12
26
  successCriteria: ["Verifier passes"],
13
27
  prerequisites: [],
14
28
  harness: [],
15
- evidencePlan: [],
29
+ evidencePlan: [
30
+ {
31
+ id: "proof",
32
+ label: "Proof",
33
+ mechanism: "command",
34
+ description: "Run verifier",
35
+ status: "ready",
36
+ evidence: "verified",
37
+ command: "npm test",
38
+ },
39
+ ],
40
+ verifier: {
41
+ description: "Verifier",
42
+ command: "npm test",
43
+ lastResult: {
44
+ status: "pass",
45
+ summary: "passed",
46
+ command: "npm test",
47
+ outputPath: "out.log",
48
+ checkedAt: "2024-01-01T00:00:02.000Z",
49
+ },
50
+ },
51
+ references: [durablePromptReference],
16
52
  tasks: [],
17
- evidence: [],
53
+ evidence: [durablePlanEvidence],
18
54
  blockers: [],
19
55
  ...overrides,
20
56
  };
21
57
  }
58
+ function withPassingCompletionAudit(run) {
59
+ const verifier = run.verifier?.lastResult;
60
+ if (!verifier)
61
+ throw new Error("run must have verifier result");
62
+ return {
63
+ ...run,
64
+ completionAudit: {
65
+ status: "pass",
66
+ summary: `FINAL_AUDIT_PASS verifier_checked_at=${verifier.checkedAt} output=${verifier.outputPath ?? "inline"} original-goal-prompt GOAL_PLAN`,
67
+ checkedAt: "2024-01-01T00:00:03.000Z",
68
+ verifierCheckedAt: verifier.checkedAt,
69
+ ...(verifier.outputPath ? { outputPath: verifier.outputPath } : {}),
70
+ },
71
+ };
72
+ }
22
73
  describe("goal controller", () => {
74
+ it("blocks completion when mandatory non-prompt references are silently ignored", () => {
75
+ const ignored = withPassingCompletionAudit(goalRun({
76
+ references: [
77
+ {
78
+ id: "original-goal-prompt",
79
+ kind: "prompt",
80
+ label: "Original Goal prompt",
81
+ content: "Fix feature based off X, Y, Z with supplied references.",
82
+ source: "user",
83
+ },
84
+ {
85
+ id: "repo-reference",
86
+ kind: "repo",
87
+ label: "Reference repository https://github.com/acme/product-reference",
88
+ value: "https://github.com/acme/product-reference",
89
+ },
90
+ {
91
+ id: "image-reference",
92
+ kind: "image",
93
+ label: "Attached image reference liked-ui.png",
94
+ path: ".gg/goal-references/image-liked-ui.png",
95
+ },
96
+ {
97
+ id: "text-reference",
98
+ kind: "text",
99
+ label: "Attached text reference feature-fix-x-y-z.md",
100
+ path: ".gg/goal-references/text-feature-fix-x-y-z.md",
101
+ content: "X: keyboard flow, Y: empty state copy, Z: error recovery.",
102
+ },
103
+ ],
104
+ }));
105
+ expect(canCompleteGoalRun(ignored)).toMatchObject({
106
+ ok: false,
107
+ reason: expect.stringContaining("Goal references are not covered"),
108
+ });
109
+ expect(canCompleteGoalRun(ignored).reason).toContain("Reference repository");
110
+ expect(canCompleteGoalRun(ignored).reason).toContain("Attached image reference");
111
+ expect(canCompleteGoalRun(ignored).reason).toContain("Attached text reference");
112
+ const covered = withPassingCompletionAudit(goalRun({
113
+ successCriteria: [
114
+ "Worker task prompts and setup criteria must mention repo-reference, image-reference, text-reference, and the X/Y/Z feature-fix document.",
115
+ ],
116
+ evidencePlan: [
117
+ {
118
+ id: "reference-proof",
119
+ label: "repo-reference/image-reference/text-reference evidence plan paths",
120
+ mechanism: "test",
121
+ description: "Proves mandatory URL/repo, screenshot/image, attached text document, and X/Y/Z feature-fix references are carried into proof paths.",
122
+ status: "ready",
123
+ evidence: "reference-proof ready",
124
+ path: ".goal-evidence/reference-proof.log",
125
+ },
126
+ ],
127
+ verifier: {
128
+ description: "Verifier covers repo-reference, image-reference, text-reference, and feature-fix-x-y-z.md.",
129
+ command: "pnpm vitest goal-references.test.ts goal-controller.test.ts",
130
+ lastResult: {
131
+ status: "pass",
132
+ summary: "passed repo-reference image-reference text-reference feature-fix-x-y-z.md",
133
+ command: "pnpm vitest goal-references.test.ts goal-controller.test.ts",
134
+ outputPath: ".goal-evidence/reference-proof.log",
135
+ checkedAt: "2024-01-01T00:00:02.000Z",
136
+ },
137
+ },
138
+ tasks: [
139
+ {
140
+ id: "worker-task",
141
+ title: "Use mandatory references",
142
+ prompt: "Implement using repo-reference, image-reference at .gg/goal-references/image-liked-ui.png, and text-reference at .gg/goal-references/text-feature-fix-x-y-z.md for X/Y/Z.",
143
+ status: "done",
144
+ attempts: 1,
145
+ },
146
+ ],
147
+ references: ignored.references,
148
+ }));
149
+ expect(canCompleteGoalRun(covered)).toEqual({
150
+ ok: true,
151
+ reason: "All tasks are done, verifier evidence passed, and final completion audit passed.",
152
+ });
153
+ });
23
154
  it("starts the next pending worker task deterministically", () => {
24
155
  const task = {
25
156
  id: "task-a",
@@ -107,12 +238,22 @@ describe("goal controller", () => {
107
238
  },
108
239
  });
109
240
  expect(canCompleteGoalRun(run)).toEqual({
241
+ ok: false,
242
+ reason: "Goal has no final completion audit.",
243
+ });
244
+ expect(decideGoalNextAction(run)).toMatchObject({
245
+ kind: "create_task",
246
+ title: "Audit Goal completion evidence",
247
+ reason: "Verifier passed; creating final read-only completion audit before the Goal can pass (1/3).",
248
+ });
249
+ const audited = withPassingCompletionAudit(run);
250
+ expect(canCompleteGoalRun(audited)).toEqual({
110
251
  ok: true,
111
- reason: "All tasks are done and verifier evidence passed.",
252
+ reason: "All tasks are done, verifier evidence passed, and final completion audit passed.",
112
253
  });
113
- expect(decideGoalNextAction(run)).toEqual({
254
+ expect(decideGoalNextAction(audited)).toEqual({
114
255
  kind: "complete",
115
- reason: "All tasks are done and verifier evidence passed.",
256
+ reason: "All tasks are done, verifier evidence passed, and final completion audit passed.",
116
257
  });
117
258
  });
118
259
  it("treats closure evidence and ready evidence-plan items as satisfied after verifier pass", () => {
@@ -132,6 +273,7 @@ describe("goal controller", () => {
132
273
  mechanism: "browser",
133
274
  description: "Browser closure evidence proves the flow works.",
134
275
  status: "planned",
276
+ evidence: "Browser closure evidence proves the flow works.",
135
277
  },
136
278
  {
137
279
  id: "verifier-output-proof",
@@ -164,16 +306,191 @@ describe("goal controller", () => {
164
306
  },
165
307
  });
166
308
  expect(canCompleteGoalRun(run)).toEqual({
309
+ ok: false,
310
+ reason: "Goal has no final completion audit.",
311
+ });
312
+ expect(decideGoalNextAction(run)).toMatchObject({
313
+ kind: "create_task",
314
+ title: "Audit Goal completion evidence",
315
+ reason: "Verifier passed; creating final read-only completion audit before the Goal can pass (1/3).",
316
+ });
317
+ const audited = withPassingCompletionAudit(run);
318
+ expect(canCompleteGoalRun(audited)).toEqual({
167
319
  ok: true,
168
- reason: "All tasks are done and verifier evidence passed.",
320
+ reason: "All tasks are done, verifier evidence passed, and final completion audit passed.",
169
321
  });
170
- expect(decideGoalNextAction(run)).toEqual({
322
+ expect(decideGoalNextAction(audited)).toEqual({
171
323
  kind: "complete",
172
- reason: "All tasks are done and verifier evidence passed.",
324
+ reason: "All tasks are done, verifier evidence passed, and final completion audit passed.",
325
+ });
326
+ });
327
+ it("uses final audit to reconcile planned evidence after verifier success", () => {
328
+ const decision = decideGoalNextAction(goalRun({
329
+ tasks: [{ id: "task-a", title: "Done", prompt: "Done", status: "done", attempts: 1 }],
330
+ evidencePlan: [
331
+ {
332
+ id: "proof",
333
+ label: "Unmatched proof",
334
+ mechanism: "browser",
335
+ description: "Needs screenshot",
336
+ status: "planned",
337
+ },
338
+ ],
339
+ verifier: {
340
+ description: "Full check",
341
+ command: "pnpm test",
342
+ lastResult: {
343
+ status: "pass",
344
+ summary: "tests passed",
345
+ command: "pnpm test",
346
+ checkedAt: "2024-01-01T00:00:00.000Z",
347
+ },
348
+ },
349
+ }));
350
+ expect(decision).toMatchObject({
351
+ kind: "create_task",
352
+ title: "Audit Goal completion evidence",
353
+ reason: "Verifier passed; final read-only audit must reconcile 1 evidence-plan item(s) before the Goal can pass (1/3).",
354
+ });
355
+ expect(decision.kind === "create_task" ? decision.prompt : "").toContain("final pre-audit gate");
356
+ expect(decision.kind === "create_task" ? decision.prompt : "").toContain("update that evidence_plan item to status=ready");
357
+ });
358
+ it("rejects evidence-plan false positives before final audit", () => {
359
+ const run = goalRun({
360
+ tasks: [{ id: "task-a", title: "Done", prompt: "Done", status: "done", attempts: 1 }],
361
+ evidencePlan: [
362
+ {
363
+ id: "proof",
364
+ label: "Screenshot proof",
365
+ mechanism: "screenshot",
366
+ description: "Needs a real screenshot artifact.",
367
+ status: "planned",
368
+ path: "artifacts/screenshot.png",
369
+ },
370
+ ],
371
+ evidence: [
372
+ {
373
+ id: "narrative-only",
374
+ kind: "summary",
375
+ label: "Screenshot proof",
376
+ content: "I looked at the screen and it seemed fine.",
377
+ createdAt: "2024-01-01T00:00:00.000Z",
378
+ },
379
+ ],
380
+ verifier: {
381
+ description: "Full check",
382
+ command: "pnpm test",
383
+ lastResult: {
384
+ status: "pass",
385
+ summary: "tests passed without screenshot path",
386
+ command: "pnpm test",
387
+ checkedAt: "2024-01-01T00:00:01.000Z",
388
+ },
389
+ },
390
+ });
391
+ expect(hasRequiredGoalEvidence(run)).toEqual({
392
+ ok: false,
393
+ reason: "Goal evidence plan is not satisfied: Screenshot proof.",
394
+ });
395
+ expect(decideGoalNextAction(run)).toMatchObject({
396
+ kind: "create_task",
397
+ title: "Audit Goal completion evidence",
398
+ });
399
+ });
400
+ it("does not create zero-item evidence reconciliation before final audit", () => {
401
+ const run = goalRun({
402
+ tasks: [{ id: "task-a", title: "Done", prompt: "Done", status: "done", attempts: 1 }],
403
+ evidencePlan: [
404
+ {
405
+ id: "proof",
406
+ label: "Matched proof",
407
+ mechanism: "test",
408
+ description: "Matched by verifier output.",
409
+ status: "planned",
410
+ command: "pnpm test",
411
+ },
412
+ ],
413
+ verifier: {
414
+ description: "Full check",
415
+ command: "pnpm test",
416
+ lastResult: {
417
+ status: "pass",
418
+ summary: "Matched proof passed.",
419
+ command: "pnpm test",
420
+ checkedAt: "2024-01-01T00:00:00.000Z",
421
+ },
422
+ },
423
+ });
424
+ expect(decideGoalNextAction(run)).toMatchObject({
425
+ kind: "create_task",
426
+ title: "Audit Goal completion evidence",
173
427
  });
174
428
  });
175
- it("blocks instead of spawning repeated evidence-path workers after verifier success", () => {
429
+ it("uses final audit for real blocked-after-pass evidence-plan labels", () => {
176
430
  const decision = decideGoalNextAction(goalRun({
431
+ tasks: [{ id: "task-a", title: "Done", prompt: "Done", status: "done", attempts: 1 }],
432
+ evidencePlan: [
433
+ {
434
+ id: "slash-wrapper-evidence",
435
+ label: "/goal slash wrapper evidence",
436
+ mechanism: "test",
437
+ description: "Assertions prove /goal prompt is short and delegates deep policy to active Goal setup system instructions.",
438
+ status: "planned",
439
+ command: "pnpm --filter @kenkaiiii/ggcoder test -- prompt-commands.test.ts slash-command-images.test.ts",
440
+ },
441
+ {
442
+ id: "context-wiring-evidence",
443
+ label: "Context wiring source audit",
444
+ mechanism: "source",
445
+ description: "Inspect App/render/cli/tools wiring to document exactly which context is shared through refs/session state and which context is isolated to workers.",
446
+ status: "planned",
447
+ path: "packages/ggcoder/src/ui/App.tsx; packages/ggcoder/src/ui/render.ts; packages/ggcoder/src/cli.ts; packages/ggcoder/src/tools/index.ts",
448
+ },
449
+ ],
450
+ evidence: [
451
+ {
452
+ id: "focused-tests",
453
+ kind: "command",
454
+ label: "Focused Goal-mode test coverage command",
455
+ content: "Command passed: pnpm --filter @kenkaiiii/ggcoder test -- system-prompt.test.ts prompt-commands.test.ts goal-mode.test.ts slash-command-images.test.ts footer-status-layout.test.ts goal-lifecycle-orchestration.test.ts",
456
+ createdAt: "2024-01-01T00:00:00.000Z",
457
+ },
458
+ {
459
+ id: "audit",
460
+ kind: "summary",
461
+ label: "Goal-mode architecture audit",
462
+ content: "Inspected runtime-mode.ts, system-prompt.ts, prompt-commands.ts, cli.ts, ui/render.ts, ui/App.tsx, and tools/index.ts.",
463
+ createdAt: "2024-01-01T00:00:01.000Z",
464
+ },
465
+ ],
466
+ verifier: {
467
+ description: "Full check",
468
+ command: "pnpm check && pnpm lint && pnpm format:check && pnpm build",
469
+ lastResult: {
470
+ status: "pass",
471
+ summary: "Focused tests, Goal E2E harness, and quality gates passed.",
472
+ command: "pnpm check && pnpm lint && pnpm format:check && pnpm build",
473
+ checkedAt: "2024-01-01T00:00:02.000Z",
474
+ },
475
+ },
476
+ }));
477
+ expect(decision).toMatchObject({
478
+ kind: "create_task",
479
+ title: "Audit Goal completion evidence",
480
+ });
481
+ expect(decision.kind === "create_task" ? decision.prompt : "").toContain("slash-wrapper-evidence / /goal slash wrapper evidence");
482
+ expect(decision.kind === "create_task" ? decision.prompt : "").toContain("context-wiring-evidence / Context wiring source audit");
483
+ });
484
+ it("blocks after bounded final audit attempts fail to reconcile evidence", () => {
485
+ const auditTask = {
486
+ id: "audit-a",
487
+ title: "Audit Goal completion evidence",
488
+ prompt: "Audit evidence",
489
+ status: "done",
490
+ attempts: 1,
491
+ };
492
+ const decision = decideGoalNextAction(goalRun({
493
+ tasks: [auditTask, { ...auditTask, id: "audit-b" }, { ...auditTask, id: "audit-c" }],
177
494
  evidencePlan: [
178
495
  {
179
496
  id: "proof",
@@ -196,7 +513,7 @@ describe("goal controller", () => {
196
513
  }));
197
514
  expect(decision).toEqual({
198
515
  kind: "blocked",
199
- reason: "Verifier passed, but the Goal evidence plan is still not satisfied; blocking instead of creating repeated evidence-path workers.",
516
+ reason: "Verifier passed, but final completion audit did not reconcile the Goal evidence plan after bounded attempts.",
200
517
  });
201
518
  });
202
519
  it("runs the verifier only after all tasks are done", () => {
@@ -211,6 +528,7 @@ describe("goal controller", () => {
211
528
  });
212
529
  it("creates a verifier-building task when done tasks have no verifier command", () => {
213
530
  expect(decideGoalNextAction(goalRun({
531
+ verifier: undefined,
214
532
  tasks: [{ id: "task-a", title: "Done", prompt: "Done", status: "done", attempts: 1 }],
215
533
  }))).toMatchObject({
216
534
  kind: "create_task",
@@ -399,6 +717,36 @@ describe("goal controller", () => {
399
717
  reason: "Goal is failed.",
400
718
  });
401
719
  });
720
+ it("rejects spoofed final audit pass summaries", () => {
721
+ const run = goalRun({
722
+ tasks: [{ id: "task-a", title: "Done", prompt: "Done", status: "done", attempts: 1 }],
723
+ verifier: {
724
+ description: "Full check",
725
+ command: "pnpm test",
726
+ lastResult: {
727
+ status: "pass",
728
+ summary: "passed original-goal-prompt GOAL_PLAN",
729
+ checkedAt: "2024-01-01T00:00:02.000Z",
730
+ outputPath: "artifacts/verifier.log",
731
+ },
732
+ },
733
+ completionAudit: {
734
+ status: "pass",
735
+ summary: "FINAL_AUDIT_PASS verifier_checked_at=2024-01-01T00:00:01.000Z artifact=artifacts/verifier.log original-goal-prompt GOAL_PLAN",
736
+ checkedAt: "2024-01-01T00:00:03.000Z",
737
+ verifierCheckedAt: "2024-01-01T00:00:01.000Z",
738
+ outputPath: "artifacts/verifier.log",
739
+ },
740
+ });
741
+ expect(hasFreshGoalCompletionAudit(run)).toEqual({
742
+ ok: false,
743
+ reason: "Final completion audit pass summary must include latest verifier_checked_at.",
744
+ });
745
+ expect(canCompleteGoalRun(run)).toEqual({
746
+ ok: false,
747
+ reason: "Final completion audit pass summary must include latest verifier_checked_at.",
748
+ });
749
+ });
402
750
  it("completes only with all tasks done and pass verifier evidence", () => {
403
751
  const run = goalRun({
404
752
  tasks: [{ id: "task-a", title: "Done", prompt: "Done", status: "done", attempts: 1 }],
@@ -407,18 +755,67 @@ describe("goal controller", () => {
407
755
  command: "pnpm test",
408
756
  lastResult: {
409
757
  status: "pass",
410
- summary: "passed",
758
+ summary: "passed original-goal-prompt GOAL_PLAN",
411
759
  checkedAt: "2024-01-01T00:00:00.000Z",
412
760
  },
413
761
  },
414
762
  });
415
763
  expect(canCompleteGoalRun(run)).toEqual({
764
+ ok: false,
765
+ reason: "Goal has no final completion audit.",
766
+ });
767
+ expect(decideGoalNextAction(run)).toMatchObject({
768
+ kind: "create_task",
769
+ title: "Audit Goal completion evidence",
770
+ reason: "Verifier passed; creating final read-only completion audit before the Goal can pass (1/3).",
771
+ });
772
+ const audited = withPassingCompletionAudit(run);
773
+ expect(canCompleteGoalRun(audited)).toEqual({
416
774
  ok: true,
417
- reason: "All tasks are done and verifier evidence passed.",
775
+ reason: "All tasks are done, verifier evidence passed, and final completion audit passed.",
418
776
  });
419
- expect(decideGoalNextAction(run)).toEqual({
777
+ expect(decideGoalNextAction(audited)).toEqual({
420
778
  kind: "complete",
421
- reason: "All tasks are done and verifier evidence passed.",
779
+ reason: "All tasks are done, verifier evidence passed, and final completion audit passed.",
780
+ });
781
+ });
782
+ it("reruns the verifier when a non-audit worker changed evidence after the latest verifier pass", () => {
783
+ const run = goalRun({
784
+ tasks: [{ id: "task-a", title: "Done", prompt: "Done", status: "done", attempts: 1 }],
785
+ evidence: [
786
+ {
787
+ id: "post-verifier-worker",
788
+ kind: "log",
789
+ label: "Worker fix123 done",
790
+ content: "Updated final report after the verifier pass.",
791
+ createdAt: "2024-01-01T00:00:02.000Z",
792
+ },
793
+ ],
794
+ verifier: {
795
+ description: "Full check",
796
+ command: "pnpm test",
797
+ lastResult: {
798
+ status: "pass",
799
+ summary: "passed original-goal-prompt GOAL_PLAN",
800
+ command: "pnpm test",
801
+ checkedAt: "2024-01-01T00:00:00.000Z",
802
+ },
803
+ },
804
+ completionAudit: {
805
+ status: "pass",
806
+ summary: "FINAL_AUDIT_PASS verifier_checked_at=2024-01-01T00:00:00.000Z original-goal-prompt GOAL_PLAN",
807
+ checkedAt: "2024-01-01T00:00:03.000Z",
808
+ verifierCheckedAt: "2024-01-01T00:00:00.000Z",
809
+ },
810
+ });
811
+ expect(hasFreshGoalCompletionAudit(run)).toEqual({
812
+ ok: false,
813
+ reason: "Latest verifier result is stale after later Goal worker evidence: Worker fix123 done.",
814
+ });
815
+ expect(decideGoalNextAction(run)).toEqual({
816
+ kind: "run_verifier",
817
+ command: "pnpm test",
818
+ reason: "Latest verifier result is stale after later Goal worker evidence; rerunning configured verifier as the final pre-audit gate.",
422
819
  });
423
820
  });
424
821
  it("does not complete when verifier passed but tasks remain", () => {
@@ -432,7 +829,7 @@ describe("goal controller", () => {
432
829
  command: "pnpm test",
433
830
  lastResult: {
434
831
  status: "pass",
435
- summary: "passed",
832
+ summary: "passed original-goal-prompt GOAL_PLAN",
436
833
  checkedAt: "2024-01-01T00:00:00.000Z",
437
834
  },
438
835
  },
@@ -1 +1 @@
1
- {"version":3,"file":"goal-controller.test.js","sourceRoot":"","sources":["../../src/core/goal-controller.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goal-controller.test.js","sourceRoot":"","sources":["../../src/core/goal-controller.test.ts"],"names":[],"mappings":"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"}