@pennyfarthing/core 7.4.0 → 7.5.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 (369) hide show
  1. package/dist/cli/utils/files.d.ts +0 -1
  2. package/dist/cli/utils/files.js +73 -56
  3. package/dist/cli/utils/manifest.d.ts +0 -1
  4. package/dist/cli/utils/manifest.js +48 -45
  5. package/dist/cli/utils/version.d.ts +0 -1
  6. package/dist/cli/utils/version.js +38 -32
  7. package/dist/index.d.ts +0 -1
  8. package/dist/index.js +39 -11
  9. package/dist/permissions/index.d.ts +0 -1
  10. package/dist/permissions/index.js +7 -4
  11. package/dist/permissions/permission-schema.d.ts +0 -1
  12. package/dist/permissions/permission-schema.js +13 -9
  13. package/dist/scripts/job-fair-aggregator.d.ts +0 -1
  14. package/dist/scripts/job-fair-aggregator.js +484 -341
  15. package/dist/workflow/index.d.ts +0 -1
  16. package/dist/workflow/index.js +12 -5
  17. package/dist/workflow/workflow-loader.d.ts +0 -1
  18. package/dist/workflow/workflow-loader.js +40 -34
  19. package/dist/workflow/workflow-permissions.d.ts +0 -1
  20. package/dist/workflow/workflow-permissions.js +14 -8
  21. package/dist/workflow/workflow-router.d.ts +0 -1
  22. package/dist/workflow/workflow-router.js +70 -51
  23. package/dist/workflow/workflow-schema.d.ts +0 -1
  24. package/dist/workflow/workflow-schema.js +62 -59
  25. package/package.json +1 -1
  26. package/dist/bmad/context-reader.d.ts +0 -71
  27. package/dist/bmad/context-reader.d.ts.map +0 -1
  28. package/dist/bmad/context-reader.js +0 -369
  29. package/dist/bmad/context-reader.js.map +0 -1
  30. package/dist/bmad/context-reader.test.d.ts +0 -71
  31. package/dist/bmad/context-reader.test.d.ts.map +0 -1
  32. package/dist/bmad/context-reader.test.js +0 -878
  33. package/dist/bmad/context-reader.test.js.map +0 -1
  34. package/dist/bmad/epics-parser.d.ts +0 -61
  35. package/dist/bmad/epics-parser.d.ts.map +0 -1
  36. package/dist/bmad/epics-parser.js +0 -331
  37. package/dist/bmad/epics-parser.js.map +0 -1
  38. package/dist/bmad/epics-parser.test.d.ts +0 -7
  39. package/dist/bmad/epics-parser.test.d.ts.map +0 -1
  40. package/dist/bmad/epics-parser.test.js +0 -449
  41. package/dist/bmad/epics-parser.test.js.map +0 -1
  42. package/dist/bmad/index.d.ts +0 -11
  43. package/dist/bmad/index.d.ts.map +0 -1
  44. package/dist/bmad/index.js +0 -24
  45. package/dist/bmad/index.js.map +0 -1
  46. package/dist/bmad/status-sync.d.ts +0 -173
  47. package/dist/bmad/status-sync.d.ts.map +0 -1
  48. package/dist/bmad/status-sync.js +0 -463
  49. package/dist/bmad/status-sync.js.map +0 -1
  50. package/dist/bmad/status-sync.test.d.ts +0 -7
  51. package/dist/bmad/status-sync.test.d.ts.map +0 -1
  52. package/dist/bmad/status-sync.test.js +0 -702
  53. package/dist/bmad/status-sync.test.js.map +0 -1
  54. package/dist/bmad/story-exporter.d.ts +0 -55
  55. package/dist/bmad/story-exporter.d.ts.map +0 -1
  56. package/dist/bmad/story-exporter.js +0 -170
  57. package/dist/bmad/story-exporter.js.map +0 -1
  58. package/dist/bmad/story-exporter.test.d.ts +0 -51
  59. package/dist/bmad/story-exporter.test.d.ts.map +0 -1
  60. package/dist/bmad/story-exporter.test.js +0 -603
  61. package/dist/bmad/story-exporter.test.js.map +0 -1
  62. package/dist/bmad/story-parser.d.ts +0 -44
  63. package/dist/bmad/story-parser.d.ts.map +0 -1
  64. package/dist/bmad/story-parser.js +0 -307
  65. package/dist/bmad/story-parser.js.map +0 -1
  66. package/dist/bmad/story-parser.test.d.ts +0 -44
  67. package/dist/bmad/story-parser.test.d.ts.map +0 -1
  68. package/dist/bmad/story-parser.test.js +0 -693
  69. package/dist/bmad/story-parser.test.js.map +0 -1
  70. package/dist/cli/commands/command.d.ts +0 -28
  71. package/dist/cli/commands/command.d.ts.map +0 -1
  72. package/dist/cli/commands/command.js +0 -399
  73. package/dist/cli/commands/command.js.map +0 -1
  74. package/dist/cli/commands/cyclist.d.ts +0 -46
  75. package/dist/cli/commands/cyclist.d.ts.map +0 -1
  76. package/dist/cli/commands/cyclist.js +0 -196
  77. package/dist/cli/commands/cyclist.js.map +0 -1
  78. package/dist/cli/commands/cyclist.test.d.ts +0 -13
  79. package/dist/cli/commands/cyclist.test.d.ts.map +0 -1
  80. package/dist/cli/commands/cyclist.test.js +0 -245
  81. package/dist/cli/commands/cyclist.test.js.map +0 -1
  82. package/dist/cli/commands/doctor.d.ts +0 -9
  83. package/dist/cli/commands/doctor.d.ts.map +0 -1
  84. package/dist/cli/commands/doctor.js +0 -652
  85. package/dist/cli/commands/doctor.js.map +0 -1
  86. package/dist/cli/commands/init.d.ts +0 -8
  87. package/dist/cli/commands/init.d.ts.map +0 -1
  88. package/dist/cli/commands/init.js +0 -524
  89. package/dist/cli/commands/init.js.map +0 -1
  90. package/dist/cli/commands/skill.d.ts +0 -28
  91. package/dist/cli/commands/skill.d.ts.map +0 -1
  92. package/dist/cli/commands/skill.js +0 -416
  93. package/dist/cli/commands/skill.js.map +0 -1
  94. package/dist/cli/commands/theme.d.ts +0 -21
  95. package/dist/cli/commands/theme.d.ts.map +0 -1
  96. package/dist/cli/commands/theme.js +0 -201
  97. package/dist/cli/commands/theme.js.map +0 -1
  98. package/dist/cli/commands/uninstall.d.ts +0 -8
  99. package/dist/cli/commands/uninstall.d.ts.map +0 -1
  100. package/dist/cli/commands/uninstall.js +0 -237
  101. package/dist/cli/commands/uninstall.js.map +0 -1
  102. package/dist/cli/commands/update.d.ts +0 -9
  103. package/dist/cli/commands/update.d.ts.map +0 -1
  104. package/dist/cli/commands/update.js +0 -418
  105. package/dist/cli/commands/update.js.map +0 -1
  106. package/dist/cli/commands/version.d.ts +0 -2
  107. package/dist/cli/commands/version.d.ts.map +0 -1
  108. package/dist/cli/commands/version.js +0 -28
  109. package/dist/cli/commands/version.js.map +0 -1
  110. package/dist/cli/customization.test.d.ts +0 -12
  111. package/dist/cli/customization.test.d.ts.map +0 -1
  112. package/dist/cli/customization.test.js +0 -84
  113. package/dist/cli/customization.test.js.map +0 -1
  114. package/dist/cli/cyclist-migration.test.d.ts +0 -16
  115. package/dist/cli/cyclist-migration.test.d.ts.map +0 -1
  116. package/dist/cli/cyclist-migration.test.js +0 -225
  117. package/dist/cli/cyclist-migration.test.js.map +0 -1
  118. package/dist/cli/index.d.ts +0 -3
  119. package/dist/cli/index.d.ts.map +0 -1
  120. package/dist/cli/index.js +0 -174
  121. package/dist/cli/index.js.map +0 -1
  122. package/dist/cli/ocean-profiles.test.d.ts +0 -13
  123. package/dist/cli/ocean-profiles.test.d.ts.map +0 -1
  124. package/dist/cli/ocean-profiles.test.js +0 -134
  125. package/dist/cli/ocean-profiles.test.js.map +0 -1
  126. package/dist/cli/theme-maker.test.d.ts +0 -11
  127. package/dist/cli/theme-maker.test.d.ts.map +0 -1
  128. package/dist/cli/theme-maker.test.js +0 -356
  129. package/dist/cli/theme-maker.test.js.map +0 -1
  130. package/dist/cli/utils/constants.d.ts +0 -66
  131. package/dist/cli/utils/constants.d.ts.map +0 -1
  132. package/dist/cli/utils/constants.js +0 -54
  133. package/dist/cli/utils/constants.js.map +0 -1
  134. package/dist/cli/utils/files.d.ts.map +0 -1
  135. package/dist/cli/utils/files.js.map +0 -1
  136. package/dist/cli/utils/logger.d.ts +0 -26
  137. package/dist/cli/utils/logger.d.ts.map +0 -1
  138. package/dist/cli/utils/logger.js +0 -88
  139. package/dist/cli/utils/logger.js.map +0 -1
  140. package/dist/cli/utils/manifest.d.ts.map +0 -1
  141. package/dist/cli/utils/manifest.js.map +0 -1
  142. package/dist/cli/utils/node-modules.d.ts +0 -6
  143. package/dist/cli/utils/node-modules.d.ts.map +0 -1
  144. package/dist/cli/utils/node-modules.js +0 -31
  145. package/dist/cli/utils/node-modules.js.map +0 -1
  146. package/dist/cli/utils/prompts.d.ts +0 -34
  147. package/dist/cli/utils/prompts.d.ts.map +0 -1
  148. package/dist/cli/utils/prompts.js +0 -93
  149. package/dist/cli/utils/prompts.js.map +0 -1
  150. package/dist/cli/utils/symlinks.d.ts +0 -29
  151. package/dist/cli/utils/symlinks.d.ts.map +0 -1
  152. package/dist/cli/utils/symlinks.js +0 -181
  153. package/dist/cli/utils/symlinks.js.map +0 -1
  154. package/dist/cli/utils/themes.d.ts +0 -101
  155. package/dist/cli/utils/themes.d.ts.map +0 -1
  156. package/dist/cli/utils/themes.js +0 -373
  157. package/dist/cli/utils/themes.js.map +0 -1
  158. package/dist/cli/utils/themes.test.d.ts +0 -12
  159. package/dist/cli/utils/themes.test.d.ts.map +0 -1
  160. package/dist/cli/utils/themes.test.js +0 -147
  161. package/dist/cli/utils/themes.test.js.map +0 -1
  162. package/dist/cli/utils/version.d.ts.map +0 -1
  163. package/dist/cli/utils/version.js.map +0 -1
  164. package/dist/cli/workspace.test.d.ts +0 -8
  165. package/dist/cli/workspace.test.d.ts.map +0 -1
  166. package/dist/cli/workspace.test.js +0 -151
  167. package/dist/cli/workspace.test.js.map +0 -1
  168. package/dist/index.d.ts.map +0 -1
  169. package/dist/index.js.map +0 -1
  170. package/dist/jira/jira-epic-creation.d.ts +0 -109
  171. package/dist/jira/jira-epic-creation.d.ts.map +0 -1
  172. package/dist/jira/jira-epic-creation.js +0 -253
  173. package/dist/jira/jira-epic-creation.js.map +0 -1
  174. package/dist/jira/jira-epic-creation.test.d.ts +0 -16
  175. package/dist/jira/jira-epic-creation.test.d.ts.map +0 -1
  176. package/dist/jira/jira-epic-creation.test.js +0 -387
  177. package/dist/jira/jira-epic-creation.test.js.map +0 -1
  178. package/dist/jira/jira-sprint-sync.d.ts +0 -247
  179. package/dist/jira/jira-sprint-sync.d.ts.map +0 -1
  180. package/dist/jira/jira-sprint-sync.js +0 -670
  181. package/dist/jira/jira-sprint-sync.js.map +0 -1
  182. package/dist/jira/jira-sprint-sync.test.d.ts +0 -16
  183. package/dist/jira/jira-sprint-sync.test.d.ts.map +0 -1
  184. package/dist/jira/jira-sprint-sync.test.js +0 -845
  185. package/dist/jira/jira-sprint-sync.test.js.map +0 -1
  186. package/dist/permissions/index.d.ts.map +0 -1
  187. package/dist/permissions/index.js.map +0 -1
  188. package/dist/permissions/permission-schema.d.ts.map +0 -1
  189. package/dist/permissions/permission-schema.js.map +0 -1
  190. package/dist/permissions/permission-schema.test.d.ts +0 -40
  191. package/dist/permissions/permission-schema.test.d.ts.map +0 -1
  192. package/dist/permissions/permission-schema.test.js +0 -367
  193. package/dist/permissions/permission-schema.test.js.map +0 -1
  194. package/dist/scripts/add-ocean-profiles.d.ts +0 -9
  195. package/dist/scripts/add-ocean-profiles.d.ts.map +0 -1
  196. package/dist/scripts/add-ocean-profiles.js +0 -695
  197. package/dist/scripts/add-ocean-profiles.js.map +0 -1
  198. package/dist/scripts/benchmark-integration.d.ts +0 -182
  199. package/dist/scripts/benchmark-integration.d.ts.map +0 -1
  200. package/dist/scripts/benchmark-integration.js +0 -691
  201. package/dist/scripts/benchmark-integration.js.map +0 -1
  202. package/dist/scripts/benchmark-integration.test.d.ts +0 -13
  203. package/dist/scripts/benchmark-integration.test.d.ts.map +0 -1
  204. package/dist/scripts/benchmark-integration.test.js +0 -680
  205. package/dist/scripts/benchmark-integration.test.js.map +0 -1
  206. package/dist/scripts/debugging-scenarios.test.d.ts +0 -18
  207. package/dist/scripts/debugging-scenarios.test.d.ts.map +0 -1
  208. package/dist/scripts/debugging-scenarios.test.js +0 -317
  209. package/dist/scripts/debugging-scenarios.test.js.map +0 -1
  210. package/dist/scripts/generate-all-spiders.d.ts +0 -10
  211. package/dist/scripts/generate-all-spiders.d.ts.map +0 -1
  212. package/dist/scripts/generate-all-spiders.js +0 -306
  213. package/dist/scripts/generate-all-spiders.js.map +0 -1
  214. package/dist/scripts/generate-report.d.ts +0 -65
  215. package/dist/scripts/generate-report.d.ts.map +0 -1
  216. package/dist/scripts/generate-report.js +0 -378
  217. package/dist/scripts/generate-report.js.map +0 -1
  218. package/dist/scripts/generate-report.test.d.ts +0 -13
  219. package/dist/scripts/generate-report.test.d.ts.map +0 -1
  220. package/dist/scripts/generate-report.test.js +0 -363
  221. package/dist/scripts/generate-report.test.js.map +0 -1
  222. package/dist/scripts/generate-spider-report.d.ts +0 -65
  223. package/dist/scripts/generate-spider-report.d.ts.map +0 -1
  224. package/dist/scripts/generate-spider-report.js +0 -366
  225. package/dist/scripts/generate-spider-report.js.map +0 -1
  226. package/dist/scripts/generate-spider-report.test.d.ts +0 -13
  227. package/dist/scripts/generate-spider-report.test.d.ts.map +0 -1
  228. package/dist/scripts/generate-spider-report.test.js +0 -367
  229. package/dist/scripts/generate-spider-report.test.js.map +0 -1
  230. package/dist/scripts/generate-spider.d.ts +0 -47
  231. package/dist/scripts/generate-spider.d.ts.map +0 -1
  232. package/dist/scripts/generate-spider.js +0 -338
  233. package/dist/scripts/generate-spider.js.map +0 -1
  234. package/dist/scripts/generate-spider.test.d.ts +0 -14
  235. package/dist/scripts/generate-spider.test.d.ts.map +0 -1
  236. package/dist/scripts/generate-spider.test.js +0 -271
  237. package/dist/scripts/generate-spider.test.js.map +0 -1
  238. package/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
  239. package/dist/scripts/job-fair-aggregator.js.map +0 -1
  240. package/dist/scripts/job-fair-aggregator.test.d.ts +0 -14
  241. package/dist/scripts/job-fair-aggregator.test.d.ts.map +0 -1
  242. package/dist/scripts/job-fair-aggregator.test.js +0 -616
  243. package/dist/scripts/job-fair-aggregator.test.js.map +0 -1
  244. package/dist/scripts/run-ci.test.d.ts +0 -20
  245. package/dist/scripts/run-ci.test.d.ts.map +0 -1
  246. package/dist/scripts/run-ci.test.js +0 -127
  247. package/dist/scripts/run-ci.test.js.map +0 -1
  248. package/dist/scripts/theme-detail.test.d.ts +0 -10
  249. package/dist/scripts/theme-detail.test.d.ts.map +0 -1
  250. package/dist/scripts/theme-detail.test.js +0 -199
  251. package/dist/scripts/theme-detail.test.js.map +0 -1
  252. package/dist/scripts/validate-ocean-profiles.d.ts +0 -9
  253. package/dist/scripts/validate-ocean-profiles.d.ts.map +0 -1
  254. package/dist/scripts/validate-ocean-profiles.js +0 -130
  255. package/dist/scripts/validate-ocean-profiles.js.map +0 -1
  256. package/dist/workflow/gate-handler.d.ts +0 -94
  257. package/dist/workflow/gate-handler.d.ts.map +0 -1
  258. package/dist/workflow/gate-handler.js +0 -189
  259. package/dist/workflow/gate-handler.js.map +0 -1
  260. package/dist/workflow/gate-handler.test.d.ts +0 -14
  261. package/dist/workflow/gate-handler.test.d.ts.map +0 -1
  262. package/dist/workflow/gate-handler.test.js +0 -543
  263. package/dist/workflow/gate-handler.test.js.map +0 -1
  264. package/dist/workflow/generic-handoff.d.ts +0 -281
  265. package/dist/workflow/generic-handoff.d.ts.map +0 -1
  266. package/dist/workflow/generic-handoff.js +0 -411
  267. package/dist/workflow/generic-handoff.js.map +0 -1
  268. package/dist/workflow/generic-handoff.test.d.ts +0 -21
  269. package/dist/workflow/generic-handoff.test.d.ts.map +0 -1
  270. package/dist/workflow/generic-handoff.test.js +0 -499
  271. package/dist/workflow/generic-handoff.test.js.map +0 -1
  272. package/dist/workflow/generic-sm-finish.d.ts +0 -89
  273. package/dist/workflow/generic-sm-finish.d.ts.map +0 -1
  274. package/dist/workflow/generic-sm-finish.js +0 -157
  275. package/dist/workflow/generic-sm-finish.js.map +0 -1
  276. package/dist/workflow/generic-sm-setup.d.ts +0 -138
  277. package/dist/workflow/generic-sm-setup.d.ts.map +0 -1
  278. package/dist/workflow/generic-sm-setup.js +0 -382
  279. package/dist/workflow/generic-sm-setup.js.map +0 -1
  280. package/dist/workflow/index.d.ts.map +0 -1
  281. package/dist/workflow/index.js.map +0 -1
  282. package/dist/workflow/session-state.d.ts +0 -92
  283. package/dist/workflow/session-state.d.ts.map +0 -1
  284. package/dist/workflow/session-state.js +0 -198
  285. package/dist/workflow/session-state.js.map +0 -1
  286. package/dist/workflow/session-state.test.d.ts +0 -8
  287. package/dist/workflow/session-state.test.d.ts.map +0 -1
  288. package/dist/workflow/session-state.test.js +0 -551
  289. package/dist/workflow/session-state.test.js.map +0 -1
  290. package/dist/workflow/sm-subagents.test.d.ts +0 -23
  291. package/dist/workflow/sm-subagents.test.d.ts.map +0 -1
  292. package/dist/workflow/sm-subagents.test.js +0 -727
  293. package/dist/workflow/sm-subagents.test.js.map +0 -1
  294. package/dist/workflow/step-parser.d.ts +0 -45
  295. package/dist/workflow/step-parser.d.ts.map +0 -1
  296. package/dist/workflow/step-parser.js +0 -147
  297. package/dist/workflow/step-parser.js.map +0 -1
  298. package/dist/workflow/step-parser.test.d.ts +0 -14
  299. package/dist/workflow/step-parser.test.d.ts.map +0 -1
  300. package/dist/workflow/step-parser.test.js +0 -470
  301. package/dist/workflow/step-parser.test.js.map +0 -1
  302. package/dist/workflow/story-workflow-routing.test.d.ts +0 -17
  303. package/dist/workflow/story-workflow-routing.test.d.ts.map +0 -1
  304. package/dist/workflow/story-workflow-routing.test.js +0 -559
  305. package/dist/workflow/story-workflow-routing.test.js.map +0 -1
  306. package/dist/workflow/test-cache.d.ts +0 -131
  307. package/dist/workflow/test-cache.d.ts.map +0 -1
  308. package/dist/workflow/test-cache.js +0 -226
  309. package/dist/workflow/test-cache.js.map +0 -1
  310. package/dist/workflow/test-cache.test.d.ts +0 -17
  311. package/dist/workflow/test-cache.test.d.ts.map +0 -1
  312. package/dist/workflow/test-cache.test.js +0 -438
  313. package/dist/workflow/test-cache.test.js.map +0 -1
  314. package/dist/workflow/trimodal.d.ts +0 -86
  315. package/dist/workflow/trimodal.d.ts.map +0 -1
  316. package/dist/workflow/trimodal.js +0 -118
  317. package/dist/workflow/trimodal.js.map +0 -1
  318. package/dist/workflow/trimodal.test.d.ts +0 -11
  319. package/dist/workflow/trimodal.test.d.ts.map +0 -1
  320. package/dist/workflow/trimodal.test.js +0 -395
  321. package/dist/workflow/trimodal.test.js.map +0 -1
  322. package/dist/workflow/variable-resolver.d.ts +0 -67
  323. package/dist/workflow/variable-resolver.d.ts.map +0 -1
  324. package/dist/workflow/variable-resolver.js +0 -156
  325. package/dist/workflow/variable-resolver.js.map +0 -1
  326. package/dist/workflow/variable-resolver.test.d.ts +0 -14
  327. package/dist/workflow/variable-resolver.test.d.ts.map +0 -1
  328. package/dist/workflow/variable-resolver.test.js +0 -400
  329. package/dist/workflow/variable-resolver.test.js.map +0 -1
  330. package/dist/workflow/workflow-executor.d.ts +0 -163
  331. package/dist/workflow/workflow-executor.d.ts.map +0 -1
  332. package/dist/workflow/workflow-executor.js +0 -197
  333. package/dist/workflow/workflow-executor.js.map +0 -1
  334. package/dist/workflow/workflow-executor.test.d.ts +0 -8
  335. package/dist/workflow/workflow-executor.test.d.ts.map +0 -1
  336. package/dist/workflow/workflow-executor.test.js +0 -444
  337. package/dist/workflow/workflow-executor.test.js.map +0 -1
  338. package/dist/workflow/workflow-loader.d.ts.map +0 -1
  339. package/dist/workflow/workflow-loader.js.map +0 -1
  340. package/dist/workflow/workflow-loader.test.d.ts +0 -15
  341. package/dist/workflow/workflow-loader.test.d.ts.map +0 -1
  342. package/dist/workflow/workflow-loader.test.js +0 -354
  343. package/dist/workflow/workflow-loader.test.js.map +0 -1
  344. package/dist/workflow/workflow-migration.test.d.ts +0 -17
  345. package/dist/workflow/workflow-migration.test.d.ts.map +0 -1
  346. package/dist/workflow/workflow-migration.test.js +0 -371
  347. package/dist/workflow/workflow-migration.test.js.map +0 -1
  348. package/dist/workflow/workflow-permissions.d.ts.map +0 -1
  349. package/dist/workflow/workflow-permissions.js.map +0 -1
  350. package/dist/workflow/workflow-permissions.test.d.ts +0 -15
  351. package/dist/workflow/workflow-permissions.test.d.ts.map +0 -1
  352. package/dist/workflow/workflow-permissions.test.js +0 -301
  353. package/dist/workflow/workflow-permissions.test.js.map +0 -1
  354. package/dist/workflow/workflow-router.d.ts.map +0 -1
  355. package/dist/workflow/workflow-router.js.map +0 -1
  356. package/dist/workflow/workflow-router.test.d.ts +0 -20
  357. package/dist/workflow/workflow-router.test.d.ts.map +0 -1
  358. package/dist/workflow/workflow-router.test.js +0 -607
  359. package/dist/workflow/workflow-router.test.js.map +0 -1
  360. package/dist/workflow/workflow-schema.d.ts.map +0 -1
  361. package/dist/workflow/workflow-schema.js.map +0 -1
  362. package/dist/workflow/workflow-schema.test.d.ts +0 -45
  363. package/dist/workflow/workflow-schema.test.d.ts.map +0 -1
  364. package/dist/workflow/workflow-schema.test.js +0 -512
  365. package/dist/workflow/workflow-schema.test.js.map +0 -1
  366. package/dist/workflow/workflow-stepped-schema.test.d.ts +0 -18
  367. package/dist/workflow/workflow-stepped-schema.test.d.ts.map +0 -1
  368. package/dist/workflow/workflow-stepped-schema.test.js +0 -608
  369. package/dist/workflow/workflow-stepped-schema.test.js.map +0 -1
