oh-my-claude-sisyphus 3.3.8 → 3.4.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 (298) hide show
  1. package/README.md +3 -3
  2. package/agents/explore-high.md +195 -0
  3. package/agents/qa-tester-high.md +141 -0
  4. package/agents/templates/README.md +110 -0
  5. package/agents/templates/base-agent.md +54 -0
  6. package/agents/templates/tier-instructions.md +94 -0
  7. package/commands/ecomode.md +60 -0
  8. package/commands/help.md +1 -1
  9. package/commands/mcp-setup.md +7 -6
  10. package/commands/ralplan.md +8 -1
  11. package/commands/ultrapilot.md +158 -0
  12. package/commands/ultrawork.md +1 -0
  13. package/dist/__tests__/delegation-enforcer-integration.test.d.ts +6 -0
  14. package/dist/__tests__/delegation-enforcer-integration.test.d.ts.map +1 -0
  15. package/dist/__tests__/delegation-enforcer-integration.test.js +136 -0
  16. package/dist/__tests__/delegation-enforcer-integration.test.js.map +1 -0
  17. package/dist/__tests__/delegation-enforcer.test.d.ts +5 -0
  18. package/dist/__tests__/delegation-enforcer.test.d.ts.map +1 -0
  19. package/dist/__tests__/delegation-enforcer.test.js +208 -0
  20. package/dist/__tests__/delegation-enforcer.test.js.map +1 -0
  21. package/dist/__tests__/hooks.test.js +2 -2
  22. package/dist/__tests__/hooks.test.js.map +1 -1
  23. package/dist/__tests__/installer.test.js +4 -6
  24. package/dist/__tests__/installer.test.js.map +1 -1
  25. package/dist/__tests__/ralph-prd.test.js +1 -1
  26. package/dist/__tests__/ralph-prd.test.js.map +1 -1
  27. package/dist/__tests__/ralph-progress.test.js +1 -1
  28. package/dist/__tests__/ralph-progress.test.js.map +1 -1
  29. package/dist/__tests__/skills.test.js +31 -24
  30. package/dist/__tests__/skills.test.js.map +1 -1
  31. package/dist/agents/analyst.d.ts.map +1 -1
  32. package/dist/agents/analyst.js +1 -0
  33. package/dist/agents/analyst.js.map +1 -1
  34. package/dist/agents/architect.d.ts.map +1 -1
  35. package/dist/agents/architect.js +1 -0
  36. package/dist/agents/architect.js.map +1 -1
  37. package/dist/agents/critic.d.ts.map +1 -1
  38. package/dist/agents/critic.js +1 -0
  39. package/dist/agents/critic.js.map +1 -1
  40. package/dist/agents/definitions.d.ts +5 -1
  41. package/dist/agents/definitions.d.ts.map +1 -1
  42. package/dist/agents/definitions.js +53 -155
  43. package/dist/agents/definitions.js.map +1 -1
  44. package/dist/agents/designer.d.ts.map +1 -1
  45. package/dist/agents/designer.js +1 -0
  46. package/dist/agents/designer.js.map +1 -1
  47. package/dist/agents/executor.d.ts.map +1 -1
  48. package/dist/agents/executor.js +1 -0
  49. package/dist/agents/executor.js.map +1 -1
  50. package/dist/agents/explore.d.ts.map +1 -1
  51. package/dist/agents/explore.js +1 -0
  52. package/dist/agents/explore.js.map +1 -1
  53. package/dist/agents/planner.d.ts.map +1 -1
  54. package/dist/agents/planner.js +1 -0
  55. package/dist/agents/planner.js.map +1 -1
  56. package/dist/agents/qa-tester.d.ts.map +1 -1
  57. package/dist/agents/qa-tester.js +1 -0
  58. package/dist/agents/qa-tester.js.map +1 -1
  59. package/dist/agents/researcher.d.ts.map +1 -1
  60. package/dist/agents/researcher.js +1 -0
  61. package/dist/agents/researcher.js.map +1 -1
  62. package/dist/agents/scientist.d.ts.map +1 -1
  63. package/dist/agents/scientist.js +1 -0
  64. package/dist/agents/scientist.js.map +1 -1
  65. package/dist/agents/types.d.ts +2 -0
  66. package/dist/agents/types.d.ts.map +1 -1
  67. package/dist/agents/types.js.map +1 -1
  68. package/dist/agents/vision.d.ts.map +1 -1
  69. package/dist/agents/vision.js +1 -0
  70. package/dist/agents/vision.js.map +1 -1
  71. package/dist/agents/writer.d.ts.map +1 -1
  72. package/dist/agents/writer.js +1 -0
  73. package/dist/agents/writer.js.map +1 -1
  74. package/dist/cli/index.js +0 -3
  75. package/dist/cli/index.js.map +1 -1
  76. package/dist/config/loader.d.ts.map +1 -1
  77. package/dist/config/loader.js +1 -6
  78. package/dist/config/loader.js.map +1 -1
  79. package/dist/features/delegation-enforcer.d.ts +71 -0
  80. package/dist/features/delegation-enforcer.d.ts.map +1 -0
  81. package/dist/features/delegation-enforcer.js +128 -0
  82. package/dist/features/delegation-enforcer.js.map +1 -0
  83. package/dist/features/index.d.ts +3 -0
  84. package/dist/features/index.d.ts.map +1 -1
  85. package/dist/features/index.js +18 -0
  86. package/dist/features/index.js.map +1 -1
  87. package/dist/features/state-manager/index.d.ts +100 -0
  88. package/dist/features/state-manager/index.d.ts.map +1 -0
  89. package/dist/features/state-manager/index.js +407 -0
  90. package/dist/features/state-manager/index.js.map +1 -0
  91. package/dist/features/state-manager/types.d.ts +147 -0
  92. package/dist/features/state-manager/types.d.ts.map +1 -0
  93. package/dist/features/state-manager/types.js +30 -0
  94. package/dist/features/state-manager/types.js.map +1 -0
  95. package/dist/features/task-decomposer/index.d.ts +33 -0
  96. package/dist/features/task-decomposer/index.d.ts.map +1 -0
  97. package/dist/features/task-decomposer/index.js +698 -0
  98. package/dist/features/task-decomposer/index.js.map +1 -0
  99. package/dist/features/task-decomposer/types.d.ts +133 -0
  100. package/dist/features/task-decomposer/types.d.ts.map +1 -0
  101. package/dist/features/task-decomposer/types.js +8 -0
  102. package/dist/features/task-decomposer/types.js.map +1 -0
  103. package/dist/features/verification/example.d.ts +49 -0
  104. package/dist/features/verification/example.d.ts.map +1 -0
  105. package/dist/features/verification/example.js +235 -0
  106. package/dist/features/verification/example.js.map +1 -0
  107. package/dist/features/verification/index.d.ts +97 -0
  108. package/dist/features/verification/index.d.ts.map +1 -0
  109. package/dist/features/verification/index.js +439 -0
  110. package/dist/features/verification/index.js.map +1 -0
  111. package/dist/features/verification/types.d.ts +142 -0
  112. package/dist/features/verification/types.d.ts.map +1 -0
  113. package/dist/features/verification/types.js +7 -0
  114. package/dist/features/verification/types.js.map +1 -0
  115. package/dist/hooks/agent-usage-reminder/constants.d.ts.map +1 -1
  116. package/dist/hooks/agent-usage-reminder/constants.js +0 -1
  117. package/dist/hooks/agent-usage-reminder/constants.js.map +1 -1
  118. package/dist/hooks/autopilot/__tests__/cancel.test.js +4 -4
  119. package/dist/hooks/autopilot/__tests__/cancel.test.js.map +1 -1
  120. package/dist/hooks/autopilot/__tests__/summary.test.js +1 -1
  121. package/dist/hooks/autopilot/__tests__/summary.test.js.map +1 -1
  122. package/dist/hooks/autopilot/__tests__/transition.test.js +1 -2
  123. package/dist/hooks/autopilot/__tests__/transition.test.js.map +1 -1
  124. package/dist/hooks/autopilot/cancel.js +2 -2
  125. package/dist/hooks/autopilot/cancel.js.map +1 -1
  126. package/dist/hooks/autopilot/enforcement.d.ts +16 -2
  127. package/dist/hooks/autopilot/enforcement.d.ts.map +1 -1
  128. package/dist/hooks/autopilot/enforcement.js +78 -4
  129. package/dist/hooks/autopilot/enforcement.js.map +1 -1
  130. package/dist/hooks/autopilot/index.d.ts +3 -6
  131. package/dist/hooks/autopilot/index.d.ts.map +1 -1
  132. package/dist/hooks/autopilot/index.js +6 -12
  133. package/dist/hooks/autopilot/index.js.map +1 -1
  134. package/dist/hooks/autopilot/state.d.ts +36 -2
  135. package/dist/hooks/autopilot/state.d.ts.map +1 -1
  136. package/dist/hooks/autopilot/state.js +216 -2
  137. package/dist/hooks/autopilot/state.js.map +1 -1
  138. package/dist/hooks/autopilot/validation.d.ts +23 -2
  139. package/dist/hooks/autopilot/validation.d.ts.map +1 -1
  140. package/dist/hooks/autopilot/validation.js +158 -1
  141. package/dist/hooks/autopilot/validation.js.map +1 -1
  142. package/dist/hooks/bridge.js +3 -3
  143. package/dist/hooks/bridge.js.map +1 -1
  144. package/dist/hooks/index.d.ts +5 -9
  145. package/dist/hooks/index.d.ts.map +1 -1
  146. package/dist/hooks/index.js +31 -21
  147. package/dist/hooks/index.js.map +1 -1
  148. package/dist/hooks/learner/promotion.js +1 -1
  149. package/dist/hooks/learner/promotion.js.map +1 -1
  150. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  151. package/dist/hooks/persistent-mode/index.js +2 -3
  152. package/dist/hooks/persistent-mode/index.js.map +1 -1
  153. package/dist/hooks/ralph/index.d.ts +11 -0
  154. package/dist/hooks/ralph/index.d.ts.map +1 -0
  155. package/dist/hooks/ralph/index.js +53 -0
  156. package/dist/hooks/ralph/index.js.map +1 -0
  157. package/dist/hooks/ralph/loop.d.ts +116 -0
  158. package/dist/hooks/ralph/loop.d.ts.map +1 -0
  159. package/dist/hooks/ralph/loop.js +322 -0
  160. package/dist/hooks/ralph/loop.js.map +1 -0
  161. package/dist/hooks/ralph/prd.d.ts +130 -0
  162. package/dist/hooks/ralph/prd.d.ts.map +1 -0
  163. package/dist/hooks/ralph/prd.js +310 -0
  164. package/dist/hooks/ralph/prd.js.map +1 -0
  165. package/dist/hooks/ralph/progress.d.ts +102 -0
  166. package/dist/hooks/ralph/progress.d.ts.map +1 -0
  167. package/dist/hooks/ralph/progress.js +408 -0
  168. package/dist/hooks/ralph/progress.js.map +1 -0
  169. package/dist/hooks/ralph/verifier.d.ts +72 -0
  170. package/dist/hooks/ralph/verifier.d.ts.map +1 -0
  171. package/dist/hooks/ralph/verifier.js +223 -0
  172. package/dist/hooks/ralph/verifier.js.map +1 -0
  173. package/dist/hooks/recovery/constants.d.ts +114 -0
  174. package/dist/hooks/recovery/constants.d.ts.map +1 -0
  175. package/dist/hooks/recovery/constants.js +227 -0
  176. package/dist/hooks/recovery/constants.js.map +1 -0
  177. package/dist/hooks/recovery/context-window.d.ts +24 -0
  178. package/dist/hooks/recovery/context-window.d.ts.map +1 -0
  179. package/dist/hooks/recovery/context-window.js +321 -0
  180. package/dist/hooks/recovery/context-window.js.map +1 -0
  181. package/dist/hooks/recovery/edit-error.d.ts +24 -0
  182. package/dist/hooks/recovery/edit-error.d.ts.map +1 -0
  183. package/dist/hooks/recovery/edit-error.js +56 -0
  184. package/dist/hooks/recovery/edit-error.js.map +1 -0
  185. package/dist/hooks/recovery/index.d.ts +102 -0
  186. package/dist/hooks/recovery/index.d.ts.map +1 -0
  187. package/dist/hooks/recovery/index.js +166 -0
  188. package/dist/hooks/recovery/index.js.map +1 -0
  189. package/dist/hooks/recovery/session-recovery.d.ts +24 -0
  190. package/dist/hooks/recovery/session-recovery.d.ts.map +1 -0
  191. package/dist/hooks/recovery/session-recovery.js +281 -0
  192. package/dist/hooks/recovery/session-recovery.js.map +1 -0
  193. package/dist/hooks/recovery/storage.d.ts +75 -0
  194. package/dist/hooks/recovery/storage.d.ts.map +1 -0
  195. package/dist/hooks/recovery/storage.js +382 -0
  196. package/dist/hooks/recovery/storage.js.map +1 -0
  197. package/dist/hooks/recovery/types.d.ts +196 -0
  198. package/dist/hooks/recovery/types.d.ts.map +1 -0
  199. package/dist/hooks/recovery/types.js +32 -0
  200. package/dist/hooks/recovery/types.js.map +1 -0
  201. package/dist/hooks/ultrapilot/index.d.ts +90 -0
  202. package/dist/hooks/ultrapilot/index.d.ts.map +1 -0
  203. package/dist/hooks/ultrapilot/index.js +310 -0
  204. package/dist/hooks/ultrapilot/index.js.map +1 -0
  205. package/dist/hooks/ultrapilot/state.d.ts +72 -0
  206. package/dist/hooks/ultrapilot/state.d.ts.map +1 -0
  207. package/dist/hooks/ultrapilot/state.js +258 -0
  208. package/dist/hooks/ultrapilot/state.js.map +1 -0
  209. package/dist/hooks/ultrapilot/types.d.ts +113 -0
  210. package/dist/hooks/ultrapilot/types.d.ts.map +1 -0
  211. package/dist/hooks/ultrapilot/types.js +36 -0
  212. package/dist/hooks/ultrapilot/types.js.map +1 -0
  213. package/dist/hooks/ultraqa/index.d.ts +94 -0
  214. package/dist/hooks/ultraqa/index.d.ts.map +1 -0
  215. package/dist/hooks/ultraqa/index.js +216 -0
  216. package/dist/hooks/ultraqa/index.js.map +1 -0
  217. package/dist/hooks/ultrawork/index.d.ts +62 -0
  218. package/dist/hooks/ultrawork/index.d.ts.map +1 -0
  219. package/dist/hooks/ultrawork/index.js +208 -0
  220. package/dist/hooks/ultrawork/index.js.map +1 -0
  221. package/dist/hud/elements/index.d.ts +1 -1
  222. package/dist/hud/elements/index.d.ts.map +1 -1
  223. package/dist/hud/elements/index.js +1 -1
  224. package/dist/hud/elements/index.js.map +1 -1
  225. package/dist/hud/elements/limits.d.ts +6 -0
  226. package/dist/hud/elements/limits.d.ts.map +1 -1
  227. package/dist/hud/elements/limits.js +31 -0
  228. package/dist/hud/elements/limits.js.map +1 -1
  229. package/dist/hud/render.d.ts.map +1 -1
  230. package/dist/hud/render.js +8 -4
  231. package/dist/hud/render.js.map +1 -1
  232. package/dist/hud/types.d.ts +1 -0
  233. package/dist/hud/types.d.ts.map +1 -1
  234. package/dist/hud/types.js +6 -0
  235. package/dist/hud/types.js.map +1 -1
  236. package/dist/hud/usage-api.d.ts.map +1 -1
  237. package/dist/hud/usage-api.js +5 -3
  238. package/dist/hud/usage-api.js.map +1 -1
  239. package/dist/index.d.ts.map +1 -1
  240. package/dist/index.js +1 -2
  241. package/dist/index.js.map +1 -1
  242. package/dist/installer/index.d.ts +1 -1
  243. package/dist/installer/index.js +1 -1
  244. package/dist/mcp/index.d.ts +1 -1
  245. package/dist/mcp/index.d.ts.map +1 -1
  246. package/dist/mcp/index.js +1 -1
  247. package/dist/mcp/index.js.map +1 -1
  248. package/dist/mcp/servers.d.ts +2 -18
  249. package/dist/mcp/servers.d.ts.map +1 -1
  250. package/dist/mcp/servers.js +4 -36
  251. package/dist/mcp/servers.js.map +1 -1
  252. package/dist/shared/types.d.ts +1 -3
  253. package/dist/shared/types.d.ts.map +1 -1
  254. package/docs/CLAUDE.md +170 -44
  255. package/docs/DELEGATION-ENFORCER.md +282 -0
  256. package/docs/FULL-README.md +1 -1
  257. package/docs/LOCAL_PLUGIN_INSTALL.md +1 -1
  258. package/docs/MIGRATION.md +298 -104
  259. package/package.json +2 -2
  260. package/scripts/test-mutual-exclusion.ts +1 -1
  261. package/skills/analyze/SKILL.md +0 -1
  262. package/skills/autopilot/SKILL.md +0 -1
  263. package/skills/cancel/SKILL.md +580 -0
  264. package/skills/cancel-autopilot/SKILL.md +0 -1
  265. package/skills/cancel-ecomode/SKILL.md +41 -0
  266. package/skills/cancel-ralph/SKILL.md +0 -1
  267. package/skills/cancel-ultraqa/SKILL.md +0 -1
  268. package/skills/cancel-ultrawork/SKILL.md +0 -1
  269. package/skills/deepinit/SKILL.md +0 -1
  270. package/skills/deepsearch/SKILL.md +0 -1
  271. package/skills/doctor/SKILL.md +0 -1
  272. package/skills/ecomode/SKILL.md +128 -0
  273. package/skills/frontend-ui-ux/SKILL.md +0 -1
  274. package/skills/git-master/SKILL.md +0 -1
  275. package/skills/help/SKILL.md +1 -2
  276. package/skills/hud/SKILL.md +0 -1
  277. package/skills/learner/SKILL.md +0 -1
  278. package/skills/mcp-setup/SKILL.md +8 -7
  279. package/skills/note/SKILL.md +0 -1
  280. package/skills/omc-default/SKILL.md +0 -1
  281. package/skills/omc-default-global/SKILL.md +0 -1
  282. package/skills/omc-setup/SKILL.md +212 -10
  283. package/skills/orchestrate/SKILL.md +0 -1
  284. package/skills/pipeline/SKILL.md +417 -0
  285. package/skills/plan/SKILL.md +138 -21
  286. package/skills/planner/SKILL.md +0 -1
  287. package/skills/ralph/SKILL.md +65 -1
  288. package/skills/ralph-init/SKILL.md +0 -1
  289. package/skills/ralplan/SKILL.md +0 -1
  290. package/skills/release/SKILL.md +0 -1
  291. package/skills/research/SKILL.md +0 -1
  292. package/skills/review/SKILL.md +0 -1
  293. package/skills/swarm/SKILL.md +349 -0
  294. package/skills/tdd/SKILL.md +0 -1
  295. package/skills/ultrapilot/SKILL.md +563 -0
  296. package/skills/ultraqa/SKILL.md +0 -1
  297. package/skills/ultrawork/SKILL.md +0 -1
  298. package/docs/MIGRATION-v3.md +0 -186
