oh-my-claude-sisyphus 3.5.8 → 3.6.1

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 (399) hide show
  1. package/agents/executor-high.md +2 -0
  2. package/agents/executor-low.md +2 -0
  3. package/agents/executor.md +2 -0
  4. package/agents/templates/base-agent.md +9 -0
  5. package/commands/cancel.md +8 -8
  6. package/commands/omc-setup.md +3 -3
  7. package/commands/release.md +1 -1
  8. package/commands/swarm.md +350 -148
  9. package/dist/__tests__/analytics/transcript-scanner.test.js +69 -27
  10. package/dist/__tests__/analytics/transcript-scanner.test.js.map +1 -1
  11. package/dist/__tests__/hooks.test.js +10 -9
  12. package/dist/__tests__/hooks.test.js.map +1 -1
  13. package/dist/__tests__/installer.test.js +2 -1
  14. package/dist/__tests__/installer.test.js.map +1 -1
  15. package/dist/agents/preamble.d.ts +14 -0
  16. package/dist/agents/preamble.d.ts.map +1 -0
  17. package/dist/agents/preamble.js +26 -0
  18. package/dist/agents/preamble.js.map +1 -0
  19. package/dist/analytics/session-manager.d.ts +24 -0
  20. package/dist/analytics/session-manager.d.ts.map +1 -1
  21. package/dist/analytics/session-manager.js +98 -9
  22. package/dist/analytics/session-manager.js.map +1 -1
  23. package/dist/analytics/transcript-scanner.d.ts +9 -8
  24. package/dist/analytics/transcript-scanner.d.ts.map +1 -1
  25. package/dist/analytics/transcript-scanner.js +146 -16
  26. package/dist/analytics/transcript-scanner.js.map +1 -1
  27. package/dist/cli/analytics.js +0 -0
  28. package/dist/cli/index.js +0 -0
  29. package/dist/hooks/autopilot/__tests__/cancel.test.js +14 -4
  30. package/dist/hooks/autopilot/__tests__/cancel.test.js.map +1 -1
  31. package/dist/hooks/autopilot/__tests__/state.test.js +1 -0
  32. package/dist/hooks/autopilot/__tests__/state.test.js.map +1 -1
  33. package/dist/hooks/autopilot/__tests__/summary.test.js +38 -3
  34. package/dist/hooks/autopilot/__tests__/summary.test.js.map +1 -1
  35. package/dist/hooks/autopilot/state.d.ts +1 -1
  36. package/dist/hooks/autopilot/state.d.ts.map +1 -1
  37. package/dist/hooks/autopilot/state.js +15 -8
  38. package/dist/hooks/autopilot/state.js.map +1 -1
  39. package/dist/hooks/empty-message-sanitizer/__tests__/index.test.d.ts +2 -0
  40. package/dist/hooks/empty-message-sanitizer/__tests__/index.test.d.ts.map +1 -0
  41. package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js +416 -0
  42. package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js.map +1 -0
  43. package/dist/hooks/index.d.ts +2 -0
  44. package/dist/hooks/index.d.ts.map +1 -1
  45. package/dist/hooks/index.js +7 -0
  46. package/dist/hooks/index.js.map +1 -1
  47. package/dist/hooks/keyword-detector/__tests__/index.test.d.ts +2 -0
  48. package/dist/hooks/keyword-detector/__tests__/index.test.d.ts.map +1 -0
  49. package/dist/hooks/keyword-detector/__tests__/index.test.js +427 -0
  50. package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -0
  51. package/dist/hooks/mode-registry/index.d.ts +135 -0
  52. package/dist/hooks/mode-registry/index.d.ts.map +1 -0
  53. package/dist/hooks/mode-registry/index.js +445 -0
  54. package/dist/hooks/mode-registry/index.js.map +1 -0
  55. package/dist/hooks/mode-registry/types.d.ts +31 -0
  56. package/dist/hooks/mode-registry/types.d.ts.map +1 -0
  57. package/dist/hooks/mode-registry/types.js +7 -0
  58. package/dist/hooks/mode-registry/types.js.map +1 -0
  59. package/dist/hooks/ralph/loop.js +6 -6
  60. package/dist/hooks/ralph/loop.js.map +1 -1
  61. package/dist/hooks/swarm/__tests__/claiming.test.d.ts +2 -0
  62. package/dist/hooks/swarm/__tests__/claiming.test.d.ts.map +1 -0
  63. package/dist/hooks/swarm/__tests__/claiming.test.js +170 -0
  64. package/dist/hooks/swarm/__tests__/claiming.test.js.map +1 -0
  65. package/dist/hooks/swarm/__tests__/index.test.d.ts +2 -0
  66. package/dist/hooks/swarm/__tests__/index.test.d.ts.map +1 -0
  67. package/dist/hooks/swarm/__tests__/index.test.js +157 -0
  68. package/dist/hooks/swarm/__tests__/index.test.js.map +1 -0
  69. package/dist/hooks/swarm/__tests__/mode-registry.test.d.ts +2 -0
  70. package/dist/hooks/swarm/__tests__/mode-registry.test.d.ts.map +1 -0
  71. package/dist/hooks/swarm/__tests__/mode-registry.test.js +177 -0
  72. package/dist/hooks/swarm/__tests__/mode-registry.test.js.map +1 -0
  73. package/dist/hooks/swarm/claiming.d.ts +101 -0
  74. package/dist/hooks/swarm/claiming.d.ts.map +1 -0
  75. package/dist/hooks/swarm/claiming.js +460 -0
  76. package/dist/hooks/swarm/claiming.js.map +1 -0
  77. package/dist/hooks/swarm/index.d.ts +221 -0
  78. package/dist/hooks/swarm/index.d.ts.map +1 -0
  79. package/dist/hooks/swarm/index.js +413 -0
  80. package/dist/hooks/swarm/index.js.map +1 -0
  81. package/dist/hooks/swarm/state.d.ts +94 -0
  82. package/dist/hooks/swarm/state.d.ts.map +1 -0
  83. package/dist/hooks/swarm/state.js +530 -0
  84. package/dist/hooks/swarm/state.js.map +1 -0
  85. package/dist/hooks/swarm/types.d.ts +116 -0
  86. package/dist/hooks/swarm/types.d.ts.map +1 -0
  87. package/dist/hooks/swarm/types.js +22 -0
  88. package/dist/hooks/swarm/types.js.map +1 -0
  89. package/dist/hooks/think-mode/__tests__/index.test.d.ts +2 -0
  90. package/dist/hooks/think-mode/__tests__/index.test.d.ts.map +1 -0
  91. package/dist/hooks/think-mode/__tests__/index.test.js +556 -0
  92. package/dist/hooks/think-mode/__tests__/index.test.js.map +1 -0
  93. package/dist/hooks/ultrapilot/decomposer.d.ts +141 -0
  94. package/dist/hooks/ultrapilot/decomposer.d.ts.map +1 -0
  95. package/dist/hooks/ultrapilot/decomposer.js +377 -0
  96. package/dist/hooks/ultrapilot/decomposer.js.map +1 -0
  97. package/dist/hooks/ultrapilot/index.d.ts +31 -0
  98. package/dist/hooks/ultrapilot/index.d.ts.map +1 -1
  99. package/dist/hooks/ultrapilot/index.js +43 -2
  100. package/dist/hooks/ultrapilot/index.js.map +1 -1
  101. package/dist/hooks/ultrapilot/state.d.ts +1 -1
  102. package/dist/hooks/ultrapilot/state.d.ts.map +1 -1
  103. package/dist/hooks/ultrapilot/state.js +7 -0
  104. package/dist/hooks/ultrapilot/state.js.map +1 -1
  105. package/dist/hooks/ultraqa/index.js +5 -5
  106. package/dist/hooks/ultraqa/index.js.map +1 -1
  107. package/dist/hooks/ultrawork/index.js +3 -3
  108. package/dist/hooks/ultrawork/index.js.map +1 -1
  109. package/dist/installer/index.d.ts.map +1 -1
  110. package/dist/installer/index.js +8 -0
  111. package/dist/installer/index.js.map +1 -1
  112. package/package.json +3 -1
  113. package/skills/autopilot/SKILL.md +18 -0
  114. package/skills/cancel/SKILL.md +166 -141
  115. package/skills/ecomode/SKILL.md +14 -0
  116. package/skills/omc-setup/SKILL.md +27 -3
  117. package/skills/pipeline/SKILL.md +13 -0
  118. package/skills/ralph/SKILL.md +22 -1
  119. package/skills/release/SKILL.md +1 -1
  120. package/skills/swarm/SKILL.md +521 -197
  121. package/skills/ultrapilot/SKILL.md +82 -13
  122. package/skills/ultraqa/SKILL.md +13 -0
  123. package/skills/ultrawork/SKILL.md +14 -0
  124. package/dist/__tests__/analytics/analytics-summary.test.d.ts +0 -2
  125. package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +0 -1
  126. package/dist/__tests__/analytics/analytics-summary.test.js +0 -267
  127. package/dist/__tests__/analytics/analytics-summary.test.js.map +0 -1
  128. package/dist/__tests__/analytics/cost-estimator.test.d.ts +0 -2
  129. package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +0 -1
  130. package/dist/__tests__/analytics/cost-estimator.test.js +0 -212
  131. package/dist/__tests__/analytics/cost-estimator.test.js.map +0 -1
  132. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +0 -7
  133. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +0 -1
  134. package/dist/__tests__/hooks/auto-slash-command/executor.test.js +0 -374
  135. package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +0 -1
  136. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +0 -2
  137. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +0 -1
  138. package/dist/__tests__/hud/auto-tracking.integration.test.js +0 -12
  139. package/dist/__tests__/hud/auto-tracking.integration.test.js.map +0 -1
  140. package/dist/__tests__/learned-skills/config.test.d.ts +0 -2
  141. package/dist/__tests__/learned-skills/config.test.d.ts.map +0 -1
  142. package/dist/__tests__/learned-skills/config.test.js +0 -37
  143. package/dist/__tests__/learned-skills/config.test.js.map +0 -1
  144. package/dist/__tests__/learned-skills/detector.test.d.ts +0 -2
  145. package/dist/__tests__/learned-skills/detector.test.d.ts.map +0 -1
  146. package/dist/__tests__/learned-skills/detector.test.js +0 -99
  147. package/dist/__tests__/learned-skills/detector.test.js.map +0 -1
  148. package/dist/__tests__/learned-skills/finder.test.d.ts +0 -2
  149. package/dist/__tests__/learned-skills/finder.test.d.ts.map +0 -1
  150. package/dist/__tests__/learned-skills/finder.test.js +0 -59
  151. package/dist/__tests__/learned-skills/finder.test.js.map +0 -1
  152. package/dist/__tests__/learned-skills/loader.test.d.ts +0 -2
  153. package/dist/__tests__/learned-skills/loader.test.d.ts.map +0 -1
  154. package/dist/__tests__/learned-skills/loader.test.js +0 -69
  155. package/dist/__tests__/learned-skills/loader.test.js.map +0 -1
  156. package/dist/__tests__/learned-skills/parser.test.d.ts +0 -2
  157. package/dist/__tests__/learned-skills/parser.test.d.ts.map +0 -1
  158. package/dist/__tests__/learned-skills/parser.test.js +0 -81
  159. package/dist/__tests__/learned-skills/parser.test.js.map +0 -1
  160. package/dist/__tests__/learned-skills/validator.test.d.ts +0 -2
  161. package/dist/__tests__/learned-skills/validator.test.d.ts.map +0 -1
  162. package/dist/__tests__/learned-skills/validator.test.js +0 -85
  163. package/dist/__tests__/learned-skills/validator.test.js.map +0 -1
  164. package/dist/agents/document-writer.d.ts +0 -11
  165. package/dist/agents/document-writer.d.ts.map +0 -1
  166. package/dist/agents/document-writer.js +0 -209
  167. package/dist/agents/document-writer.js.map +0 -1
  168. package/dist/agents/frontend-engineer.d.ts +0 -11
  169. package/dist/agents/frontend-engineer.d.ts.map +0 -1
  170. package/dist/agents/frontend-engineer.js +0 -115
  171. package/dist/agents/frontend-engineer.js.map +0 -1
  172. package/dist/agents/librarian.d.ts +0 -12
  173. package/dist/agents/librarian.d.ts.map +0 -1
  174. package/dist/agents/librarian.js +0 -103
  175. package/dist/agents/librarian.js.map +0 -1
  176. package/dist/agents/metis.d.ts +0 -12
  177. package/dist/agents/metis.d.ts.map +0 -1
  178. package/dist/agents/metis.js +0 -117
  179. package/dist/agents/metis.js.map +0 -1
  180. package/dist/agents/momus.d.ts +0 -12
  181. package/dist/agents/momus.d.ts.map +0 -1
  182. package/dist/agents/momus.js +0 -128
  183. package/dist/agents/momus.js.map +0 -1
  184. package/dist/agents/multimodal-looker.d.ts +0 -11
  185. package/dist/agents/multimodal-looker.d.ts.map +0 -1
  186. package/dist/agents/multimodal-looker.js +0 -70
  187. package/dist/agents/multimodal-looker.js.map +0 -1
  188. package/dist/agents/oracle.d.ts +0 -13
  189. package/dist/agents/oracle.d.ts.map +0 -1
  190. package/dist/agents/oracle.js +0 -191
  191. package/dist/agents/oracle.js.map +0 -1
  192. package/dist/agents/orchestrator-sisyphus.d.ts +0 -11
  193. package/dist/agents/orchestrator-sisyphus.d.ts.map +0 -1
  194. package/dist/agents/orchestrator-sisyphus.js +0 -115
  195. package/dist/agents/orchestrator-sisyphus.js.map +0 -1
  196. package/dist/agents/prometheus.d.ts +0 -12
  197. package/dist/agents/prometheus.d.ts.map +0 -1
  198. package/dist/agents/prometheus.js +0 -195
  199. package/dist/agents/prometheus.js.map +0 -1
  200. package/dist/agents/sisyphus-junior.d.ts +0 -12
  201. package/dist/agents/sisyphus-junior.d.ts.map +0 -1
  202. package/dist/agents/sisyphus-junior.js +0 -93
  203. package/dist/agents/sisyphus-junior.js.map +0 -1
  204. package/dist/cli/components/CostDashboard.d.ts +0 -15
  205. package/dist/cli/components/CostDashboard.d.ts.map +0 -1
  206. package/dist/cli/components/CostDashboard.js +0 -15
  207. package/dist/cli/components/CostDashboard.js.map +0 -1
  208. package/dist/cli/components/LiveStats.d.ts +0 -16
  209. package/dist/cli/components/LiveStats.d.ts.map +0 -1
  210. package/dist/cli/components/LiveStats.js +0 -16
  211. package/dist/cli/components/LiveStats.js.map +0 -1
  212. package/dist/cli/components/SessionBrowser.d.ts +0 -14
  213. package/dist/cli/components/SessionBrowser.d.ts.map +0 -1
  214. package/dist/cli/components/SessionBrowser.js +0 -14
  215. package/dist/cli/components/SessionBrowser.js.map +0 -1
  216. package/dist/cli/tui.d.ts +0 -21
  217. package/dist/cli/tui.d.ts.map +0 -1
  218. package/dist/cli/tui.js +0 -21
  219. package/dist/cli/tui.js.map +0 -1
  220. package/dist/hooks/autopilot/signals.d.ts +0 -20
  221. package/dist/hooks/autopilot/signals.d.ts.map +0 -1
  222. package/dist/hooks/autopilot/signals.js +0 -75
  223. package/dist/hooks/autopilot/signals.js.map +0 -1
  224. package/dist/hooks/autopilot/summary.d.ts +0 -27
  225. package/dist/hooks/autopilot/summary.d.ts.map +0 -1
  226. package/dist/hooks/autopilot/summary.js +0 -160
  227. package/dist/hooks/autopilot/summary.js.map +0 -1
  228. package/dist/hooks/autopilot/transition.d.ts +0 -39
  229. package/dist/hooks/autopilot/transition.d.ts.map +0 -1
  230. package/dist/hooks/autopilot/transition.js +0 -216
  231. package/dist/hooks/autopilot/transition.js.map +0 -1
  232. package/dist/hooks/context-window-limit-recovery/constants.d.ts +0 -28
  233. package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +0 -1
  234. package/dist/hooks/context-window-limit-recovery/constants.js +0 -85
  235. package/dist/hooks/context-window-limit-recovery/constants.js.map +0 -1
  236. package/dist/hooks/context-window-limit-recovery/index.d.ts +0 -62
  237. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +0 -1
  238. package/dist/hooks/context-window-limit-recovery/index.js +0 -201
  239. package/dist/hooks/context-window-limit-recovery/index.js.map +0 -1
  240. package/dist/hooks/context-window-limit-recovery/parser.d.ts +0 -31
  241. package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +0 -1
  242. package/dist/hooks/context-window-limit-recovery/parser.js +0 -241
  243. package/dist/hooks/context-window-limit-recovery/parser.js.map +0 -1
  244. package/dist/hooks/context-window-limit-recovery/types.d.ts +0 -84
  245. package/dist/hooks/context-window-limit-recovery/types.d.ts.map +0 -1
  246. package/dist/hooks/context-window-limit-recovery/types.js +0 -34
  247. package/dist/hooks/context-window-limit-recovery/types.js.map +0 -1
  248. package/dist/hooks/edit-error-recovery/index.d.ts +0 -62
  249. package/dist/hooks/edit-error-recovery/index.d.ts.map +0 -1
  250. package/dist/hooks/edit-error-recovery/index.js +0 -89
  251. package/dist/hooks/edit-error-recovery/index.js.map +0 -1
  252. package/dist/hooks/learned-skills/config.d.ts +0 -53
  253. package/dist/hooks/learned-skills/config.d.ts.map +0 -1
  254. package/dist/hooks/learned-skills/config.js +0 -103
  255. package/dist/hooks/learned-skills/config.js.map +0 -1
  256. package/dist/hooks/learned-skills/constants.d.ts +0 -24
  257. package/dist/hooks/learned-skills/constants.d.ts.map +0 -1
  258. package/dist/hooks/learned-skills/constants.js +0 -26
  259. package/dist/hooks/learned-skills/constants.js.map +0 -1
  260. package/dist/hooks/learned-skills/detection-hook.d.ts +0 -39
  261. package/dist/hooks/learned-skills/detection-hook.d.ts.map +0 -1
  262. package/dist/hooks/learned-skills/detection-hook.js +0 -83
  263. package/dist/hooks/learned-skills/detection-hook.js.map +0 -1
  264. package/dist/hooks/learned-skills/detector.d.ts +0 -30
  265. package/dist/hooks/learned-skills/detector.d.ts.map +0 -1
  266. package/dist/hooks/learned-skills/detector.js +0 -150
  267. package/dist/hooks/learned-skills/detector.js.map +0 -1
  268. package/dist/hooks/learned-skills/finder.d.ts +0 -21
  269. package/dist/hooks/learned-skills/finder.d.ts.map +0 -1
  270. package/dist/hooks/learned-skills/finder.js +0 -117
  271. package/dist/hooks/learned-skills/finder.js.map +0 -1
  272. package/dist/hooks/learned-skills/index.d.ts +0 -62
  273. package/dist/hooks/learned-skills/index.d.ts.map +0 -1
  274. package/dist/hooks/learned-skills/index.js +0 -137
  275. package/dist/hooks/learned-skills/index.js.map +0 -1
  276. package/dist/hooks/learned-skills/loader.d.ts +0 -20
  277. package/dist/hooks/learned-skills/loader.d.ts.map +0 -1
  278. package/dist/hooks/learned-skills/loader.js +0 -107
  279. package/dist/hooks/learned-skills/loader.js.map +0 -1
  280. package/dist/hooks/learned-skills/parser.d.ts +0 -21
  281. package/dist/hooks/learned-skills/parser.d.ts.map +0 -1
  282. package/dist/hooks/learned-skills/parser.js +0 -190
  283. package/dist/hooks/learned-skills/parser.js.map +0 -1
  284. package/dist/hooks/learned-skills/promotion.d.ts +0 -29
  285. package/dist/hooks/learned-skills/promotion.d.ts.map +0 -1
  286. package/dist/hooks/learned-skills/promotion.js +0 -87
  287. package/dist/hooks/learned-skills/promotion.js.map +0 -1
  288. package/dist/hooks/learned-skills/types.d.ts +0 -109
  289. package/dist/hooks/learned-skills/types.d.ts.map +0 -1
  290. package/dist/hooks/learned-skills/types.js +0 -8
  291. package/dist/hooks/learned-skills/types.js.map +0 -1
  292. package/dist/hooks/learned-skills/validator.d.ts +0 -15
  293. package/dist/hooks/learned-skills/validator.d.ts.map +0 -1
  294. package/dist/hooks/learned-skills/validator.js +0 -87
  295. package/dist/hooks/learned-skills/validator.js.map +0 -1
  296. package/dist/hooks/learned-skills/writer.d.ts +0 -27
  297. package/dist/hooks/learned-skills/writer.d.ts.map +0 -1
  298. package/dist/hooks/learned-skills/writer.js +0 -126
  299. package/dist/hooks/learned-skills/writer.js.map +0 -1
  300. package/dist/hooks/mnemosyne/config.d.ts +0 -53
  301. package/dist/hooks/mnemosyne/config.d.ts.map +0 -1
  302. package/dist/hooks/mnemosyne/config.js +0 -103
  303. package/dist/hooks/mnemosyne/config.js.map +0 -1
  304. package/dist/hooks/mnemosyne/constants.d.ts +0 -24
  305. package/dist/hooks/mnemosyne/constants.d.ts.map +0 -1
  306. package/dist/hooks/mnemosyne/constants.js +0 -26
  307. package/dist/hooks/mnemosyne/constants.js.map +0 -1
  308. package/dist/hooks/mnemosyne/detection-hook.d.ts +0 -39
  309. package/dist/hooks/mnemosyne/detection-hook.d.ts.map +0 -1
  310. package/dist/hooks/mnemosyne/detection-hook.js +0 -83
  311. package/dist/hooks/mnemosyne/detection-hook.js.map +0 -1
  312. package/dist/hooks/mnemosyne/detector.d.ts +0 -30
  313. package/dist/hooks/mnemosyne/detector.d.ts.map +0 -1
  314. package/dist/hooks/mnemosyne/detector.js +0 -150
  315. package/dist/hooks/mnemosyne/detector.js.map +0 -1
  316. package/dist/hooks/mnemosyne/finder.d.ts +0 -21
  317. package/dist/hooks/mnemosyne/finder.d.ts.map +0 -1
  318. package/dist/hooks/mnemosyne/finder.js +0 -117
  319. package/dist/hooks/mnemosyne/finder.js.map +0 -1
  320. package/dist/hooks/mnemosyne/index.d.ts +0 -62
  321. package/dist/hooks/mnemosyne/index.d.ts.map +0 -1
  322. package/dist/hooks/mnemosyne/index.js +0 -137
  323. package/dist/hooks/mnemosyne/index.js.map +0 -1
  324. package/dist/hooks/mnemosyne/loader.d.ts +0 -20
  325. package/dist/hooks/mnemosyne/loader.d.ts.map +0 -1
  326. package/dist/hooks/mnemosyne/loader.js +0 -113
  327. package/dist/hooks/mnemosyne/loader.js.map +0 -1
  328. package/dist/hooks/mnemosyne/parser.d.ts +0 -21
  329. package/dist/hooks/mnemosyne/parser.d.ts.map +0 -1
  330. package/dist/hooks/mnemosyne/parser.js +0 -190
  331. package/dist/hooks/mnemosyne/parser.js.map +0 -1
  332. package/dist/hooks/mnemosyne/promotion.d.ts +0 -29
  333. package/dist/hooks/mnemosyne/promotion.d.ts.map +0 -1
  334. package/dist/hooks/mnemosyne/promotion.js +0 -87
  335. package/dist/hooks/mnemosyne/promotion.js.map +0 -1
  336. package/dist/hooks/mnemosyne/types.d.ts +0 -109
  337. package/dist/hooks/mnemosyne/types.d.ts.map +0 -1
  338. package/dist/hooks/mnemosyne/types.js +0 -8
  339. package/dist/hooks/mnemosyne/types.js.map +0 -1
  340. package/dist/hooks/mnemosyne/validator.d.ts +0 -15
  341. package/dist/hooks/mnemosyne/validator.d.ts.map +0 -1
  342. package/dist/hooks/mnemosyne/validator.js +0 -87
  343. package/dist/hooks/mnemosyne/validator.js.map +0 -1
  344. package/dist/hooks/mnemosyne/writer.d.ts +0 -27
  345. package/dist/hooks/mnemosyne/writer.d.ts.map +0 -1
  346. package/dist/hooks/mnemosyne/writer.js +0 -126
  347. package/dist/hooks/mnemosyne/writer.js.map +0 -1
  348. package/dist/hooks/ralph-loop/index.d.ts +0 -116
  349. package/dist/hooks/ralph-loop/index.d.ts.map +0 -1
  350. package/dist/hooks/ralph-loop/index.js +0 -322
  351. package/dist/hooks/ralph-loop/index.js.map +0 -1
  352. package/dist/hooks/ralph-prd/index.d.ts +0 -130
  353. package/dist/hooks/ralph-prd/index.d.ts.map +0 -1
  354. package/dist/hooks/ralph-prd/index.js +0 -310
  355. package/dist/hooks/ralph-prd/index.js.map +0 -1
  356. package/dist/hooks/ralph-progress/index.d.ts +0 -102
  357. package/dist/hooks/ralph-progress/index.d.ts.map +0 -1
  358. package/dist/hooks/ralph-progress/index.js +0 -408
  359. package/dist/hooks/ralph-progress/index.js.map +0 -1
  360. package/dist/hooks/ralph-verifier/index.d.ts +0 -72
  361. package/dist/hooks/ralph-verifier/index.d.ts.map +0 -1
  362. package/dist/hooks/ralph-verifier/index.js +0 -223
  363. package/dist/hooks/ralph-verifier/index.js.map +0 -1
  364. package/dist/hooks/session-recovery/constants.d.ts +0 -56
  365. package/dist/hooks/session-recovery/constants.d.ts.map +0 -1
  366. package/dist/hooks/session-recovery/constants.js +0 -78
  367. package/dist/hooks/session-recovery/constants.js.map +0 -1
  368. package/dist/hooks/session-recovery/index.d.ts +0 -53
  369. package/dist/hooks/session-recovery/index.d.ts.map +0 -1
  370. package/dist/hooks/session-recovery/index.js +0 -321
  371. package/dist/hooks/session-recovery/index.js.map +0 -1
  372. package/dist/hooks/session-recovery/storage.d.ts +0 -76
  373. package/dist/hooks/session-recovery/storage.d.ts.map +0 -1
  374. package/dist/hooks/session-recovery/storage.js +0 -383
  375. package/dist/hooks/session-recovery/storage.js.map +0 -1
  376. package/dist/hooks/session-recovery/types.d.ts +0 -145
  377. package/dist/hooks/session-recovery/types.d.ts.map +0 -1
  378. package/dist/hooks/session-recovery/types.js +0 -8
  379. package/dist/hooks/session-recovery/types.js.map +0 -1
  380. package/dist/hooks/sisyphus-orchestrator/constants.d.ts +0 -23
  381. package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +0 -1
  382. package/dist/hooks/sisyphus-orchestrator/constants.js +0 -142
  383. package/dist/hooks/sisyphus-orchestrator/constants.js.map +0 -1
  384. package/dist/hooks/sisyphus-orchestrator/index.d.ts +0 -113
  385. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +0 -1
  386. package/dist/hooks/sisyphus-orchestrator/index.js +0 -309
  387. package/dist/hooks/sisyphus-orchestrator/index.js.map +0 -1
  388. package/dist/hooks/ultraqa-loop/index.d.ts +0 -94
  389. package/dist/hooks/ultraqa-loop/index.d.ts.map +0 -1
  390. package/dist/hooks/ultraqa-loop/index.js +0 -216
  391. package/dist/hooks/ultraqa-loop/index.js.map +0 -1
  392. package/dist/hooks/ultrawork-state/index.d.ts +0 -62
  393. package/dist/hooks/ultrawork-state/index.d.ts.map +0 -1
  394. package/dist/hooks/ultrawork-state/index.js +0 -208
  395. package/dist/hooks/ultrawork-state/index.js.map +0 -1
  396. package/dist/hud/sisyphus-state.d.ts +0 -31
  397. package/dist/hud/sisyphus-state.d.ts.map +0 -1
  398. package/dist/hud/sisyphus-state.js +0 -163
  399. package/dist/hud/sisyphus-state.js.map +0 -1