@@ -1,551 +0,0 @@
1
- /**
2
- * Session State Tests for MSSCI-12082
3
- *
4
- * Tests for session file stepped workflow state tracking.
5
- * Covers all 4 acceptance criteria plus edge cases.
6
- */
7
- import { describe, it } from 'node:test';
8
- import assert from 'node:assert';
9
- import { initWorkflowState, updateWorkflowState, parseSessionState, updateSessionContent, formatWorkflowState, } from './session-state.js';
10
- // =============================================================================
11
- // AC1: Session file has Workflow State section
12
- // =============================================================================
13
- describe('MSSCI-12082: Session State', () => {
14
- describe('AC1: Session file has Workflow State section', () => {
15
- it('should parse Workflow State section from session file', () => {
16
- const content = `# Story MSSCI-12082: Test Story
17
-
18
- ## Story Overview
19
- - **Epic:** Test Epic
20
- - **Points:** 2
21
-
22
- ## Workflow State
23
- - **Workflow Name:** architecture
24
- - **Type:** stepped
25
- - **Mode:** create
26
- - **Started:** 2026-01-20T10:00:00.000Z
27
- - **Last Updated:** 2026-01-20T11:30:00.000Z
28
- - **Current Step:** 3
29
- - **Steps Completed:** [1, 2]
30
- - **Status:** in_progress
31
-
32
- ## Acceptance Criteria
33
- - [ ] AC1: Test
34
- `;
35
- const result = parseSessionState(content);
36
- assert.strictEqual(result.success, true);
37
- assert.ok(result.state);
38
- assert.strictEqual(result.state.name, 'architecture');
39
- assert.strictEqual(result.state.type, 'stepped');
40
- assert.strictEqual(result.state.mode, 'create');
41
- assert.strictEqual(result.state.currentStep, 3);
42
- assert.deepStrictEqual(result.state.stepsCompleted, [1, 2]);
43
- assert.strictEqual(result.state.status, 'in_progress');
44
- });
45
- it('should extract workflow name correctly', () => {
46
- const content = `## Workflow State
47
- - **Workflow Name:** planning-workflow
48
- - **Type:** stepped
49
- - **Started:** 2026-01-20T10:00:00.000Z
50
- - **Last Updated:** 2026-01-20T10:00:00.000Z
51
- - **Current Step:** 1
52
- - **Steps Completed:** []
53
- - **Status:** in_progress
54
- `;
55
- const result = parseSessionState(content);
56
- assert.strictEqual(result.success, true);
57
- assert.strictEqual(result.state?.name, 'planning-workflow');
58
- });
59
- it('should extract type as stepped or phased', () => {
60
- const steppedContent = `## Workflow State
61
- - **Workflow Name:** test
62
- - **Type:** stepped
63
- - **Started:** 2026-01-20T10:00:00.000Z
64
- - **Last Updated:** 2026-01-20T10:00:00.000Z
65
- - **Current Step:** 1
66
- - **Steps Completed:** []
67
- - **Status:** in_progress
68
- `;
69
- const phasedContent = `## Workflow State
70
- - **Workflow Name:** test
71
- - **Type:** phased
72
- - **Started:** 2026-01-20T10:00:00.000Z
73
- - **Last Updated:** 2026-01-20T10:00:00.000Z
74
- - **Current Step:** 1
75
- - **Steps Completed:** []
76
- - **Status:** in_progress
77
- `;
78
- const steppedResult = parseSessionState(steppedContent);
79
- const phasedResult = parseSessionState(phasedContent);
80
- assert.strictEqual(steppedResult.state?.type, 'stepped');
81
- assert.strictEqual(phasedResult.state?.type, 'phased');
82
- });
83
- it('should extract optional mode field (create/validate/edit)', () => {
84
- const createContent = `## Workflow State
85
- - **Workflow Name:** test
86
- - **Type:** stepped
87
- - **Mode:** create
88
- - **Started:** 2026-01-20T10:00:00.000Z
89
- - **Last Updated:** 2026-01-20T10:00:00.000Z
90
- - **Current Step:** 1
91
- - **Steps Completed:** []
92
- - **Status:** in_progress
93
- `;
94
- const validateContent = `## Workflow State
95
- - **Workflow Name:** test
96
- - **Type:** stepped
97
- - **Mode:** validate
98
- - **Started:** 2026-01-20T10:00:00.000Z
99
- - **Last Updated:** 2026-01-20T10:00:00.000Z
100
- - **Current Step:** 1
101
- - **Steps Completed:** []
102
- - **Status:** in_progress
103
- `;
104
- const editContent = `## Workflow State
105
- - **Workflow Name:** test
106
- - **Type:** stepped
107
- - **Mode:** edit
108
- - **Started:** 2026-01-20T10:00:00.000Z
109
- - **Last Updated:** 2026-01-20T10:00:00.000Z
110
- - **Current Step:** 1
111
- - **Steps Completed:** []
112
- - **Status:** in_progress
113
- `;
114
- assert.strictEqual(parseSessionState(createContent).state?.mode, 'create');
115
- assert.strictEqual(parseSessionState(validateContent).state?.mode, 'validate');
116
- assert.strictEqual(parseSessionState(editContent).state?.mode, 'edit');
117
- });
118
- it('should extract timestamps in ISO format', () => {
119
- const content = `## Workflow State
120
- - **Workflow Name:** test
121
- - **Type:** stepped
122
- - **Started:** 2026-01-20T10:30:45.123Z
123
- - **Last Updated:** 2026-01-20T14:22:33.456Z
124
- - **Current Step:** 1
125
- - **Steps Completed:** []
126
- - **Status:** in_progress
127
- `;
128
- const result = parseSessionState(content);
129
- assert.strictEqual(result.state?.started, '2026-01-20T10:30:45.123Z');
130
- assert.strictEqual(result.state?.lastUpdated, '2026-01-20T14:22:33.456Z');
131
- });
132
- it('should handle notes field if present', () => {
133
- const content = `## Workflow State
134
- - **Workflow Name:** test
135
- - **Type:** stepped
136
- - **Started:** 2026-01-20T10:00:00.000Z
137
- - **Last Updated:** 2026-01-20T10:00:00.000Z
138
- - **Current Step:** 2
139
- - **Steps Completed:** [1]
140
- - **Status:** paused
141
- - **Notes:** Waiting for user input at gate
142
-
143
- ## Next Section
144
- `;
145
- const result = parseSessionState(content);
146
- assert.strictEqual(result.state?.notes, 'Waiting for user input at gate');
147
- });
148
- });
149
- // =============================================================================
150
- // AC2: State tracks current step and completed steps
151
- // =============================================================================
152
- describe('AC2: State tracks current step and completed steps', () => {
153
- it('should initialize state at step 1 with empty completed array', () => {
154
- const state = initWorkflowState('architecture', 'stepped', 'create');
155
- assert.strictEqual(state.name, 'architecture');
156
- assert.strictEqual(state.type, 'stepped');
157
- assert.strictEqual(state.mode, 'create');
158
- assert.strictEqual(state.currentStep, 1);
159
- assert.deepStrictEqual(state.stepsCompleted, []);
160
- assert.strictEqual(state.status, 'in_progress');
161
- });
162
- it('should initialize state without mode for phased workflows', () => {
163
- const state = initWorkflowState('tdd-workflow', 'phased');
164
- assert.strictEqual(state.name, 'tdd-workflow');
165
- assert.strictEqual(state.type, 'phased');
166
- assert.strictEqual(state.mode, undefined);
167
- });
168
- it('should update state from step 1 to step 2', () => {
169
- const initial = initWorkflowState('test', 'stepped');
170
- const updated = updateWorkflowState(initial, 1); // completed step 1
171
- assert.strictEqual(updated.currentStep, 2);
172
- assert.deepStrictEqual(updated.stepsCompleted, [1]);
173
- });
174
- it('should update state from step 2 to step 3', () => {
175
- const state = {
176
- name: 'test',
177
- type: 'stepped',
178
- started: '2026-01-20T10:00:00.000Z',
179
- lastUpdated: '2026-01-20T10:00:00.000Z',
180
- currentStep: 2,
181
- stepsCompleted: [1],
182
- status: 'in_progress',
183
- };
184
- const updated = updateWorkflowState(state, 2);
185
- assert.strictEqual(updated.currentStep, 3);
186
- assert.deepStrictEqual(updated.stepsCompleted, [1, 2]);
187
- });
188
- it('should accumulate completed steps in order', () => {
189
- let state = initWorkflowState('test', 'stepped');
190
- state = updateWorkflowState(state, 1);
191
- assert.deepStrictEqual(state.stepsCompleted, [1]);
192
- state = updateWorkflowState(state, 2);
193
- assert.deepStrictEqual(state.stepsCompleted, [1, 2]);
194
- state = updateWorkflowState(state, 3);
195
- assert.deepStrictEqual(state.stepsCompleted, [1, 2, 3]);
196
- state = updateWorkflowState(state, 4);
197
- assert.deepStrictEqual(state.stepsCompleted, [1, 2, 3, 4]);
198
- });
199
- it('should allow jumping to specific next step', () => {
200
- const state = initWorkflowState('test', 'stepped');
201
- const updated = updateWorkflowState(state, 1, 5); // skip to step 5
202
- assert.strictEqual(updated.currentStep, 5);
203
- assert.deepStrictEqual(updated.stepsCompleted, [1]);
204
- });
205
- it('should update lastUpdated timestamp on state change', () => {
206
- const state = initWorkflowState('test', 'stepped');
207
- const _originalLastUpdated = state.lastUpdated;
208
- // Small delay to ensure timestamp changes
209
- const updated = updateWorkflowState(state, 1);
210
- // lastUpdated should be different (or at least not throw)
211
- assert.ok(updated.lastUpdated);
212
- assert.strictEqual(typeof updated.lastUpdated, 'string');
213
- });
214
- it('should preserve started timestamp on updates', () => {
215
- const state = {
216
- name: 'test',
217
- type: 'stepped',
218
- started: '2026-01-15T09:00:00.000Z',
219
- lastUpdated: '2026-01-15T09:00:00.000Z',
220
- currentStep: 1,
221
- stepsCompleted: [],
222
- status: 'in_progress',
223
- };
224
- const updated = updateWorkflowState(state, 1);
225
- assert.strictEqual(updated.started, '2026-01-15T09:00:00.000Z');
226
- });
227
- });
228
- // =============================================================================
229
- // AC3: State persists across session reloads
230
- // =============================================================================
231
- describe('AC3: State persists across session reloads', () => {
232
- it('should format state as markdown section', () => {
233
- const state = {
234
- name: 'architecture',
235
- type: 'stepped',
236
- mode: 'create',
237
- started: '2026-01-20T10:00:00.000Z',
238
- lastUpdated: '2026-01-20T11:30:00.000Z',
239
- currentStep: 3,
240
- stepsCompleted: [1, 2],
241
- status: 'in_progress',
242
- };
243
- const formatted = formatWorkflowState(state);
244
- assert.ok(formatted.includes('## Workflow State'));
245
- assert.ok(formatted.includes('**Workflow Name:** architecture'));
246
- assert.ok(formatted.includes('**Type:** stepped'));
247
- assert.ok(formatted.includes('**Mode:** create'));
248
- assert.ok(formatted.includes('**Current Step:** 3'));
249
- assert.ok(formatted.includes('**Steps Completed:** [1, 2]'));
250
- });
251
- it('should write state to session file content', () => {
252
- const originalContent = `# Story Test
253
-
254
- ## Story Overview
255
- - **Epic:** Test
256
-
257
- ## Acceptance Criteria
258
- - [ ] AC1
259
- `;
260
- const state = {
261
- name: 'test-workflow',
262
- type: 'stepped',
263
- started: '2026-01-20T10:00:00.000Z',
264
- lastUpdated: '2026-01-20T10:00:00.000Z',
265
- currentStep: 1,
266
- stepsCompleted: [],
267
- status: 'in_progress',
268
- };
269
- const result = updateSessionContent(originalContent, state);
270
- assert.strictEqual(result.success, true);
271
- assert.ok(result.content?.includes('## Workflow State'));
272
- assert.ok(result.content?.includes('**Workflow Name:** test-workflow'));
273
- });
274
- it('should read back written state unchanged', () => {
275
- const originalState = {
276
- name: 'architecture',
277
- type: 'stepped',
278
- mode: 'validate',
279
- started: '2026-01-20T10:00:00.000Z',
280
- lastUpdated: '2026-01-20T12:00:00.000Z',
281
- currentStep: 5,
282
- stepsCompleted: [1, 2, 3, 4],
283
- status: 'in_progress',
284
- };
285
- const sessionContent = `# Story Test
286
-
287
- ## Workflow State
288
- - **Workflow Name:** architecture
289
- - **Type:** stepped
290
- - **Mode:** validate
291
- - **Started:** 2026-01-20T10:00:00.000Z
292
- - **Last Updated:** 2026-01-20T12:00:00.000Z
293
- - **Current Step:** 5
294
- - **Steps Completed:** [1, 2, 3, 4]
295
- - **Status:** in_progress
296
- `;
297
- // Write then read back
298
- const writeResult = updateSessionContent(sessionContent, originalState);
299
- assert.strictEqual(writeResult.success, true);
300
- const readResult = parseSessionState(writeResult.content);
301
- assert.strictEqual(readResult.success, true);
302
- // Verify all fields match
303
- assert.strictEqual(readResult.state?.name, originalState.name);
304
- assert.strictEqual(readResult.state?.type, originalState.type);
305
- assert.strictEqual(readResult.state?.mode, originalState.mode);
306
- assert.strictEqual(readResult.state?.started, originalState.started);
307
- assert.strictEqual(readResult.state?.currentStep, originalState.currentStep);
308
- assert.deepStrictEqual(readResult.state?.stepsCompleted, originalState.stepsCompleted);
309
- assert.strictEqual(readResult.state?.status, originalState.status);
310
- });
311
- it('should handle multi-step workflow state persistence', () => {
312
- const state = {
313
- name: 'comprehensive-workflow',
314
- type: 'stepped',
315
- mode: 'create',
316
- started: '2026-01-15T08:00:00.000Z',
317
- lastUpdated: '2026-01-20T16:45:30.123Z',
318
- currentStep: 10,
319
- stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9],
320
- status: 'in_progress',
321
- notes: 'Almost complete',
322
- };
323
- const formatted = formatWorkflowState(state);
324
- const parsed = parseSessionState(formatted);
325
- assert.strictEqual(parsed.success, true);
326
- assert.deepStrictEqual(parsed.state?.stepsCompleted, [1, 2, 3, 4, 5, 6, 7, 8, 9]);
327
- assert.strictEqual(parsed.state?.currentStep, 10);
328
- });
329
- it('should update existing Workflow State section', () => {
330
- const existingContent = `# Story Test
331
-
332
- ## Story Overview
333
- - **Epic:** Test
334
-
335
- ## Workflow State
336
- - **Workflow Name:** old-workflow
337
- - **Type:** stepped
338
- - **Started:** 2026-01-19T10:00:00.000Z
339
- - **Last Updated:** 2026-01-19T10:00:00.000Z
340
- - **Current Step:** 1
341
- - **Steps Completed:** []
342
- - **Status:** in_progress
343
-
344
- ## Acceptance Criteria
345
- - [ ] AC1
346
- `;
347
- const newState = {
348
- name: 'old-workflow',
349
- type: 'stepped',
350
- started: '2026-01-19T10:00:00.000Z',
351
- lastUpdated: '2026-01-20T15:00:00.000Z',
352
- currentStep: 3,
353
- stepsCompleted: [1, 2],
354
- status: 'in_progress',
355
- };
356
- const result = updateSessionContent(existingContent, newState);
357
- assert.strictEqual(result.success, true);
358
- assert.ok(result.content?.includes('**Current Step:** 3'));
359
- assert.ok(result.content?.includes('**Steps Completed:** [1, 2]'));
360
- // Should still have other sections
361
- assert.ok(result.content?.includes('## Story Overview'));
362
- assert.ok(result.content?.includes('## Acceptance Criteria'));
363
- });
364
- });
365
- // =============================================================================
366
- // AC4: Reader/writer handles missing state gracefully
367
- // =============================================================================
368
- describe('AC4: Reader/writer handles missing state gracefully', () => {
369
- it('should return success with undefined state for missing section', () => {
370
- const content = `# Story Test
371
-
372
- ## Story Overview
373
- - **Epic:** Test
374
-
375
- ## Acceptance Criteria
376
- - [ ] AC1
377
- `;
378
- const result = parseSessionState(content);
379
- assert.strictEqual(result.success, true);
380
- assert.strictEqual(result.state, undefined);
381
- });
382
- it('should insert Workflow State section when missing', () => {
383
- const content = `# Story Test
384
-
385
- ## Story Overview
386
- - **Epic:** Test
387
-
388
- ## Acceptance Criteria
389
- - [ ] AC1
390
- `;
391
- const state = {
392
- name: 'new-workflow',
393
- type: 'stepped',
394
- started: '2026-01-20T10:00:00.000Z',
395
- lastUpdated: '2026-01-20T10:00:00.000Z',
396
- currentStep: 1,
397
- stepsCompleted: [],
398
- status: 'in_progress',
399
- };
400
- const result = updateSessionContent(content, state);
401
- assert.strictEqual(result.success, true);
402
- assert.ok(result.content?.includes('## Workflow State'));
403
- assert.ok(result.content?.includes('**Workflow Name:** new-workflow'));
404
- });
405
- it('should handle empty session file', () => {
406
- const content = '';
407
- const result = parseSessionState(content);
408
- assert.strictEqual(result.success, true);
409
- assert.strictEqual(result.state, undefined);
410
- });
411
- it('should handle session file with only header', () => {
412
- const content = '# Story Test\n';
413
- const result = parseSessionState(content);
414
- assert.strictEqual(result.success, true);
415
- assert.strictEqual(result.state, undefined);
416
- });
417
- it('should use default values for missing optional fields', () => {
418
- const content = `## Workflow State
419
- - **Workflow Name:** test
420
- - **Type:** stepped
421
- - **Started:** 2026-01-20T10:00:00.000Z
422
- - **Last Updated:** 2026-01-20T10:00:00.000Z
423
- - **Current Step:** 1
424
- - **Steps Completed:** []
425
- - **Status:** in_progress
426
- `;
427
- const result = parseSessionState(content);
428
- assert.strictEqual(result.success, true);
429
- assert.strictEqual(result.state?.mode, undefined);
430
- assert.strictEqual(result.state?.notes, undefined);
431
- });
432
- });
433
- // =============================================================================
434
- // Edge Cases
435
- // =============================================================================
436
- describe('Edge Cases', () => {
437
- it('should handle empty stepsCompleted array', () => {
438
- const content = `## Workflow State
439
- - **Workflow Name:** test
440
- - **Type:** stepped
441
- - **Started:** 2026-01-20T10:00:00.000Z
442
- - **Last Updated:** 2026-01-20T10:00:00.000Z
443
- - **Current Step:** 1
444
- - **Steps Completed:** []
445
- - **Status:** in_progress
446
- `;
447
- const result = parseSessionState(content);
448
- assert.strictEqual(result.success, true);
449
- assert.deepStrictEqual(result.state?.stepsCompleted, []);
450
- });
451
- it('should handle completed workflow status', () => {
452
- const content = `## Workflow State
453
- - **Workflow Name:** test
454
- - **Type:** stepped
455
- - **Started:** 2026-01-20T10:00:00.000Z
456
- - **Last Updated:** 2026-01-20T12:00:00.000Z
457
- - **Current Step:** 5
458
- - **Steps Completed:** [1, 2, 3, 4, 5]
459
- - **Status:** completed
460
- `;
461
- const result = parseSessionState(content);
462
- assert.strictEqual(result.state?.status, 'completed');
463
- });
464
- it('should handle paused workflow status', () => {
465
- const content = `## Workflow State
466
- - **Workflow Name:** test
467
- - **Type:** stepped
468
- - **Started:** 2026-01-20T10:00:00.000Z
469
- - **Last Updated:** 2026-01-20T11:00:00.000Z
470
- - **Current Step:** 2
471
- - **Steps Completed:** [1]
472
- - **Status:** paused
473
- `;
474
- const result = parseSessionState(content);
475
- assert.strictEqual(result.state?.status, 'paused');
476
- });
477
- it('should handle malformed stepsCompleted gracefully', () => {
478
- const content = `## Workflow State
479
- - **Workflow Name:** test
480
- - **Type:** stepped
481
- - **Started:** 2026-01-20T10:00:00.000Z
482
- - **Last Updated:** 2026-01-20T10:00:00.000Z
483
- - **Current Step:** 1
484
- - **Steps Completed:** not-an-array
485
- - **Status:** in_progress
486
- `;
487
- // Should either parse as empty array or return error - implementation choice
488
- const result = parseSessionState(content);
489
- // At minimum, should not throw
490
- assert.ok(result);
491
- });
492
- it('should handle section with extra whitespace', () => {
493
- const content = `## Workflow State
494
-
495
- - **Workflow Name:** architecture
496
- - **Type:** stepped
497
- - **Started:** 2026-01-20T10:00:00.000Z
498
- - **Last Updated:** 2026-01-20T10:00:00.000Z
499
- - **Current Step:** 2
500
- - **Steps Completed:** [1]
501
- - **Status:** in_progress
502
-
503
- ## Next Section
504
- `;
505
- const result = parseSessionState(content);
506
- assert.strictEqual(result.success, true);
507
- assert.strictEqual(result.state?.name, 'architecture');
508
- assert.strictEqual(result.state?.currentStep, 2);
509
- });
510
- it('should not duplicate completed steps', () => {
511
- const state = {
512
- name: 'test',
513
- type: 'stepped',
514
- started: '2026-01-20T10:00:00.000Z',
515
- lastUpdated: '2026-01-20T10:00:00.000Z',
516
- currentStep: 2,
517
- stepsCompleted: [1],
518
- status: 'in_progress',
519
- };
520
- // Try to complete step 1 again
521
- const updated = updateWorkflowState(state, 1, 2);
522
- // Should not have duplicate 1s
523
- const counts = updated.stepsCompleted.filter((s) => s === 1).length;
524
- assert.strictEqual(counts, 1);
525
- });
526
- it('should initialize with current ISO timestamp', () => {
527
- const before = new Date().toISOString();
528
- const state = initWorkflowState('test', 'stepped');
529
- const after = new Date().toISOString();
530
- // Started should be between before and after
531
- assert.ok(state.started >= before);
532
- assert.ok(state.started <= after);
533
- assert.ok(state.lastUpdated >= before);
534
- assert.ok(state.lastUpdated <= after);
535
- });
536
- it('should format stepsCompleted as JSON array in markdown', () => {
537
- const state = {
538
- name: 'test',
539
- type: 'stepped',
540
- started: '2026-01-20T10:00:00.000Z',
541
- lastUpdated: '2026-01-20T10:00:00.000Z',
542
- currentStep: 4,
543
- stepsCompleted: [1, 2, 3],
544
- status: 'in_progress',
545
- };
546
- const formatted = formatWorkflowState(state);
547
- assert.ok(formatted.includes('[1, 2, 3]'));
548
- });
549
- });
550
- });
551
- //# sourceMappingURL=session-state.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-state.test.js","sourceRoot":"","sources":["../../src/workflow/session-state.test.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Tests for Story 31-11: Consolidate SM Bookkeeping Subagents
3
- *
4
- * These tests define the contract for consolidating 6 SM subagents into 3:
5
- *
6
- * 1. generic-sm-setup - Combines sm-story-setup + sm-work-research
7
- * - Mode: 'research' | 'setup'
8
- * - Research: scan backlog, batch Jira query, recommend stories
9
- * - Setup: claim Jira, create branches, write session file
10
- *
11
- * 2. generic-sm-finish - Combines sm-finish-bookkeeping + sm-finish-execution
12
- * - Phase: 'preflight' | 'execute'
13
- * - Preflight: PR check, lint fix, Jira status → JSON report
14
- * - Execute: archive, Jira transition, cleanup → completion flags
15
- *
16
- * 3. generic-handoff with setup phase support
17
- * - Add setup→red transition to generic-handoff
18
- * - Gate type: manual (verifies context exists)
19
- *
20
- * Run with: npm test
21
- */
22
- export {};
23
- //# sourceMappingURL=sm-subagents.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sm-subagents.test.d.ts","sourceRoot":"","sources":["../../src/workflow/sm-subagents.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}