@@ -0,0 +1,439 @@
1
+ /**
2
+ * Verification Module
3
+ *
4
+ * Reusable verification protocol logic extracted from ralph, ultrawork, and autopilot.
5
+ * Provides a single source of truth for verification requirements and execution.
6
+ */
7
+ import { exec } from 'child_process';
8
+ import { promisify } from 'util';
9
+ const execAsync = promisify(exec);
10
+ /**
11
+ * Standard verification checks used across workflows
12
+ */
13
+ export const STANDARD_CHECKS = {
14
+ BUILD: {
15
+ id: 'build',
16
+ name: 'Build Success',
17
+ description: 'Code compiles without errors',
18
+ evidenceType: 'build_success',
19
+ required: true,
20
+ command: 'npm run build',
21
+ completed: false
22
+ },
23
+ TEST: {
24
+ id: 'test',
25
+ name: 'Tests Pass',
26
+ description: 'All tests pass without errors',
27
+ evidenceType: 'test_pass',
28
+ required: true,
29
+ command: 'npm test',
30
+ completed: false
31
+ },
32
+ LINT: {
33
+ id: 'lint',
34
+ name: 'Lint Clean',
35
+ description: 'No linting errors',
36
+ evidenceType: 'lint_clean',
37
+ required: true,
38
+ command: 'npm run lint',
39
+ completed: false
40
+ },
41
+ FUNCTIONALITY: {
42
+ id: 'functionality',
43
+ name: 'Functionality Verified',
44
+ description: 'All requested features work as described',
45
+ evidenceType: 'functionality_verified',
46
+ required: true,
47
+ completed: false
48
+ },
49
+ ARCHITECT: {
50
+ id: 'architect',
51
+ name: 'Architect Approval',
52
+ description: 'Architect has reviewed and approved the implementation',
53
+ evidenceType: 'architect_approval',
54
+ required: true,
55
+ completed: false
56
+ },
57
+ TODO: {
58
+ id: 'todo',
59
+ name: 'TODO Complete',
60
+ description: 'Zero pending or in_progress tasks',
61
+ evidenceType: 'todo_complete',
62
+ required: true,
63
+ completed: false
64
+ },
65
+ ERROR_FREE: {
66
+ id: 'error_free',
67
+ name: 'Error Free',
68
+ description: 'Zero unaddressed errors',
69
+ evidenceType: 'error_free',
70
+ required: true,
71
+ completed: false
72
+ }
73
+ };
74
+ /**
75
+ * Create a verification protocol
76
+ */
77
+ export function createProtocol(name, description, checks, strictMode = true) {
78
+ return {
79
+ name,
80
+ description,
81
+ checks,
82
+ strictMode
83
+ };
84
+ }
85
+ /**
86
+ * Create a verification checklist from a protocol
87
+ */
88
+ export function createChecklist(protocol) {
89
+ return {
90
+ protocol,
91
+ startedAt: new Date(),
92
+ checks: protocol.checks.map(check => ({ ...check })),
93
+ status: 'pending'
94
+ };
95
+ }
96
+ /**
97
+ * Run a single verification check
98
+ */
99
+ async function runSingleCheck(check, options = {}) {
100
+ const { cwd, timeout = 60000 } = options;
101
+ // If check has a command, run it
102
+ if (check.command) {
103
+ try {
104
+ const { stdout, stderr } = await execAsync(check.command, {
105
+ cwd,
106
+ timeout
107
+ });
108
+ return {
109
+ type: check.evidenceType,
110
+ passed: true,
111
+ command: check.command,
112
+ output: stdout || stderr,
113
+ timestamp: new Date()
114
+ };
115
+ }
116
+ catch (error) {
117
+ const err = error;
118
+ return {
119
+ type: check.evidenceType,
120
+ passed: false,
121
+ command: check.command,
122
+ output: err.stdout || err.stderr,
123
+ error: err.message,
124
+ timestamp: new Date()
125
+ };
126
+ }
127
+ }
128
+ // Manual verification checks (no command)
129
+ return {
130
+ type: check.evidenceType,
131
+ passed: false,
132
+ timestamp: new Date(),
133
+ metadata: { requiresManualVerification: true }
134
+ };
135
+ }
136
+ /**
137
+ * Execute all verification checks
138
+ */
139
+ export async function runVerification(checklist, options = {}) {
140
+ const { parallel = true, failFast = false, skipOptional = false } = options;
141
+ checklist.status = 'in_progress';
142
+ // Filter checks based on options
143
+ const checksToRun = skipOptional
144
+ ? checklist.checks.filter(c => c.required)
145
+ : checklist.checks;
146
+ if (parallel && !failFast) {
147
+ // Run all checks in parallel
148
+ const results = await Promise.allSettled(checksToRun.map(check => runSingleCheck(check, options)));
149
+ // Update checklist with results
150
+ checksToRun.forEach((check, idx) => {
151
+ const result = results[idx];
152
+ if (result.status === 'fulfilled') {
153
+ check.evidence = result.value;
154
+ check.completed = true;
155
+ }
156
+ else {
157
+ check.evidence = {
158
+ type: check.evidenceType,
159
+ passed: false,
160
+ error: result.reason?.message || 'Check failed',
161
+ timestamp: new Date()
162
+ };
163
+ check.completed = true;
164
+ }
165
+ });
166
+ }
167
+ else {
168
+ // Run checks sequentially
169
+ for (const check of checksToRun) {
170
+ try {
171
+ const evidence = await runSingleCheck(check, options);
172
+ check.evidence = evidence;
173
+ check.completed = true;
174
+ // Stop on first failure if failFast is enabled
175
+ if (failFast && !evidence.passed) {
176
+ break;
177
+ }
178
+ }
179
+ catch (error) {
180
+ check.evidence = {
181
+ type: check.evidenceType,
182
+ passed: false,
183
+ error: error.message,
184
+ timestamp: new Date()
185
+ };
186
+ check.completed = true;
187
+ if (failFast) {
188
+ break;
189
+ }
190
+ }
191
+ }
192
+ }
193
+ // Generate summary
194
+ checklist.summary = generateSummary(checklist);
195
+ checklist.completedAt = new Date();
196
+ checklist.status = checklist.summary.allRequiredPassed ? 'complete' : 'failed';
197
+ return checklist;
198
+ }
199
+ /**
200
+ * Validate evidence for a specific check
201
+ */
202
+ export function checkEvidence(check, evidence) {
203
+ const issues = [];
204
+ const recommendations = [];
205
+ // Basic validation
206
+ if (!evidence) {
207
+ issues.push(`No evidence provided for check: ${check.name}`);
208
+ recommendations.push('Run the verification check to collect evidence');
209
+ return {
210
+ valid: false,
211
+ message: `Missing evidence for ${check.name}`,
212
+ issues,
213
+ recommendations
214
+ };
215
+ }
216
+ // Check evidence type matches
217
+ if (evidence.type !== check.evidenceType) {
218
+ issues.push(`Evidence type mismatch: expected ${check.evidenceType}, got ${evidence.type}`);
219
+ }
220
+ // Check if passed
221
+ if (!evidence.passed) {
222
+ issues.push(`Check failed: ${check.name}`);
223
+ if (evidence.error) {
224
+ issues.push(`Error: ${evidence.error}`);
225
+ }
226
+ if (check.command) {
227
+ recommendations.push(`Review command output: ${check.command}`);
228
+ }
229
+ recommendations.push('Fix the issue and re-run verification');
230
+ }
231
+ // Check for stale evidence (older than 5 minutes)
232
+ const fiveMinutesAgo = new Date(Date.now() - 5 * 60 * 1000);
233
+ if (evidence.timestamp < fiveMinutesAgo) {
234
+ issues.push('Evidence is stale (older than 5 minutes)');
235
+ recommendations.push('Re-run verification to get fresh evidence');
236
+ }
237
+ return {
238
+ valid: issues.length === 0,
239
+ message: issues.length === 0 ? `${check.name} verified successfully` : `${check.name} verification failed`,
240
+ issues,
241
+ recommendations
242
+ };
243
+ }
244
+ /**
245
+ * Generate summary of verification results
246
+ */
247
+ function generateSummary(checklist) {
248
+ const total = checklist.checks.length;
249
+ const passed = checklist.checks.filter(c => c.evidence?.passed).length;
250
+ const failed = checklist.checks.filter(c => c.completed && !c.evidence?.passed).length;
251
+ const skipped = checklist.checks.filter(c => !c.completed).length;
252
+ const requiredChecks = checklist.checks.filter(c => c.required);
253
+ const allRequiredPassed = requiredChecks.every(c => c.evidence?.passed);
254
+ const failedChecks = checklist.checks
255
+ .filter(c => c.completed && !c.evidence?.passed)
256
+ .map(c => c.id);
257
+ let verdict;
258
+ if (skipped > 0) {
259
+ verdict = 'incomplete';
260
+ }
261
+ else if (checklist.protocol.strictMode && failed > 0) {
262
+ verdict = 'rejected';
263
+ }
264
+ else if (allRequiredPassed) {
265
+ verdict = 'approved';
266
+ }
267
+ else {
268
+ verdict = 'rejected';
269
+ }
270
+ return {
271
+ total,
272
+ passed,
273
+ failed,
274
+ skipped,
275
+ allRequiredPassed,
276
+ failedChecks,
277
+ verdict
278
+ };
279
+ }
280
+ /**
281
+ * Format verification report
282
+ */
283
+ export function formatReport(checklist, options = {}) {
284
+ const { includeEvidence = true, includeOutput = false, format = 'markdown' } = options;
285
+ if (format === 'json') {
286
+ return JSON.stringify(checklist, null, 2);
287
+ }
288
+ const lines = [];
289
+ // Header
290
+ if (format === 'markdown') {
291
+ lines.push(`# Verification Report: ${checklist.protocol.name}`);
292
+ lines.push('');
293
+ lines.push(`**Status:** ${checklist.status}`);
294
+ lines.push(`**Started:** ${checklist.startedAt.toISOString()}`);
295
+ if (checklist.completedAt) {
296
+ lines.push(`**Completed:** ${checklist.completedAt.toISOString()}`);
297
+ }
298
+ lines.push('');
299
+ }
300
+ else {
301
+ lines.push(`Verification Report: ${checklist.protocol.name}`);
302
+ lines.push(`Status: ${checklist.status}`);
303
+ lines.push(`Started: ${checklist.startedAt.toISOString()}`);
304
+ if (checklist.completedAt) {
305
+ lines.push(`Completed: ${checklist.completedAt.toISOString()}`);
306
+ }
307
+ lines.push('');
308
+ }
309
+ // Summary
310
+ if (checklist.summary) {
311
+ const { summary } = checklist;
312
+ if (format === 'markdown') {
313
+ lines.push('## Summary');
314
+ lines.push('');
315
+ lines.push(`- **Total Checks:** ${summary.total}`);
316
+ lines.push(`- **Passed:** ${summary.passed}`);
317
+ lines.push(`- **Failed:** ${summary.failed}`);
318
+ lines.push(`- **Skipped:** ${summary.skipped}`);
319
+ lines.push(`- **Verdict:** ${summary.verdict.toUpperCase()}`);
320
+ lines.push('');
321
+ }
322
+ else {
323
+ lines.push('Summary:');
324
+ lines.push(` Total Checks: ${summary.total}`);
325
+ lines.push(` Passed: ${summary.passed}`);
326
+ lines.push(` Failed: ${summary.failed}`);
327
+ lines.push(` Skipped: ${summary.skipped}`);
328
+ lines.push(` Verdict: ${summary.verdict.toUpperCase()}`);
329
+ lines.push('');
330
+ }
331
+ }
332
+ // Checks
333
+ if (format === 'markdown') {
334
+ lines.push('## Checks');
335
+ lines.push('');
336
+ }
337
+ else {
338
+ lines.push('Checks:');
339
+ }
340
+ for (const check of checklist.checks) {
341
+ const status = check.evidence?.passed ? '✓' : check.completed ? '✗' : '○';
342
+ const required = check.required ? '(required)' : '(optional)';
343
+ if (format === 'markdown') {
344
+ lines.push(`### ${status} ${check.name} ${required}`);
345
+ lines.push('');
346
+ lines.push(check.description);
347
+ lines.push('');
348
+ }
349
+ else {
350
+ lines.push(` ${status} ${check.name} ${required}`);
351
+ lines.push(` ${check.description}`);
352
+ }
353
+ if (includeEvidence && check.evidence) {
354
+ if (format === 'markdown') {
355
+ lines.push('**Evidence:**');
356
+ lines.push(`- Passed: ${check.evidence.passed}`);
357
+ lines.push(`- Timestamp: ${check.evidence.timestamp.toISOString()}`);
358
+ if (check.evidence.command) {
359
+ lines.push(`- Command: \`${check.evidence.command}\``);
360
+ }
361
+ if (check.evidence.error) {
362
+ lines.push(`- Error: ${check.evidence.error}`);
363
+ }
364
+ }
365
+ else {
366
+ lines.push(` Evidence: ${check.evidence.passed ? 'PASSED' : 'FAILED'}`);
367
+ if (check.evidence.error) {
368
+ lines.push(` Error: ${check.evidence.error}`);
369
+ }
370
+ }
371
+ if (includeOutput && check.evidence.output) {
372
+ if (format === 'markdown') {
373
+ lines.push('');
374
+ lines.push('**Output:**');
375
+ lines.push('```');
376
+ lines.push(check.evidence.output.trim());
377
+ lines.push('```');
378
+ }
379
+ else {
380
+ lines.push(` Output: ${check.evidence.output.substring(0, 100)}...`);
381
+ }
382
+ }
383
+ lines.push('');
384
+ }
385
+ }
386
+ return lines.join('\n');
387
+ }
388
+ /**
389
+ * Validate entire checklist
390
+ */
391
+ export async function validateChecklist(checklist) {
392
+ const issues = [];
393
+ const recommendations = [];
394
+ // Check if verification is complete
395
+ if (checklist.status !== 'complete' && checklist.status !== 'failed') {
396
+ issues.push('Verification is not complete');
397
+ recommendations.push('Run verification to completion before validating');
398
+ return {
399
+ valid: false,
400
+ message: 'Incomplete verification',
401
+ issues,
402
+ recommendations
403
+ };
404
+ }
405
+ // Validate each check
406
+ for (const check of checklist.checks) {
407
+ if (!check.evidence) {
408
+ if (check.required) {
409
+ issues.push(`Missing evidence for required check: ${check.name}`);
410
+ recommendations.push(`Run verification check: ${check.name}`);
411
+ }
412
+ continue;
413
+ }
414
+ const validation = checkEvidence(check, check.evidence);
415
+ if (!validation.valid && check.required) {
416
+ issues.push(...validation.issues);
417
+ if (validation.recommendations) {
418
+ recommendations.push(...validation.recommendations);
419
+ }
420
+ }
421
+ }
422
+ // Run custom validator if provided
423
+ if (checklist.protocol.customValidator) {
424
+ const customResult = await checklist.protocol.customValidator(checklist);
425
+ if (!customResult.valid) {
426
+ issues.push(...customResult.issues);
427
+ if (customResult.recommendations) {
428
+ recommendations.push(...customResult.recommendations);
429
+ }
430
+ }
431
+ }
432
+ return {
433
+ valid: issues.length === 0,
434
+ message: issues.length === 0 ? 'All verifications passed' : 'Some verifications failed',
435
+ issues,
436
+ recommendations
437
+ };
438
+ }
439
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/verification/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Verification Types
3
+ *
4
+ * Common types for verification protocol used across ralph, ultrawork, and autopilot
5
+ */
6
+ /**
7
+ * Types of verification evidence
8
+ */
9
+ export type VerificationEvidenceType = 'build_success' | 'test_pass' | 'lint_clean' | 'functionality_verified' | 'architect_approval' | 'todo_complete' | 'error_free';
10
+ /**
11
+ * Proof of verification for a specific check
12
+ */
13
+ export interface VerificationEvidence {
14
+ /** Type of evidence */
15
+ type: VerificationEvidenceType;
16
+ /** Whether the check passed */
17
+ passed: boolean;
18
+ /** Command that was run to verify (if applicable) */
19
+ command?: string;
20
+ /** Output from the verification command */
21
+ output?: string;
22
+ /** Error message if check failed */
23
+ error?: string;
24
+ /** Timestamp when evidence was collected */
25
+ timestamp: Date;
26
+ /** Additional metadata */
27
+ metadata?: Record<string, unknown>;
28
+ }
29
+ /**
30
+ * A single verification check requirement
31
+ */
32
+ export interface VerificationCheck {
33
+ /** Unique identifier for this check */
34
+ id: string;
35
+ /** Human-readable name */
36
+ name: string;
37
+ /** Description of what this check verifies */
38
+ description: string;
39
+ /** Type of evidence this check produces */
40
+ evidenceType: VerificationEvidenceType;
41
+ /** Whether this check is required for completion */
42
+ required: boolean;
43
+ /** Command to run for verification (if applicable) */
44
+ command?: string;
45
+ /** Whether this check has been completed */
46
+ completed: boolean;
47
+ /** Evidence collected for this check */
48
+ evidence?: VerificationEvidence;
49
+ }
50
+ /**
51
+ * Complete verification protocol definition
52
+ */
53
+ export interface VerificationProtocol {
54
+ /** Protocol name (e.g., "ralph", "autopilot", "ultrawork") */
55
+ name: string;
56
+ /** Description of what this protocol verifies */
57
+ description: string;
58
+ /** List of verification checks to perform */
59
+ checks: VerificationCheck[];
60
+ /** Whether all required checks must pass */
61
+ strictMode: boolean;
62
+ /** Optional custom validation function */
63
+ customValidator?: (checklist: VerificationChecklist) => Promise<ValidationResult>;
64
+ }
65
+ /**
66
+ * Current state of verification checks
67
+ */
68
+ export interface VerificationChecklist {
69
+ /** Protocol being followed */
70
+ protocol: VerificationProtocol;
71
+ /** Timestamp when verification started */
72
+ startedAt: Date;
73
+ /** Timestamp when verification completed (if finished) */
74
+ completedAt?: Date;
75
+ /** All checks with their current status */
76
+ checks: VerificationCheck[];
77
+ /** Overall completion status */
78
+ status: 'pending' | 'in_progress' | 'complete' | 'failed';
79
+ /** Summary of results */
80
+ summary?: VerificationSummary;
81
+ }
82
+ /**
83
+ * Summary of verification results
84
+ */
85
+ export interface VerificationSummary {
86
+ /** Total number of checks */
87
+ total: number;
88
+ /** Number of checks passed */
89
+ passed: number;
90
+ /** Number of checks failed */
91
+ failed: number;
92
+ /** Number of checks skipped (non-required) */
93
+ skipped: number;
94
+ /** Whether all required checks passed */
95
+ allRequiredPassed: boolean;
96
+ /** List of failed check IDs */
97
+ failedChecks: string[];
98
+ /** Overall verdict */
99
+ verdict: 'approved' | 'rejected' | 'incomplete';
100
+ }
101
+ /**
102
+ * Result of validation
103
+ */
104
+ export interface ValidationResult {
105
+ /** Whether validation passed */
106
+ valid: boolean;
107
+ /** Validation message */
108
+ message: string;
109
+ /** List of issues found */
110
+ issues: string[];
111
+ /** Recommendations for fixing issues */
112
+ recommendations?: string[];
113
+ }
114
+ /**
115
+ * Options for running verification
116
+ */
117
+ export interface VerificationOptions {
118
+ /** Whether to run checks in parallel */
119
+ parallel?: boolean;
120
+ /** Timeout per check in milliseconds */
121
+ timeout?: number;
122
+ /** Whether to stop on first failure */
123
+ failFast?: boolean;
124
+ /** Whether to skip non-required checks */
125
+ skipOptional?: boolean;
126
+ /** Custom working directory */
127
+ cwd?: string;
128
+ }
129
+ /**
130
+ * Report format options
131
+ */
132
+ export interface ReportOptions {
133
+ /** Include detailed evidence in report */
134
+ includeEvidence?: boolean;
135
+ /** Include command output in report */
136
+ includeOutput?: boolean;
137
+ /** Format for report */
138
+ format?: 'text' | 'markdown' | 'json';
139
+ /** Whether to colorize output (for terminal) */
140
+ colorize?: boolean;
141
+ }
142
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/verification/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Verification Types
3
+ *
4
+ * Common types for verification protocol used across ralph, ultrawork, and autopilot
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/features/verification/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/agent-usage-reminder/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,uDAAuD;AACvD,eAAO,MAAM,eAAe,QAA0B,CAAC;AACvD,eAAO,MAAM,4BAA4B,QAGxC,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,YAAY,aAWvB,CAAC;AAEH,4CAA4C;AAC5C,eAAO,MAAM,WAAW,aAItB,CAAC;AAEH,sCAAsC;AACtC,eAAO,MAAM,gBAAgB,k1BAwB5B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/agent-usage-reminder/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,uDAAuD;AACvD,eAAO,MAAM,eAAe,QAA0B,CAAC;AACvD,eAAO,MAAM,4BAA4B,QAGxC,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,YAAY,aAUvB,CAAC;AAEH,4CAA4C;AAC5C,eAAO,MAAM,WAAW,aAItB,CAAC;AAEH,sCAAsC;AACtC,eAAO,MAAM,gBAAgB,k1BAwB5B,CAAC"}
@@ -21,7 +21,6 @@ export const TARGET_TOOLS = new Set([
21
21
  'context7_query-docs',
22
22
  'websearch_web_search_exa',
23
23
  'context7_get-library-docs',
24
- 'grep_app_searchgithub',
25
24
  ]);