@@ -100,39 +100,96 @@ backend frontend database api-docs tests
100
100
 
101
101
  **Agent:** Architect (Opus)
102
102
 
103
+ **Method:** AI-Powered Task Decomposition
104
+
105
+ Ultrapilot uses the `decomposer` module to generate intelligent task breakdowns:
106
+
107
+ ```typescript
108
+ import {
109
+ generateDecompositionPrompt,
110
+ parseDecompositionResult,
111
+ validateFileOwnership,
112
+ extractSharedFiles
113
+ } from 'src/hooks/ultrapilot/decomposer';
114
+
115
+ // 1. Generate prompt for Architect
116
+ const prompt = generateDecompositionPrompt(task, codebaseContext, {
117
+ maxSubtasks: 5,
118
+ preferredModel: 'sonnet'
119
+ });
120
+
121
+ // 2. Call Architect agent
122
+ const response = await Task({
123
+ subagent_type: 'oh-my-claudecode:architect',
124
+ model: 'opus',
125
+ prompt
126
+ });
127
+
128
+ // 3. Parse structured result
129
+ const result = parseDecompositionResult(response);
130
+
131
+ // 4. Validate no file conflicts
132
+ const { isValid, conflicts } = validateFileOwnership(result.subtasks);
133
+
134
+ // 5. Extract shared files from subtasks
135
+ const finalResult = extractSharedFiles(result);
136
+ ```
137
+
103
138
  **Process:**
104
- 1. Analyze task requirements
105
- 2. Identify independent components
106
- 3. Define subtask boundaries
107
- 4. Specify file ownership for each
108
- 5. Identify shared files (handled last)
139
+ 1. Analyze task requirements via Architect agent
140
+ 2. Identify independent components with file boundaries
141
+ 3. Assign agent type (executor-low/executor/executor-high) per complexity
142
+ 4. Map dependencies between subtasks (blockedBy)
143
+ 5. Generate parallel execution groups
144
+ 6. Identify shared files (handled by coordinator)
109
145
 
110
- **Output:** `.omc/ultrapilot/decomposition.json`
146
+ **Output:** Structured `DecompositionResult`:
111
147
 
112
148
  ```json
113
149
  {
114
150
  "subtasks": [
115
151
  {
116
- "id": "worker-1",
152
+ "id": "1",
117
153
  "description": "Backend API routes",
118
- "files": ["src/api/**"],
119
- "dependencies": []
154
+ "files": ["src/api/routes.ts", "src/api/handlers.ts"],
155
+ "blockedBy": [],
156
+ "agentType": "executor",
157
+ "model": "sonnet"
120
158
  },
121
159
  {
122
- "id": "worker-2",
160
+ "id": "2",
123
161
  "description": "Frontend components",
124
- "files": ["src/ui/**"],
125
- "dependencies": []
162
+ "files": ["src/ui/App.tsx", "src/ui/TodoList.tsx"],
163
+ "blockedBy": [],
164
+ "agentType": "executor",
165
+ "model": "sonnet"
166
+ },
167
+ {
168
+ "id": "3",
169
+ "description": "Wire frontend to backend",
170
+ "files": ["src/client/api.ts"],
171
+ "blockedBy": ["1", "2"],
172
+ "agentType": "executor-low",
173
+ "model": "haiku"
126
174
  }
127
175
  ],
128
176
  "sharedFiles": [
129
177
  "package.json",
130
178
  "tsconfig.json",
131
179
  "README.md"
132
- ]
180
+ ],
181
+ "parallelGroups": [["1", "2"], ["3"]]
133
182
  }
134
183
  ```