26
25
  /** Agent tools that indicate agent usage */
27
26
  export const AGENT_TOOLS = new Set([
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/hooks/agent-usage-reminder/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAC9C,eAAe,EACf,sBAAsB,CACvB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAClC,MAAM;IACN,WAAW;IACX,MAAM;IACN,WAAW;IACX,UAAU;IACV,6BAA6B;IAC7B,qBAAqB;IACrB,0BAA0B;IAC1B,2BAA2B;IAC3B,uBAAuB;CACxB,CAAC,CAAC;AAEH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM;IACN,gBAAgB;IAChB,UAAU;CACX,CAAC,CAAC;AAEH,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB/B,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/hooks/agent-usage-reminder/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAC9C,eAAe,EACf,sBAAsB,CACvB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAClC,MAAM;IACN,WAAW;IACX,MAAM;IACN,WAAW;IACX,UAAU;IACV,6BAA6B;IAC7B,qBAAqB;IACrB,0BAA0B;IAC1B,2BAA2B;CAC5B,CAAC,CAAC;AAEH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM;IACN,gBAAgB;IAChB,UAAU;CACX,CAAC,CAAC;AAEH,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB/B,CAAC"}
@@ -5,18 +5,18 @@ import { tmpdir } from 'os';
5
5
  import { cancelAutopilot, clearAutopilot, canResumeAutopilot, resumeAutopilot, formatCancelMessage } from '../cancel.js';
6
6
  import { initAutopilot, transitionPhase, readAutopilotState, updateExecution } from '../state.js';
7
7
  // Mock the ralph and ultraqa modules
8
- vi.mock('../../ralph-loop/index.js', () => ({
8
+ vi.mock('../../ralph/index.js', () => ({
9
9
  clearRalphState: vi.fn(() => true),
10
10
  clearLinkedUltraworkState: vi.fn(() => true),
11
11
  readRalphState: vi.fn(() => null)
12
12
  }));
13
- vi.mock('../../ultraqa-loop/index.js', () => ({
13
+ vi.mock('../../ultraqa/index.js', () => ({
14
14
  clearUltraQAState: vi.fn(() => true),
15
15
  readUltraQAState: vi.fn(() => null)
16
16
  }));
17
17
  // Import mocked functions after vi.mock
18
- import * as ralphLoop from '../../ralph-loop/index.js';
19
- import * as ultraqaLoop from '../../ultraqa-loop/index.js';
18
+ import * as ralphLoop from '../../ralph/index.js';
19
+ import * as ultraqaLoop from '../../ultraqa/index.js';
20
20
  describe('AutopilotCancel', () => {
21
21
  let testDir;
22
22
  beforeEach(() => {