135
184
 
185
+ **Decomposition Types:**
186
+
187
+ | Type | Description | Use Case |
188
+ |------|-------------|----------|
189
+ | `DecomposedTask` | Full task with id, files, blockedBy, agentType, model | Intelligent worker spawning |
190
+ | `DecompositionResult` | Complete result with subtasks, sharedFiles, parallelGroups | Full decomposition output |
191
+ | `toSimpleSubtasks()` | Convert to string[] for legacy compatibility | Simple task lists |
192
+
136
193
  ### Phase 2: File Ownership Partitioning
137
194
 
138
195
  **Goal:** Assign exclusive file sets to workers
@@ -547,6 +604,18 @@ Then run:
547
604
  /oh-my-claudecode:ultrapilot --custom-decomposition
548
605
  ```
549
606
 
607
+ ## STATE CLEANUP ON COMPLETION
608
+
609
+ **IMPORTANT: Delete state files on completion - do NOT just set `active: false`**
610
+
611
+ When all workers complete successfully:
612
+
613
+ ```bash
614
+ # Delete ultrapilot state files
615
+ rm -f .omc/state/ultrapilot-state.json
616
+ rm -f .omc/state/ultrapilot-ownership.json
617
+ ```
618
+
550
619
  ## Future Enhancements
551
620
 
552
621
  **Planned for v4.1:**
@@ -117,6 +117,19 @@ User can cancel with `/oh-my-claudecode:cancel` which clears the state file.
117
117
  4. **CLEAR OUTPUT** - User should always know current cycle and status
118
118
  5. **CLEAN UP** - Clear state file on completion or cancellation
119
119
 
120
+ ## STATE CLEANUP ON COMPLETION
121
+
122
+ **IMPORTANT: Delete state files on completion - do NOT just set `active: false`**
123
+
124
+ When goal is met OR max cycles reached OR exiting early:
125
+
126
+ ```bash
127
+ # Delete ultraqa state file
128
+ rm -f .omc/state/ultraqa-state.json
129
+ ```
130
+
131
+ This ensures clean state for future sessions. Stale state files with `active: false` should not be left behind.
132
+
120
133
  ---
121
134
 
122
135
  Begin ULTRAQA cycling now. Parse the goal and start cycle 1.
@@ -90,3 +90,17 @@ Before stopping, verify:
90
90
  - [ ] ERRORS: Zero unaddressed errors
91
91
 
92
92
  **If ANY checkbox is unchecked, CONTINUE WORKING.**
93
+
94
+ ## STATE CLEANUP ON COMPLETION
95
+
96
+ **IMPORTANT: Delete state files on completion - do NOT just set `active: false`**
97
+
98
+ When all verification passes and work is complete:
99
+
100
+ ```bash
101
+ # Delete ultrawork state files
102
+ rm -f .omc/state/ultrawork-state.json
103
+ rm -f ~/.claude/ultrawork-state.json
104
+ ```
105
+
106
+ This ensures clean state for future sessions. Stale state files with `active: false` should not be left behind.
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=analytics-summary.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics-summary.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/analytics/analytics-summary.test.ts"],"names":[],"mappings":""}
@@ -1,267 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
- import * as fs from 'fs/promises';
3
- import * as path from 'path';
4
- import { getSummaryPath, createEmptySummary, loadAnalyticsFast, rebuildAnalyticsSummary } from '../../analytics/analytics-summary.js';
5
- describe('AnalyticsSummary', () => {
6
- const testSessionId = 'test-session-1';
7
- const testDir = path.resolve(process.cwd(), '.omc/state');
8
- beforeEach(async () => {
9
- // Clean up test files before each test
10
- try {
11
- const summaryPath = path.resolve(process.cwd(), getSummaryPath(testSessionId));
12
- await fs.unlink(summaryPath);
13
- }
14
- catch {
15
- // File doesn't exist, that's fine
16
- }
17
- });
18
- afterEach(async () => {
19
- // Clean up test files after each test
20
- try {
21
- const summaryPath = path.resolve(process.cwd(), getSummaryPath(testSessionId));
22
- await fs.unlink(summaryPath);
23
- }
24
- catch {
25
- // File doesn't exist, that's fine
26
- }
27
- });
28
- describe('getSummaryPath', () => {
29
- it('should return correct path for session ID', () => {
30
- const path = getSummaryPath('test-session-123');
31
- expect(path).toBe('.omc/state/analytics-summary-test-session-123.json');
32
- });
33
- it('should handle different session IDs', () => {
34
- const path1 = getSummaryPath('session-1');
35
- const path2 = getSummaryPath('session-2');
36
- expect(path1).not.toBe(path2);
37
- });
38
- });
39
- describe('createEmptySummary', () => {
40
- it('should create empty summary with correct structure', () => {
41
- const summary = createEmptySummary(testSessionId);
42
- expect(summary.sessionId).toBe(testSessionId);
43
- expect(summary.lastUpdated).toBeDefined();
44
- expect(summary.lastLogOffset).toBe(0);
45
- expect(summary.totals).toEqual({
46
- inputTokens: 0,
47
- outputTokens: 0,
48
- cacheCreationTokens: 0,
49
- cacheReadTokens: 0,
50
- estimatedCost: 0
51
- });
52
- expect(summary.topAgents).toEqual([]);
53
- expect(summary.cacheHitRate).toBe(0);
54
- });
55
- it('should set valid ISO timestamp', () => {
56
- const summary = createEmptySummary(testSessionId);
57
- const timestamp = new Date(summary.lastUpdated);
58
- expect(timestamp).toBeInstanceOf(Date);
59
- expect(timestamp.getTime()).toBeGreaterThan(0);
60
- });
61
- });
62
- describe('loadAnalyticsFast', () => {
63
- it('should return null when no summary exists', async () => {
64
- const summary = await loadAnalyticsFast(testSessionId);
65
- expect(summary).toBeNull();
66
- });
67
- it('should load existing summary from cache', async () => {
68
- // Create a summary file
69
- const summaryPath = path.resolve(process.cwd(), getSummaryPath(testSessionId));
70
- const testSummary = {
71
- sessionId: testSessionId,
72
- lastUpdated: new Date().toISOString(),
73
- lastLogOffset: 5,
74
- totals: {
75
- inputTokens: 1000,
76
- outputTokens: 400,
77
- cacheCreationTokens: 500,
78
- cacheReadTokens: 2000,
79
- estimatedCost: 0.05
80
- },
81
- topAgents: [
82
- { agent: 'executor', cost: 0.03, tokens: 500 }
83
- ],
84
- cacheHitRate: 75.5
85
- };
86
- await fs.mkdir(path.dirname(summaryPath), { recursive: true });
87
- await fs.writeFile(summaryPath, JSON.stringify(testSummary, null, 2));
88
- const loaded = await loadAnalyticsFast(testSessionId);
89
- expect(loaded).toEqual(testSummary);
90
- });
91
- it('should handle corrupted summary file gracefully', async () => {
92
- const summaryPath = path.resolve(process.cwd(), getSummaryPath(testSessionId));
93
- await fs.mkdir(path.dirname(summaryPath), { recursive: true });
94
- await fs.writeFile(summaryPath, 'invalid json {');
95
- const result = await loadAnalyticsFast(testSessionId);
96
- // Should return null on parse error
97
- expect(result).toBeNull();
98
- });
99
- });
100
- describe('rebuildAnalyticsSummary', () => {
101
- it('should create summary for session with JSONL data', async () => {
102
- // Create test JSONL file with sample data
103
- const logPath = path.resolve(process.cwd(), '.omc/state/token-tracking.jsonl');
104
- const testRecords = [
105
- {
106
- timestamp: new Date().toISOString(),
107
- sessionId: testSessionId,
108
- modelName: 'claude-sonnet-4-5-20250929',
109
- inputTokens: 100,
110
- outputTokens: 40,
111
- cacheCreationTokens: 50,
112
- cacheReadTokens: 200,
113
- agentName: 'executor'
114
- },
115
- {
116
- timestamp: new Date().toISOString(),
117
- sessionId: testSessionId,
118
- modelName: 'claude-haiku-4-5-20251001',
119
- inputTokens: 200,
120
- outputTokens: 60,
121
- cacheCreationTokens: 100,
122
- cacheReadTokens: 400,
123
- agentName: 'architect'
124
- }
125
- ];
126
- await fs.mkdir(path.dirname(logPath), { recursive: true });
127
- const jsonl = testRecords.map(r => JSON.stringify(r)).join('\n');
128
- await fs.writeFile(logPath, jsonl);
129
- try {
130
- const summary = await rebuildAnalyticsSummary(testSessionId);
131
- expect(summary.sessionId).toBe(testSessionId);
132
- expect(summary.totals.inputTokens).toBe(300); // 100 + 200
133
- expect(summary.totals.outputTokens).toBe(100); // 40 + 60
134
- expect(summary.totals.cacheCreationTokens).toBe(150); // 50 + 100
135
- expect(summary.totals.cacheReadTokens).toBe(600); // 200 + 400
136
- expect(summary.topAgents.length).toBeGreaterThan(0);
137
- }
138
- finally {
139
- await fs.unlink(logPath).catch(() => { });
140
- }
141
- });
142
- it('should filter by session ID', async () => {
143
- // Create test JSONL with multiple sessions
144
- const logPath = path.resolve(process.cwd(), '.omc/state/token-tracking.jsonl');
145
- const records = [
146
- {
147
- timestamp: new Date().toISOString(),
148
- sessionId: testSessionId,
149
- modelName: 'claude-sonnet-4-5-20250929',
150
- inputTokens: 100,
151
- outputTokens: 40,
152
- cacheCreationTokens: 0,
153
- cacheReadTokens: 0
154
- },
155
- {
156
- timestamp: new Date().toISOString(),
157
- sessionId: 'other-session',
158
- modelName: 'claude-sonnet-4-5-20250929',
159
- inputTokens: 1000,
160
- outputTokens: 400,
161
- cacheCreationTokens: 0,
162
- cacheReadTokens: 0
163
- }
164
- ];
165
- await fs.mkdir(path.dirname(logPath), { recursive: true });
166
- const jsonl = records.map(r => JSON.stringify(r)).join('\n');
167
- await fs.writeFile(logPath, jsonl);
168
- try {
169
- const summary = await rebuildAnalyticsSummary(testSessionId);
170
- // Should only include test-session-1 data
171
- expect(summary.totals.inputTokens).toBe(100);
172
- expect(summary.totals.outputTokens).toBe(40);
173
- }
174
- finally {
175
- await fs.unlink(logPath).catch(() => { });
176
- }
177
- });
178
- it('should calculate cache hit rate correctly', async () => {
179
- const logPath = path.resolve(process.cwd(), '.omc/state/token-tracking.jsonl');
180
- const record = {
181
- timestamp: new Date().toISOString(),
182
- sessionId: testSessionId,
183
- modelName: 'claude-sonnet-4-5-20250929',
184
- inputTokens: 100,
185
- outputTokens: 40,
186
- cacheCreationTokens: 100,
187
- cacheReadTokens: 100
188
- };
189
- await fs.mkdir(path.dirname(logPath), { recursive: true });
190
- await fs.writeFile(logPath, JSON.stringify(record) + '\n');
191
- try {
192
- const summary = await rebuildAnalyticsSummary(testSessionId);
193
- // Cache hit rate = cacheReadTokens / (inputTokens + cacheCreationTokens) * 100
194
- // = 100 / (100 + 100) * 100 = 50%
195
- expect(summary.cacheHitRate).toBe(50);
196
- }
197
- finally {
198
- await fs.unlink(logPath).catch(() => { });
199
- }
200
- });
201
- it('should accumulate agent costs into topAgents', async () => {
202
- const logPath = path.resolve(process.cwd(), '.omc/state/token-tracking.jsonl');
203
- const records = [
204
- {
205
- timestamp: new Date().toISOString(),
206
- sessionId: testSessionId,
207
- modelName: 'claude-sonnet-4-5-20250929',
208
- inputTokens: 100,
209
- outputTokens: 40,
210
- cacheCreationTokens: 0,
211
- cacheReadTokens: 0,
212
- agentName: 'executor'
213
- },
214
- {
215
- timestamp: new Date().toISOString(),
216
- sessionId: testSessionId,
217
- modelName: 'claude-sonnet-4-5-20250929',
218
- inputTokens: 50,
219
- outputTokens: 20,
220
- cacheCreationTokens: 0,
221
- cacheReadTokens: 0,
222
- agentName: 'executor'
223
- }
224
- ];
225
- await fs.mkdir(path.dirname(logPath), { recursive: true });
226
- const jsonl = records.map(r => JSON.stringify(r)).join('\n');
227
- await fs.writeFile(logPath, jsonl);
228
- try {
229
- const summary = await rebuildAnalyticsSummary(testSessionId);
230
- // Should have executor in topAgents
231
- const executor = summary.topAgents.find(a => a.agent === 'executor');
232
- expect(executor).toBeDefined();
233
- expect(executor?.tokens).toBe(210); // (100 + 40) + (50 + 20)
234
- }
235
- finally {
236
- await fs.unlink(logPath).catch(() => { });
237
- }
238
- });
239
- it('should save summary to disk', async () => {
240
- const logPath = path.resolve(process.cwd(), '.omc/state/token-tracking.jsonl');
241
- const summaryPath = path.resolve(process.cwd(), getSummaryPath(testSessionId));
242
- const record = {
243
- timestamp: new Date().toISOString(),
244
- sessionId: testSessionId,
245
- modelName: 'claude-sonnet-4-5-20250929',
246
- inputTokens: 100,
247
- outputTokens: 40,
248
- cacheCreationTokens: 0,
249
- cacheReadTokens: 0
250
- };
251
- await fs.mkdir(path.dirname(logPath), { recursive: true });
252
- await fs.writeFile(logPath, JSON.stringify(record) + '\n');
253
- try {
254
- await rebuildAnalyticsSummary(testSessionId);
255
- // Summary should be saved
256
- const saved = await fs.readFile(summaryPath, 'utf-8');
257
- const parsed = JSON.parse(saved);
258
- expect(parsed.sessionId).toBe(testSessionId);
259
- expect(parsed.totals.inputTokens).toBe(100);
260
- }
261
- finally {
262
- await fs.unlink(logPath).catch(() => { });
263
- }
264
- });
265
- });
266
- });
267
- //# sourceMappingURL=analytics-summary.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics-summary.test.js","sourceRoot":"","sources":["../../../src/__tests__/analytics/analytics-summary.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cost-estimator.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost-estimator.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/analytics/cost-estimator.test.ts"],"names":[],"mappings":""}