@pennyfarthing/core 9.2.0 → 9.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 (1043) hide show
  1. package/dist/workflow/complete-step-integration.test.d.ts +13 -0
  2. package/dist/workflow/complete-step-integration.test.d.ts.map +1 -0
  3. package/dist/workflow/complete-step-integration.test.js +163 -0
  4. package/dist/workflow/complete-step-integration.test.js.map +1 -0
  5. package/{packages/core/dist → dist}/workflow/handoff.test.js +2 -2
  6. package/{packages/core/dist → dist}/workflow/handoff.test.js.map +1 -1
  7. package/{packages/core/dist → dist}/workflow/index.d.ts +2 -0
  8. package/{packages/core/dist → dist}/workflow/index.d.ts.map +1 -1
  9. package/{packages/core/dist → dist}/workflow/index.js +6 -0
  10. package/{packages/core/dist → dist}/workflow/index.js.map +1 -1
  11. package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.js +1 -1
  12. package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.js.map +1 -1
  13. package/package.json +36 -32
  14. package/LICENSE +0 -14
  15. package/README.md +0 -218
  16. package/pennyfarthing-dist/agents/README.md +0 -348
  17. package/pennyfarthing-dist/agents/architect.md +0 -180
  18. package/pennyfarthing-dist/agents/dev.md +0 -169
  19. package/pennyfarthing-dist/agents/devops.md +0 -203
  20. package/pennyfarthing-dist/agents/handoff.md +0 -235
  21. package/pennyfarthing-dist/agents/orchestrator.md +0 -182
  22. package/pennyfarthing-dist/agents/pm.md +0 -152
  23. package/pennyfarthing-dist/agents/reviewer-preflight.md +0 -129
  24. package/pennyfarthing-dist/agents/reviewer.md +0 -197
  25. package/pennyfarthing-dist/agents/sm-file-summary.md +0 -79
  26. package/pennyfarthing-dist/agents/sm-finish.md +0 -82
  27. package/pennyfarthing-dist/agents/sm-handoff.md +0 -129
  28. package/pennyfarthing-dist/agents/sm-setup.md +0 -251
  29. package/pennyfarthing-dist/agents/sm.md +0 -294
  30. package/pennyfarthing-dist/agents/tea.md +0 -161
  31. package/pennyfarthing-dist/agents/tech-writer.md +0 -226
  32. package/pennyfarthing-dist/agents/testing-runner.md +0 -184
  33. package/pennyfarthing-dist/agents/ux-designer.md +0 -236
  34. package/pennyfarthing-dist/agents/workflow-status-check.md +0 -96
  35. package/pennyfarthing-dist/commands/architect.md +0 -9
  36. package/pennyfarthing-dist/commands/benchmark-control.md +0 -69
  37. package/pennyfarthing-dist/commands/benchmark.md +0 -485
  38. package/pennyfarthing-dist/commands/brainstorming.md +0 -91
  39. package/pennyfarthing-dist/commands/check.md +0 -156
  40. package/pennyfarthing-dist/commands/chore.md +0 -218
  41. package/pennyfarthing-dist/commands/close-epic.md +0 -139
  42. package/pennyfarthing-dist/commands/continue-session.md +0 -218
  43. package/pennyfarthing-dist/commands/create-branches-from-story.md +0 -358
  44. package/pennyfarthing-dist/commands/create-theme.md +0 -29
  45. package/pennyfarthing-dist/commands/dev.md +0 -9
  46. package/pennyfarthing-dist/commands/devops.md +0 -9
  47. package/pennyfarthing-dist/commands/fix-blocker.md +0 -22
  48. package/pennyfarthing-dist/commands/git-cleanup.md +0 -57
  49. package/pennyfarthing-dist/commands/health-check.md +0 -143
  50. package/pennyfarthing-dist/commands/help.md +0 -264
  51. package/pennyfarthing-dist/commands/job-fair.md +0 -102
  52. package/pennyfarthing-dist/commands/list-themes.md +0 -21
  53. package/pennyfarthing-dist/commands/new-work.md +0 -23
  54. package/pennyfarthing-dist/commands/orchestrator.md +0 -9
  55. package/pennyfarthing-dist/commands/parallel-work.md +0 -73
  56. package/pennyfarthing-dist/commands/party-mode.md +0 -77
  57. package/pennyfarthing-dist/commands/patch.md +0 -210
  58. package/pennyfarthing-dist/commands/permissions.md +0 -193
  59. package/pennyfarthing-dist/commands/pm.md +0 -9
  60. package/pennyfarthing-dist/commands/prime.md +0 -136
  61. package/pennyfarthing-dist/commands/release.md +0 -58
  62. package/pennyfarthing-dist/commands/repo-status.md +0 -49
  63. package/pennyfarthing-dist/commands/retro.md +0 -200
  64. package/pennyfarthing-dist/commands/reviewer.md +0 -9
  65. package/pennyfarthing-dist/commands/run-ci.md +0 -116
  66. package/pennyfarthing-dist/commands/set-theme.md +0 -56
  67. package/pennyfarthing-dist/commands/setup.md +0 -65
  68. package/pennyfarthing-dist/commands/show-theme.md +0 -21
  69. package/pennyfarthing-dist/commands/sm.md +0 -9
  70. package/pennyfarthing-dist/commands/solo.md +0 -447
  71. package/pennyfarthing-dist/commands/sprint-planning.md +0 -109
  72. package/pennyfarthing-dist/commands/sprint.md +0 -142
  73. package/pennyfarthing-dist/commands/standalone.md +0 -194
  74. package/pennyfarthing-dist/commands/start-epic.md +0 -168
  75. package/pennyfarthing-dist/commands/sync-epic-to-jira.md +0 -184
  76. package/pennyfarthing-dist/commands/sync-work-with-sprint.md +0 -373
  77. package/pennyfarthing-dist/commands/tea.md +0 -9
  78. package/pennyfarthing-dist/commands/tech-writer.md +0 -9
  79. package/pennyfarthing-dist/commands/theme-maker.md +0 -676
  80. package/pennyfarthing-dist/commands/update-domain-docs.md +0 -83
  81. package/pennyfarthing-dist/commands/ux-designer.md +0 -9
  82. package/pennyfarthing-dist/commands/work.md +0 -25
  83. package/pennyfarthing-dist/commands/workflow.md +0 -21
  84. package/pennyfarthing-dist/guides/agent-behavior.md +0 -90
  85. package/pennyfarthing-dist/guides/agent-coordination.md +0 -480
  86. package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +0 -432
  87. package/pennyfarthing-dist/guides/agent-template-strategic.md +0 -148
  88. package/pennyfarthing-dist/guides/agent-template-tactical.md +0 -162
  89. package/pennyfarthing-dist/guides/hooks.md +0 -230
  90. package/pennyfarthing-dist/guides/measurement-framework.md +0 -210
  91. package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +0 -766
  92. package/pennyfarthing-dist/guides/patterns/fan-out-fan-in-pattern.md +0 -574
  93. package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +0 -488
  94. package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +0 -402
  95. package/pennyfarthing-dist/guides/permission-protocol.md +0 -188
  96. package/pennyfarthing-dist/guides/persona-loading.md +0 -46
  97. package/pennyfarthing-dist/guides/prompt-patterns.md +0 -338
  98. package/pennyfarthing-dist/guides/scale-levels.md +0 -114
  99. package/pennyfarthing-dist/guides/session-artifacts.md +0 -193
  100. package/pennyfarthing-dist/guides/session-schema.md +0 -346
  101. package/pennyfarthing-dist/guides/skill-schema.md +0 -412
  102. package/pennyfarthing-dist/guides/workflow-schema.md +0 -257
  103. package/pennyfarthing-dist/guides/workflow-step-schema.md +0 -512
  104. package/pennyfarthing-dist/guides/worktree-mode.md +0 -113
  105. package/pennyfarthing-dist/guides/xml-tags.md +0 -627
  106. package/pennyfarthing-dist/output-styles/teaching.md +0 -33
  107. package/pennyfarthing-dist/output-styles/terse.md +0 -20
  108. package/pennyfarthing-dist/output-styles/verbose.md +0 -28
  109. package/pennyfarthing-dist/personas/themes/a-team.yaml +0 -331
  110. package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +0 -324
  111. package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +0 -282
  112. package/pennyfarthing-dist/personas/themes/blade-runner.yaml +0 -289
  113. package/pennyfarthing-dist/personas/themes/catch-22.yaml +0 -304
  114. package/pennyfarthing-dist/personas/themes/control.yaml +0 -201
  115. package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +0 -315
  116. package/pennyfarthing-dist/personas/themes/discworld.yaml +0 -334
  117. package/pennyfarthing-dist/personas/themes/doctor-who.yaml +0 -284
  118. package/pennyfarthing-dist/personas/themes/dune.yaml +0 -301
  119. package/pennyfarthing-dist/personas/themes/firefly.yaml +0 -320
  120. package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +0 -284
  121. package/pennyfarthing-dist/personas/themes/harry-potter.yaml +0 -316
  122. package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +0 -323
  123. package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +0 -326
  124. package/pennyfarthing-dist/personas/themes/mad-max.yaml +0 -349
  125. package/pennyfarthing-dist/personas/themes/mash.yaml +0 -329
  126. package/pennyfarthing-dist/personas/themes/princess-bride.yaml +0 -344
  127. package/pennyfarthing-dist/personas/themes/sandman.yaml +0 -282
  128. package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +0 -358
  129. package/pennyfarthing-dist/personas/themes/star-wars.yaml +0 -297
  130. package/pennyfarthing-dist/personas/themes/the-expanse.yaml +0 -337
  131. package/pennyfarthing-dist/personas/themes/the-matrix.yaml +0 -342
  132. package/pennyfarthing-dist/personas/themes/watchmen.yaml +0 -285
  133. package/pennyfarthing-dist/personas/themes/west-wing.yaml +0 -285
  134. package/pennyfarthing-dist/personas/themes/x-files.yaml +0 -296
  135. package/pennyfarthing-dist/scripts/README.md +0 -87
  136. package/pennyfarthing-dist/scripts/core/README.md +0 -25
  137. package/pennyfarthing-dist/scripts/core/agent-session.sh +0 -390
  138. package/pennyfarthing-dist/scripts/core/check-context.sh +0 -194
  139. package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -112
  140. package/pennyfarthing-dist/scripts/core/phase-check-start.sh +0 -90
  141. package/pennyfarthing-dist/scripts/core/prime.sh +0 -30
  142. package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -21
  143. package/pennyfarthing-dist/scripts/git/README.md +0 -25
  144. package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +0 -267
  145. package/pennyfarthing-dist/scripts/git/git-status-all.sh +0 -152
  146. package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +0 -79
  147. package/pennyfarthing-dist/scripts/git/release.sh +0 -246
  148. package/pennyfarthing-dist/scripts/git/worktree-manager.sh +0 -497
  149. package/pennyfarthing-dist/scripts/health/drift-detection.sh +0 -156
  150. package/pennyfarthing-dist/scripts/hooks/README.md +0 -32
  151. package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
  152. package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +0 -106
  153. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -95
  154. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -65
  155. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -35
  156. package/pennyfarthing-dist/scripts/hooks/post-merge.sh +0 -150
  157. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -102
  158. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -71
  159. package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -42
  160. package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +0 -20
  161. package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +0 -499
  162. package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +0 -30
  163. package/pennyfarthing-dist/scripts/hooks/session-start.sh +0 -97
  164. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -65
  165. package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +0 -78
  166. package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +0 -94
  167. package/pennyfarthing-dist/scripts/jira/README.md +0 -36
  168. package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -95
  169. package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -91
  170. package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -22
  171. package/pennyfarthing-dist/scripts/jira/jira-lib.sh +0 -464
  172. package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -260
  173. package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -18
  174. package/pennyfarthing-dist/scripts/jira/jira-sync.sh +0 -16
  175. package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -16
  176. package/pennyfarthing-dist/scripts/jira/sync-epic-to-jira.sh +0 -16
  177. package/pennyfarthing-dist/scripts/lib/README.md +0 -29
  178. package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -177
  179. package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -136
  180. package/pennyfarthing-dist/scripts/lib/common.sh +0 -212
  181. package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -269
  182. package/pennyfarthing-dist/scripts/lib/find-root.sh +0 -58
  183. package/pennyfarthing-dist/scripts/lib/logging.sh +0 -186
  184. package/pennyfarthing-dist/scripts/lib/retry.sh +0 -76
  185. package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +0 -102
  186. package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +0 -91
  187. package/pennyfarthing-dist/scripts/misc/README.md +0 -44
  188. package/pennyfarthing-dist/scripts/misc/add-short-names.sh +0 -13
  189. package/pennyfarthing-dist/scripts/misc/add_short_names.py +0 -226
  190. package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -77
  191. package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -247
  192. package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -231
  193. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -107
  194. package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -74
  195. package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -10
  196. package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +0 -319
  197. package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -141
  198. package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -778
  199. package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -212
  200. package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -7
  201. package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -319
  202. package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -193
  203. package/pennyfarthing-dist/scripts/misc/statusline.sh +0 -259
  204. package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -275
  205. package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +0 -160
  206. package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +0 -417
  207. package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +0 -54
  208. package/pennyfarthing-dist/scripts/sprint/README.md +0 -29
  209. package/pennyfarthing-dist/scripts/sprint/archive-story.sh +0 -133
  210. package/pennyfarthing-dist/scripts/sprint/available-stories.sh +0 -91
  211. package/pennyfarthing-dist/scripts/sprint/check-story.sh +0 -158
  212. package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +0 -52
  213. package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +0 -63
  214. package/pennyfarthing-dist/scripts/sprint/list-future.sh +0 -145
  215. package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +0 -110
  216. package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +0 -148
  217. package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +0 -415
  218. package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +0 -33
  219. package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +0 -230
  220. package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +0 -134
  221. package/pennyfarthing-dist/scripts/sprint/validate-sprint-yaml.sh +0 -139
  222. package/pennyfarthing-dist/scripts/story/README.md +0 -23
  223. package/pennyfarthing-dist/scripts/story/create-story.sh +0 -19
  224. package/pennyfarthing-dist/scripts/story/size-story.sh +0 -18
  225. package/pennyfarthing-dist/scripts/story/story-template.sh +0 -18
  226. package/pennyfarthing-dist/scripts/test/README.md +0 -23
  227. package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +0 -59
  228. package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +0 -220
  229. package/pennyfarthing-dist/scripts/test/swebench-judge.py +0 -374
  230. package/pennyfarthing-dist/scripts/test/test-cache.sh +0 -165
  231. package/pennyfarthing-dist/scripts/test/test-setup.sh +0 -337
  232. package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -582
  233. package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -515
  234. package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -599
  235. package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +0 -332
  236. package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -573
  237. package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -859
  238. package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -662
  239. package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -589
  240. package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -106
  241. package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +0 -597
  242. package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -514
  243. package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -517
  244. package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -331
  245. package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -647
  246. package/pennyfarthing-dist/scripts/theme/README.md +0 -22
  247. package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +0 -13
  248. package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +0 -402
  249. package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -30
  250. package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +0 -97
  251. package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +0 -576
  252. package/pennyfarthing-dist/scripts/workflow/README.md +0 -28
  253. package/pennyfarthing-dist/scripts/workflow/check.py +0 -502
  254. package/pennyfarthing-dist/scripts/workflow/check.sh +0 -24
  255. package/pennyfarthing-dist/scripts/workflow/finish-story.sh +0 -154
  256. package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +0 -222
  257. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +0 -61
  258. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +0 -13
  259. package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +0 -124
  260. package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +0 -34
  261. package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +0 -157
  262. package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +0 -132
  263. package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +0 -250
  264. package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +0 -161
  265. package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +0 -246
  266. package/pennyfarthing-dist/skills/changelog/SKILL.md +0 -385
  267. package/pennyfarthing-dist/skills/code-review/SKILL.md +0 -172
  268. package/pennyfarthing-dist/skills/context-engineering/SKILL.md +0 -277
  269. package/pennyfarthing-dist/skills/cyclist/SKILL.md +0 -88
  270. package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +0 -461
  271. package/pennyfarthing-dist/skills/finalize-run/SKILL.md +0 -261
  272. package/pennyfarthing-dist/skills/jira/SKILL.md +0 -508
  273. package/pennyfarthing-dist/skills/judge/SKILL.md +0 -644
  274. package/pennyfarthing-dist/skills/just/SKILL.md +0 -414
  275. package/pennyfarthing-dist/skills/mermaid/SKILL.md +0 -256
  276. package/pennyfarthing-dist/skills/otel/skill.md +0 -227
  277. package/pennyfarthing-dist/skills/permissions/skill.md +0 -175
  278. package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +0 -187
  279. package/pennyfarthing-dist/skills/skill-registry.schema.json +0 -107
  280. package/pennyfarthing-dist/skills/skill-registry.yaml +0 -393
  281. package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +0 -101
  282. package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +0 -97
  283. package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +0 -164
  284. package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +0 -101
  285. package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +0 -116
  286. package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +0 -164
  287. package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +0 -39
  288. package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +0 -147
  289. package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +0 -93
  290. package/pennyfarthing-dist/skills/sprint/skill.md +0 -465
  291. package/pennyfarthing-dist/skills/story/scripts/create-story.sh +0 -159
  292. package/pennyfarthing-dist/skills/story/scripts/size-story.sh +0 -198
  293. package/pennyfarthing-dist/skills/story/scripts/story-template.sh +0 -162
  294. package/pennyfarthing-dist/skills/story/skill.md +0 -219
  295. package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +0 -446
  296. package/pennyfarthing-dist/skills/testing/SKILL.md +0 -121
  297. package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +0 -124
  298. package/pennyfarthing-dist/skills/theme/skill.md +0 -141
  299. package/pennyfarthing-dist/skills/theme-creation/SKILL.md +0 -178
  300. package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +0 -91
  301. package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +0 -163
  302. package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +0 -138
  303. package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +0 -273
  304. package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +0 -167
  305. package/pennyfarthing-dist/skills/workflow/skill.md +0 -345
  306. package/pennyfarthing-dist/skills/yq/SKILL.md +0 -272
  307. package/pennyfarthing-dist/templates/LEADERBOARD.schema.yaml +0 -187
  308. package/pennyfarthing-dist/templates/LEADERBOARD.template.md +0 -59
  309. package/pennyfarthing-dist/templates/agent-scopes.yaml.template +0 -276
  310. package/pennyfarthing-dist/templates/pennyfarthing-settings.yaml.template +0 -61
  311. package/pennyfarthing-dist/templates/persona-config.yaml.template +0 -22
  312. package/pennyfarthing-dist/templates/preferences.yaml.template +0 -15
  313. package/pennyfarthing-dist/templates/settings.local.json.template +0 -110
  314. package/pennyfarthing-dist/templates/setup-env.sh.template +0 -18
  315. package/pennyfarthing-dist/templates/shared-context.md.template +0 -70
  316. package/pennyfarthing-dist/templates/sidecar/decisions.md.template +0 -40
  317. package/pennyfarthing-dist/templates/sidecar/gotchas.md.template +0 -37
  318. package/pennyfarthing-dist/templates/sidecar/patterns.md.template +0 -34
  319. package/pennyfarthing-dist/workflows/agent-docs.yaml +0 -70
  320. package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +0 -113
  321. package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +0 -105
  322. package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +0 -127
  323. package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +0 -145
  324. package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +0 -150
  325. package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +0 -145
  326. package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +0 -154
  327. package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +0 -172
  328. package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +0 -102
  329. package/pennyfarthing-dist/workflows/architecture.yaml +0 -65
  330. package/pennyfarthing-dist/workflows/bdd.yaml +0 -60
  331. package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +0 -62
  332. package/pennyfarthing-dist/workflows/brainstorming/checklist.md +0 -44
  333. package/pennyfarthing-dist/workflows/brainstorming/instructions.md +0 -736
  334. package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +0 -49
  335. package/pennyfarthing-dist/workflows/code-review/checklist.md +0 -23
  336. package/pennyfarthing-dist/workflows/code-review/instructions.md +0 -234
  337. package/pennyfarthing-dist/workflows/code-review/workflow.yaml +0 -51
  338. package/pennyfarthing-dist/workflows/dev-story/checklist.md +0 -80
  339. package/pennyfarthing-dist/workflows/dev-story/instructions.xml +0 -410
  340. package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +0 -50
  341. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +0 -281
  342. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +0 -256
  343. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +0 -298
  344. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +0 -177
  345. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +0 -145
  346. package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +0 -57
  347. package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +0 -28
  348. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +0 -103
  349. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +0 -147
  350. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +0 -215
  351. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +0 -97
  352. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +0 -78
  353. package/pennyfarthing-dist/workflows/git-cleanup.yaml +0 -59
  354. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +0 -211
  355. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +0 -199
  356. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -202
  357. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +0 -162
  358. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +0 -280
  359. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +0 -158
  360. package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +0 -4
  361. package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +0 -40
  362. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-01-connect.md +0 -257
  363. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-02-explore.md +0 -107
  364. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-03-fix.md +0 -127
  365. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-04-commit.md +0 -122
  366. package/pennyfarthing-dist/workflows/interactive-debug/workflow.yaml +0 -51
  367. package/pennyfarthing-dist/workflows/patch.yaml +0 -67
  368. package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +0 -13
  369. package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +0 -197
  370. package/pennyfarthing-dist/workflows/prd/data/project-types.csv +0 -11
  371. package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +0 -197
  372. package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +0 -159
  373. package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +0 -230
  374. package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +0 -232
  375. package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +0 -219
  376. package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +0 -213
  377. package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +0 -232
  378. package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +0 -243
  379. package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +0 -234
  380. package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +0 -237
  381. package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +0 -248
  382. package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +0 -223
  383. package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +0 -186
  384. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +0 -253
  385. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +0 -214
  386. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +0 -255
  387. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +0 -259
  388. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +0 -174
  389. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +0 -224
  390. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +0 -197
  391. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +0 -215
  392. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +0 -180
  393. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +0 -220
  394. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +0 -234
  395. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +0 -223
  396. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -211
  397. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +0 -249
  398. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +0 -269
  399. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +0 -215
  400. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +0 -270
  401. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +0 -248
  402. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +0 -238
  403. package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +0 -10
  404. package/pennyfarthing-dist/workflows/prd/workflow.yaml +0 -42
  405. package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +0 -195
  406. package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +0 -180
  407. package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +0 -221
  408. package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +0 -224
  409. package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +0 -228
  410. package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +0 -243
  411. package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +0 -216
  412. package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +0 -10
  413. package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +0 -31
  414. package/pennyfarthing-dist/workflows/project-context/project-context-template.md +0 -21
  415. package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +0 -206
  416. package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +0 -349
  417. package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +0 -306
  418. package/pennyfarthing-dist/workflows/project-context/workflow.yaml +0 -27
  419. package/pennyfarthing-dist/workflows/project-setup/steps/step-01-discover.md +0 -157
  420. package/pennyfarthing-dist/workflows/project-setup/steps/step-02-clone-repos.md +0 -217
  421. package/pennyfarthing-dist/workflows/project-setup/steps/step-03-repos-yaml.md +0 -159
  422. package/pennyfarthing-dist/workflows/project-setup/steps/step-04-claude-md.md +0 -186
  423. package/pennyfarthing-dist/workflows/project-setup/steps/step-05-shared-context.md +0 -185
  424. package/pennyfarthing-dist/workflows/project-setup/steps/step-06-task-runner.md +0 -279
  425. package/pennyfarthing-dist/workflows/project-setup/steps/step-07-theme.md +0 -200
  426. package/pennyfarthing-dist/workflows/project-setup/steps/step-08-theme-packs.md +0 -142
  427. package/pennyfarthing-dist/workflows/project-setup/steps/step-09-cyclist.md +0 -245
  428. package/pennyfarthing-dist/workflows/project-setup/steps/step-10-complete.md +0 -204
  429. package/pennyfarthing-dist/workflows/project-setup/workflow.yaml +0 -41
  430. package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +0 -177
  431. package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +0 -143
  432. package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +0 -138
  433. package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +0 -135
  434. package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +0 -129
  435. package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +0 -163
  436. package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +0 -27
  437. package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +0 -201
  438. package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +0 -156
  439. package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +0 -140
  440. package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +0 -203
  441. package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +0 -74
  442. package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +0 -27
  443. package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +0 -159
  444. package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +0 -253
  445. package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +0 -263
  446. package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +0 -232
  447. package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +0 -260
  448. package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +0 -477
  449. package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +0 -205
  450. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +0 -262
  451. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +0 -227
  452. package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +0 -275
  453. package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +0 -286
  454. package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +0 -203
  455. package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +0 -510
  456. package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +0 -159
  457. package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +0 -264
  458. package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +0 -274
  459. package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +0 -228
  460. package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +0 -267
  461. package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +0 -522
  462. package/pennyfarthing-dist/workflows/research/templates/research.template.md +0 -29
  463. package/pennyfarthing-dist/workflows/research/workflow.yaml +0 -45
  464. package/pennyfarthing-dist/workflows/retrospective/checklist.md +0 -31
  465. package/pennyfarthing-dist/workflows/retrospective/instructions.md +0 -1443
  466. package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +0 -50
  467. package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +0 -33
  468. package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +0 -55
  469. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +0 -69
  470. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +0 -61
  471. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +0 -80
  472. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +0 -90
  473. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +0 -78
  474. package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +0 -34
  475. package/pennyfarthing-dist/workflows/tdd.yaml +0 -50
  476. package/pennyfarthing-dist/workflows/trivial.yaml +0 -40
  477. package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +0 -141
  478. package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +0 -133
  479. package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +0 -196
  480. package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +0 -222
  481. package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +0 -225
  482. package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +0 -240
  483. package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +0 -258
  484. package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +0 -260
  485. package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +0 -230
  486. package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +0 -230
  487. package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +0 -247
  488. package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +0 -254
  489. package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +0 -243
  490. package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +0 -270
  491. package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +0 -234
  492. package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +0 -13
  493. package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +0 -41
  494. package/pennyfarthing_scripts/README.md +0 -66
  495. package/pennyfarthing_scripts/__init__.py +0 -17
  496. package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  497. package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  498. package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
  499. package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
  500. package/pennyfarthing_scripts/__pycache__/hooks.cpython-314.pyc +0 -0
  501. package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
  502. package/pennyfarthing_scripts/__pycache__/jira_bidirectional_sync.cpython-314.pyc +0 -0
  503. package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
  504. package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
  505. package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
  506. package/pennyfarthing_scripts/__pycache__/output.cpython-314.pyc +0 -0
  507. package/pennyfarthing_scripts/__pycache__/patch_mode.cpython-314.pyc +0 -0
  508. package/pennyfarthing_scripts/__pycache__/schema_validation_hook.cpython-314.pyc +0 -0
  509. package/pennyfarthing_scripts/__pycache__/sprint.cpython-314.pyc +0 -0
  510. package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
  511. package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
  512. package/pennyfarthing_scripts/bellmode_hook.py +0 -154
  513. package/pennyfarthing_scripts/brownfield/__init__.py +0 -35
  514. package/pennyfarthing_scripts/brownfield/__main__.py +0 -7
  515. package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
  516. package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
  517. package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
  518. package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
  519. package/pennyfarthing_scripts/brownfield/cli.py +0 -131
  520. package/pennyfarthing_scripts/brownfield/discover.py +0 -753
  521. package/pennyfarthing_scripts/cli.py +0 -174
  522. package/pennyfarthing_scripts/common/__init__.py +0 -49
  523. package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
  524. package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
  525. package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
  526. package/pennyfarthing_scripts/common/__pycache__/themes.cpython-314.pyc +0 -0
  527. package/pennyfarthing_scripts/common/config.py +0 -91
  528. package/pennyfarthing_scripts/common/output.py +0 -180
  529. package/pennyfarthing_scripts/common/themes.py +0 -253
  530. package/pennyfarthing_scripts/config.py +0 -21
  531. package/pennyfarthing_scripts/context.py +0 -414
  532. package/pennyfarthing_scripts/git/__init__.py +0 -29
  533. package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
  534. package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
  535. package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
  536. package/pennyfarthing_scripts/git/create_branches.py +0 -439
  537. package/pennyfarthing_scripts/git/status_all.py +0 -310
  538. package/pennyfarthing_scripts/hooks.py +0 -455
  539. package/pennyfarthing_scripts/jira/__init__.py +0 -93
  540. package/pennyfarthing_scripts/jira/__main__.py +0 -10
  541. package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
  542. package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
  543. package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
  544. package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
  545. package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
  546. package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
  547. package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
  548. package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
  549. package/pennyfarthing_scripts/jira/__pycache__/mappings.cpython-314.pyc +0 -0
  550. package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
  551. package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
  552. package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
  553. package/pennyfarthing_scripts/jira/bidirectional.py +0 -561
  554. package/pennyfarthing_scripts/jira/claim.py +0 -211
  555. package/pennyfarthing_scripts/jira/cli.py +0 -150
  556. package/pennyfarthing_scripts/jira/client.py +0 -613
  557. package/pennyfarthing_scripts/jira/epic.py +0 -176
  558. package/pennyfarthing_scripts/jira/story.py +0 -219
  559. package/pennyfarthing_scripts/jira/sync.py +0 -350
  560. package/pennyfarthing_scripts/jira_bidirectional_sync.py +0 -37
  561. package/pennyfarthing_scripts/jira_epic_creation.py +0 -30
  562. package/pennyfarthing_scripts/jira_sync.py +0 -36
  563. package/pennyfarthing_scripts/jira_sync_story.py +0 -30
  564. package/pennyfarthing_scripts/migration/__init__.py +0 -39
  565. package/pennyfarthing_scripts/migration/__main__.py +0 -10
  566. package/pennyfarthing_scripts/migration/__pycache__/__init__.cpython-314.pyc +0 -0
  567. package/pennyfarthing_scripts/migration/__pycache__/__main__.cpython-314.pyc +0 -0
  568. package/pennyfarthing_scripts/migration/__pycache__/cli.cpython-314.pyc +0 -0
  569. package/pennyfarthing_scripts/migration/__pycache__/session.cpython-314.pyc +0 -0
  570. package/pennyfarthing_scripts/migration/__pycache__/skill.cpython-314.pyc +0 -0
  571. package/pennyfarthing_scripts/migration/__pycache__/step.cpython-314.pyc +0 -0
  572. package/pennyfarthing_scripts/migration/__pycache__/validate.cpython-314.pyc +0 -0
  573. package/pennyfarthing_scripts/migration/cli.py +0 -304
  574. package/pennyfarthing_scripts/migration/session.py +0 -384
  575. package/pennyfarthing_scripts/migration/skill.py +0 -188
  576. package/pennyfarthing_scripts/migration/step.py +0 -229
  577. package/pennyfarthing_scripts/migration/validate.py +0 -282
  578. package/pennyfarthing_scripts/output.py +0 -37
  579. package/pennyfarthing_scripts/patch_mode.py +0 -449
  580. package/pennyfarthing_scripts/preflight/__init__.py +0 -17
  581. package/pennyfarthing_scripts/preflight/__main__.py +0 -10
  582. package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
  583. package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
  584. package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
  585. package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
  586. package/pennyfarthing_scripts/preflight/cli.py +0 -141
  587. package/pennyfarthing_scripts/preflight/finish.py +0 -382
  588. package/pennyfarthing_scripts/pretooluse_hook.py +0 -142
  589. package/pennyfarthing_scripts/prime/__init__.py +0 -125
  590. package/pennyfarthing_scripts/prime/__main__.py +0 -8
  591. package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
  592. package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
  593. package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
  594. package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
  595. package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
  596. package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
  597. package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
  598. package/pennyfarthing_scripts/prime/__pycache__/tiers.cpython-314.pyc +0 -0
  599. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  600. package/pennyfarthing_scripts/prime/cli.py +0 -645
  601. package/pennyfarthing_scripts/prime/loader.py +0 -239
  602. package/pennyfarthing_scripts/prime/models.py +0 -206
  603. package/pennyfarthing_scripts/prime/persona.py +0 -308
  604. package/pennyfarthing_scripts/prime/session.py +0 -183
  605. package/pennyfarthing_scripts/prime/tiers.py +0 -201
  606. package/pennyfarthing_scripts/prime/workflow.py +0 -275
  607. package/pennyfarthing_scripts/schema_validation_hook.py +0 -306
  608. package/pennyfarthing_scripts/sprint/__init__.py +0 -66
  609. package/pennyfarthing_scripts/sprint/__main__.py +0 -10
  610. package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
  611. package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
  612. package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
  613. package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
  614. package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
  615. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  616. package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
  617. package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
  618. package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
  619. package/pennyfarthing_scripts/sprint/archive.py +0 -108
  620. package/pennyfarthing_scripts/sprint/archive_epic.py +0 -399
  621. package/pennyfarthing_scripts/sprint/cli.py +0 -284
  622. package/pennyfarthing_scripts/sprint/import_epic.py +0 -431
  623. package/pennyfarthing_scripts/sprint/loader.py +0 -193
  624. package/pennyfarthing_scripts/sprint/status.py +0 -122
  625. package/pennyfarthing_scripts/sprint/validator.py +0 -405
  626. package/pennyfarthing_scripts/sprint/work.py +0 -192
  627. package/pennyfarthing_scripts/story/__init__.py +0 -67
  628. package/pennyfarthing_scripts/story/__main__.py +0 -10
  629. package/pennyfarthing_scripts/story/__pycache__/__init__.cpython-314.pyc +0 -0
  630. package/pennyfarthing_scripts/story/__pycache__/__main__.cpython-314.pyc +0 -0
  631. package/pennyfarthing_scripts/story/__pycache__/cli.cpython-314.pyc +0 -0
  632. package/pennyfarthing_scripts/story/__pycache__/create.cpython-314.pyc +0 -0
  633. package/pennyfarthing_scripts/story/__pycache__/size.cpython-314.pyc +0 -0
  634. package/pennyfarthing_scripts/story/__pycache__/template.cpython-314.pyc +0 -0
  635. package/pennyfarthing_scripts/story/cli.py +0 -105
  636. package/pennyfarthing_scripts/story/create.py +0 -167
  637. package/pennyfarthing_scripts/story/size.py +0 -113
  638. package/pennyfarthing_scripts/story/template.py +0 -151
  639. package/pennyfarthing_scripts/swebench.py +0 -216
  640. package/pennyfarthing_scripts/tests/__init__.py +0 -1
  641. package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
  642. package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
  643. package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
  644. package/pennyfarthing_scripts/tests/__pycache__/test_cli_modules.cpython-314-pytest-9.0.2.pyc +0 -0
  645. package/pennyfarthing_scripts/tests/__pycache__/test_common.cpython-314-pytest-9.0.2.pyc +0 -0
  646. package/pennyfarthing_scripts/tests/__pycache__/test_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
  647. package/pennyfarthing_scripts/tests/__pycache__/test_jira_package.cpython-314-pytest-9.0.2.pyc +0 -0
  648. package/pennyfarthing_scripts/tests/__pycache__/test_package_structure.cpython-314-pytest-9.0.2.pyc +0 -0
  649. package/pennyfarthing_scripts/tests/__pycache__/test_patch_mode.cpython-314-pytest-9.0.2.pyc +0 -0
  650. package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
  651. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_package.cpython-314-pytest-9.0.2.pyc +0 -0
  652. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
  653. package/pennyfarthing_scripts/tests/__pycache__/test_story_package.cpython-314-pytest-9.0.2.pyc +0 -0
  654. package/pennyfarthing_scripts/tests/__pycache__/test_tiers.cpython-314-pytest-9.0.2.pyc +0 -0
  655. package/pennyfarthing_scripts/tests/__pycache__/test_token_counting.cpython-314-pytest-9.0.2.pyc +0 -0
  656. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_check.cpython-314-pytest-9.0.2.pyc +0 -0
  657. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_cli.cpython-314-pytest-9.0.2.pyc +0 -0
  658. package/pennyfarthing_scripts/tests/conftest.py +0 -106
  659. package/pennyfarthing_scripts/tests/test_brownfield.py +0 -842
  660. package/pennyfarthing_scripts/tests/test_cli_modules.py +0 -245
  661. package/pennyfarthing_scripts/tests/test_common.py +0 -180
  662. package/pennyfarthing_scripts/tests/test_git_utils.py +0 -866
  663. package/pennyfarthing_scripts/tests/test_jira_package.py +0 -334
  664. package/pennyfarthing_scripts/tests/test_package_structure.py +0 -372
  665. package/pennyfarthing_scripts/tests/test_patch_mode.py +0 -830
  666. package/pennyfarthing_scripts/tests/test_prime.py +0 -1050
  667. package/pennyfarthing_scripts/tests/test_sprint_package.py +0 -236
  668. package/pennyfarthing_scripts/tests/test_sprint_validator.py +0 -675
  669. package/pennyfarthing_scripts/tests/test_story_package.py +0 -156
  670. package/pennyfarthing_scripts/tests/test_tiers.py +0 -1090
  671. package/pennyfarthing_scripts/tests/test_token_counting.py +0 -559
  672. package/pennyfarthing_scripts/tests/test_workflow_check.py +0 -341
  673. package/pennyfarthing_scripts/welcome_hook.py +0 -157
  674. package/pennyfarthing_scripts/workflow.py +0 -287
  675. /package/{packages/core/bin → bin}/pennyfarthing.js +0 -0
  676. /package/{packages/core/dist → dist}/bmad/context-reader.d.ts +0 -0
  677. /package/{packages/core/dist → dist}/bmad/context-reader.d.ts.map +0 -0
  678. /package/{packages/core/dist → dist}/bmad/context-reader.js +0 -0
  679. /package/{packages/core/dist → dist}/bmad/context-reader.js.map +0 -0
  680. /package/{packages/core/dist → dist}/bmad/context-reader.test.d.ts +0 -0
  681. /package/{packages/core/dist → dist}/bmad/context-reader.test.d.ts.map +0 -0
  682. /package/{packages/core/dist → dist}/bmad/context-reader.test.js +0 -0
  683. /package/{packages/core/dist → dist}/bmad/context-reader.test.js.map +0 -0
  684. /package/{packages/core/dist → dist}/bmad/epics-parser.d.ts +0 -0
  685. /package/{packages/core/dist → dist}/bmad/epics-parser.d.ts.map +0 -0
  686. /package/{packages/core/dist → dist}/bmad/epics-parser.js +0 -0
  687. /package/{packages/core/dist → dist}/bmad/epics-parser.js.map +0 -0
  688. /package/{packages/core/dist → dist}/bmad/epics-parser.test.d.ts +0 -0
  689. /package/{packages/core/dist → dist}/bmad/epics-parser.test.d.ts.map +0 -0
  690. /package/{packages/core/dist → dist}/bmad/epics-parser.test.js +0 -0
  691. /package/{packages/core/dist → dist}/bmad/epics-parser.test.js.map +0 -0
  692. /package/{packages/core/dist → dist}/bmad/index.d.ts +0 -0
  693. /package/{packages/core/dist → dist}/bmad/index.d.ts.map +0 -0
  694. /package/{packages/core/dist → dist}/bmad/index.js +0 -0
  695. /package/{packages/core/dist → dist}/bmad/index.js.map +0 -0
  696. /package/{packages/core/dist → dist}/bmad/status-sync.d.ts +0 -0
  697. /package/{packages/core/dist → dist}/bmad/status-sync.d.ts.map +0 -0
  698. /package/{packages/core/dist → dist}/bmad/status-sync.js +0 -0
  699. /package/{packages/core/dist → dist}/bmad/status-sync.js.map +0 -0
  700. /package/{packages/core/dist → dist}/bmad/status-sync.test.d.ts +0 -0
  701. /package/{packages/core/dist → dist}/bmad/status-sync.test.d.ts.map +0 -0
  702. /package/{packages/core/dist → dist}/bmad/status-sync.test.js +0 -0
  703. /package/{packages/core/dist → dist}/bmad/status-sync.test.js.map +0 -0
  704. /package/{packages/core/dist → dist}/bmad/story-exporter.d.ts +0 -0
  705. /package/{packages/core/dist → dist}/bmad/story-exporter.d.ts.map +0 -0
  706. /package/{packages/core/dist → dist}/bmad/story-exporter.js +0 -0
  707. /package/{packages/core/dist → dist}/bmad/story-exporter.js.map +0 -0
  708. /package/{packages/core/dist → dist}/bmad/story-exporter.test.d.ts +0 -0
  709. /package/{packages/core/dist → dist}/bmad/story-exporter.test.d.ts.map +0 -0
  710. /package/{packages/core/dist → dist}/bmad/story-exporter.test.js +0 -0
  711. /package/{packages/core/dist → dist}/bmad/story-exporter.test.js.map +0 -0
  712. /package/{packages/core/dist → dist}/bmad/story-parser.d.ts +0 -0
  713. /package/{packages/core/dist → dist}/bmad/story-parser.d.ts.map +0 -0
  714. /package/{packages/core/dist → dist}/bmad/story-parser.js +0 -0
  715. /package/{packages/core/dist → dist}/bmad/story-parser.js.map +0 -0
  716. /package/{packages/core/dist → dist}/bmad/story-parser.test.d.ts +0 -0
  717. /package/{packages/core/dist → dist}/bmad/story-parser.test.d.ts.map +0 -0
  718. /package/{packages/core/dist → dist}/bmad/story-parser.test.js +0 -0
  719. /package/{packages/core/dist → dist}/bmad/story-parser.test.js.map +0 -0
  720. /package/{packages/core/dist → dist}/cli/commands/command.d.ts +0 -0
  721. /package/{packages/core/dist → dist}/cli/commands/command.d.ts.map +0 -0
  722. /package/{packages/core/dist → dist}/cli/commands/command.js +0 -0
  723. /package/{packages/core/dist → dist}/cli/commands/command.js.map +0 -0
  724. /package/{packages/core/dist → dist}/cli/commands/cyclist.d.ts +0 -0
  725. /package/{packages/core/dist → dist}/cli/commands/cyclist.d.ts.map +0 -0
  726. /package/{packages/core/dist → dist}/cli/commands/cyclist.js +0 -0
  727. /package/{packages/core/dist → dist}/cli/commands/cyclist.js.map +0 -0
  728. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.d.ts +0 -0
  729. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.d.ts.map +0 -0
  730. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.js +0 -0
  731. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.js.map +0 -0
  732. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.d.ts +0 -0
  733. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.d.ts.map +0 -0
  734. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.js +0 -0
  735. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.js.map +0 -0
  736. /package/{packages/core/dist → dist}/cli/commands/doctor.d.ts +0 -0
  737. /package/{packages/core/dist → dist}/cli/commands/doctor.d.ts.map +0 -0
  738. /package/{packages/core/dist → dist}/cli/commands/doctor.js +0 -0
  739. /package/{packages/core/dist → dist}/cli/commands/doctor.js.map +0 -0
  740. /package/{packages/core/dist → dist}/cli/commands/init.d.ts +0 -0
  741. /package/{packages/core/dist → dist}/cli/commands/init.d.ts.map +0 -0
  742. /package/{packages/core/dist → dist}/cli/commands/init.js +0 -0
  743. /package/{packages/core/dist → dist}/cli/commands/init.js.map +0 -0
  744. /package/{packages/core/dist → dist}/cli/commands/skill.d.ts +0 -0
  745. /package/{packages/core/dist → dist}/cli/commands/skill.d.ts.map +0 -0
  746. /package/{packages/core/dist → dist}/cli/commands/skill.js +0 -0
  747. /package/{packages/core/dist → dist}/cli/commands/skill.js.map +0 -0
  748. /package/{packages/core/dist → dist}/cli/commands/theme.d.ts +0 -0
  749. /package/{packages/core/dist → dist}/cli/commands/theme.d.ts.map +0 -0
  750. /package/{packages/core/dist → dist}/cli/commands/theme.js +0 -0
  751. /package/{packages/core/dist → dist}/cli/commands/theme.js.map +0 -0
  752. /package/{packages/core/dist → dist}/cli/commands/uninstall.d.ts +0 -0
  753. /package/{packages/core/dist → dist}/cli/commands/uninstall.d.ts.map +0 -0
  754. /package/{packages/core/dist → dist}/cli/commands/uninstall.js +0 -0
  755. /package/{packages/core/dist → dist}/cli/commands/uninstall.js.map +0 -0
  756. /package/{packages/core/dist → dist}/cli/commands/update.d.ts +0 -0
  757. /package/{packages/core/dist → dist}/cli/commands/update.d.ts.map +0 -0
  758. /package/{packages/core/dist → dist}/cli/commands/update.js +0 -0
  759. /package/{packages/core/dist → dist}/cli/commands/update.js.map +0 -0
  760. /package/{packages/core/dist → dist}/cli/commands/version.d.ts +0 -0
  761. /package/{packages/core/dist → dist}/cli/commands/version.d.ts.map +0 -0
  762. /package/{packages/core/dist → dist}/cli/commands/version.js +0 -0
  763. /package/{packages/core/dist → dist}/cli/commands/version.js.map +0 -0
  764. /package/{packages/core/dist → dist}/cli/customization.test.d.ts +0 -0
  765. /package/{packages/core/dist → dist}/cli/customization.test.d.ts.map +0 -0
  766. /package/{packages/core/dist → dist}/cli/customization.test.js +0 -0
  767. /package/{packages/core/dist → dist}/cli/customization.test.js.map +0 -0
  768. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.d.ts +0 -0
  769. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.d.ts.map +0 -0
  770. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.js +0 -0
  771. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.js.map +0 -0
  772. /package/{packages/core/dist → dist}/cli/index.d.ts +0 -0
  773. /package/{packages/core/dist → dist}/cli/index.d.ts.map +0 -0
  774. /package/{packages/core/dist → dist}/cli/index.js +0 -0
  775. /package/{packages/core/dist → dist}/cli/index.js.map +0 -0
  776. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.d.ts +0 -0
  777. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.d.ts.map +0 -0
  778. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.js +0 -0
  779. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.js.map +0 -0
  780. /package/{packages/core/dist → dist}/cli/theme-maker.test.d.ts +0 -0
  781. /package/{packages/core/dist → dist}/cli/theme-maker.test.d.ts.map +0 -0
  782. /package/{packages/core/dist → dist}/cli/theme-maker.test.js +0 -0
  783. /package/{packages/core/dist → dist}/cli/theme-maker.test.js.map +0 -0
  784. /package/{packages/core/dist → dist}/cli/utils/constants.d.ts +0 -0
  785. /package/{packages/core/dist → dist}/cli/utils/constants.d.ts.map +0 -0
  786. /package/{packages/core/dist → dist}/cli/utils/constants.js +0 -0
  787. /package/{packages/core/dist → dist}/cli/utils/constants.js.map +0 -0
  788. /package/{packages/core/dist → dist}/cli/utils/files.d.ts +0 -0
  789. /package/{packages/core/dist → dist}/cli/utils/files.d.ts.map +0 -0
  790. /package/{packages/core/dist → dist}/cli/utils/files.js +0 -0
  791. /package/{packages/core/dist → dist}/cli/utils/files.js.map +0 -0
  792. /package/{packages/core/dist → dist}/cli/utils/logger.d.ts +0 -0
  793. /package/{packages/core/dist → dist}/cli/utils/logger.d.ts.map +0 -0
  794. /package/{packages/core/dist → dist}/cli/utils/logger.js +0 -0
  795. /package/{packages/core/dist → dist}/cli/utils/logger.js.map +0 -0
  796. /package/{packages/core/dist → dist}/cli/utils/manifest.d.ts +0 -0
  797. /package/{packages/core/dist → dist}/cli/utils/manifest.d.ts.map +0 -0
  798. /package/{packages/core/dist → dist}/cli/utils/manifest.js +0 -0
  799. /package/{packages/core/dist → dist}/cli/utils/manifest.js.map +0 -0
  800. /package/{packages/core/dist → dist}/cli/utils/node-modules.d.ts +0 -0
  801. /package/{packages/core/dist → dist}/cli/utils/node-modules.d.ts.map +0 -0
  802. /package/{packages/core/dist → dist}/cli/utils/node-modules.js +0 -0
  803. /package/{packages/core/dist → dist}/cli/utils/node-modules.js.map +0 -0
  804. /package/{packages/core/dist → dist}/cli/utils/prompts.d.ts +0 -0
  805. /package/{packages/core/dist → dist}/cli/utils/prompts.d.ts.map +0 -0
  806. /package/{packages/core/dist → dist}/cli/utils/prompts.js +0 -0
  807. /package/{packages/core/dist → dist}/cli/utils/prompts.js.map +0 -0
  808. /package/{packages/core/dist → dist}/cli/utils/settings.d.ts +0 -0
  809. /package/{packages/core/dist → dist}/cli/utils/settings.d.ts.map +0 -0
  810. /package/{packages/core/dist → dist}/cli/utils/settings.js +0 -0
  811. /package/{packages/core/dist → dist}/cli/utils/settings.js.map +0 -0
  812. /package/{packages/core/dist → dist}/cli/utils/symlinks.d.ts +0 -0
  813. /package/{packages/core/dist → dist}/cli/utils/symlinks.d.ts.map +0 -0
  814. /package/{packages/core/dist → dist}/cli/utils/symlinks.js +0 -0
  815. /package/{packages/core/dist → dist}/cli/utils/symlinks.js.map +0 -0
  816. /package/{packages/core/dist → dist}/cli/utils/themes.d.ts +0 -0
  817. /package/{packages/core/dist → dist}/cli/utils/themes.d.ts.map +0 -0
  818. /package/{packages/core/dist → dist}/cli/utils/themes.js +0 -0
  819. /package/{packages/core/dist → dist}/cli/utils/themes.js.map +0 -0
  820. /package/{packages/core/dist → dist}/cli/utils/themes.test.d.ts +0 -0
  821. /package/{packages/core/dist → dist}/cli/utils/themes.test.d.ts.map +0 -0
  822. /package/{packages/core/dist → dist}/cli/utils/themes.test.js +0 -0
  823. /package/{packages/core/dist → dist}/cli/utils/themes.test.js.map +0 -0
  824. /package/{packages/core/dist → dist}/cli/utils/version.d.ts +0 -0
  825. /package/{packages/core/dist → dist}/cli/utils/version.d.ts.map +0 -0
  826. /package/{packages/core/dist → dist}/cli/utils/version.js +0 -0
  827. /package/{packages/core/dist → dist}/cli/utils/version.js.map +0 -0
  828. /package/{packages/core/dist → dist}/cli/workspace.test.d.ts +0 -0
  829. /package/{packages/core/dist → dist}/cli/workspace.test.d.ts.map +0 -0
  830. /package/{packages/core/dist → dist}/cli/workspace.test.js +0 -0
  831. /package/{packages/core/dist → dist}/cli/workspace.test.js.map +0 -0
  832. /package/{packages/core/dist → dist}/index.d.ts +0 -0
  833. /package/{packages/core/dist → dist}/index.d.ts.map +0 -0
  834. /package/{packages/core/dist → dist}/index.js +0 -0
  835. /package/{packages/core/dist → dist}/index.js.map +0 -0
  836. /package/{packages/core/dist → dist}/jira/jira-epic-creation.d.ts +0 -0
  837. /package/{packages/core/dist → dist}/jira/jira-epic-creation.d.ts.map +0 -0
  838. /package/{packages/core/dist → dist}/jira/jira-epic-creation.js +0 -0
  839. /package/{packages/core/dist → dist}/jira/jira-epic-creation.js.map +0 -0
  840. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.d.ts +0 -0
  841. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.d.ts.map +0 -0
  842. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.js +0 -0
  843. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.js.map +0 -0
  844. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.d.ts +0 -0
  845. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.d.ts.map +0 -0
  846. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.js +0 -0
  847. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.js.map +0 -0
  848. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.d.ts +0 -0
  849. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.d.ts.map +0 -0
  850. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.js +0 -0
  851. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.js.map +0 -0
  852. /package/{packages/core/dist → dist}/permissions/index.d.ts +0 -0
  853. /package/{packages/core/dist → dist}/permissions/index.d.ts.map +0 -0
  854. /package/{packages/core/dist → dist}/permissions/index.js +0 -0
  855. /package/{packages/core/dist → dist}/permissions/index.js.map +0 -0
  856. /package/{packages/core/dist → dist}/permissions/permission-schema.d.ts +0 -0
  857. /package/{packages/core/dist → dist}/permissions/permission-schema.d.ts.map +0 -0
  858. /package/{packages/core/dist → dist}/permissions/permission-schema.js +0 -0
  859. /package/{packages/core/dist → dist}/permissions/permission-schema.js.map +0 -0
  860. /package/{packages/core/dist → dist}/permissions/permission-schema.test.d.ts +0 -0
  861. /package/{packages/core/dist → dist}/permissions/permission-schema.test.d.ts.map +0 -0
  862. /package/{packages/core/dist → dist}/permissions/permission-schema.test.js +0 -0
  863. /package/{packages/core/dist → dist}/permissions/permission-schema.test.js.map +0 -0
  864. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.d.ts +0 -0
  865. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.d.ts.map +0 -0
  866. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.js +0 -0
  867. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.js.map +0 -0
  868. /package/{packages/core/dist → dist}/scripts/benchmark-integration.d.ts +0 -0
  869. /package/{packages/core/dist → dist}/scripts/benchmark-integration.d.ts.map +0 -0
  870. /package/{packages/core/dist → dist}/scripts/benchmark-integration.js +0 -0
  871. /package/{packages/core/dist → dist}/scripts/benchmark-integration.js.map +0 -0
  872. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.d.ts +0 -0
  873. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.d.ts.map +0 -0
  874. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.js +0 -0
  875. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.js.map +0 -0
  876. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.d.ts +0 -0
  877. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.d.ts.map +0 -0
  878. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.js +0 -0
  879. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.js.map +0 -0
  880. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.d.ts +0 -0
  881. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.d.ts.map +0 -0
  882. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.js +0 -0
  883. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.js.map +0 -0
  884. /package/{packages/core/dist → dist}/scripts/generate-report.d.ts +0 -0
  885. /package/{packages/core/dist → dist}/scripts/generate-report.d.ts.map +0 -0
  886. /package/{packages/core/dist → dist}/scripts/generate-report.js +0 -0
  887. /package/{packages/core/dist → dist}/scripts/generate-report.js.map +0 -0
  888. /package/{packages/core/dist → dist}/scripts/generate-report.test.d.ts +0 -0
  889. /package/{packages/core/dist → dist}/scripts/generate-report.test.d.ts.map +0 -0
  890. /package/{packages/core/dist → dist}/scripts/generate-report.test.js +0 -0
  891. /package/{packages/core/dist → dist}/scripts/generate-report.test.js.map +0 -0
  892. /package/{packages/core/dist → dist}/scripts/generate-spider-report.d.ts +0 -0
  893. /package/{packages/core/dist → dist}/scripts/generate-spider-report.d.ts.map +0 -0
  894. /package/{packages/core/dist → dist}/scripts/generate-spider-report.js +0 -0
  895. /package/{packages/core/dist → dist}/scripts/generate-spider-report.js.map +0 -0
  896. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.d.ts +0 -0
  897. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.d.ts.map +0 -0
  898. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.js +0 -0
  899. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.js.map +0 -0
  900. /package/{packages/core/dist → dist}/scripts/generate-spider.d.ts +0 -0
  901. /package/{packages/core/dist → dist}/scripts/generate-spider.d.ts.map +0 -0
  902. /package/{packages/core/dist → dist}/scripts/generate-spider.js +0 -0
  903. /package/{packages/core/dist → dist}/scripts/generate-spider.js.map +0 -0
  904. /package/{packages/core/dist → dist}/scripts/generate-spider.test.d.ts +0 -0
  905. /package/{packages/core/dist → dist}/scripts/generate-spider.test.d.ts.map +0 -0
  906. /package/{packages/core/dist → dist}/scripts/generate-spider.test.js +0 -0
  907. /package/{packages/core/dist → dist}/scripts/generate-spider.test.js.map +0 -0
  908. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.d.ts +0 -0
  909. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.d.ts.map +0 -0
  910. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.js +0 -0
  911. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.js.map +0 -0
  912. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.d.ts +0 -0
  913. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.d.ts.map +0 -0
  914. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.js +0 -0
  915. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.js.map +0 -0
  916. /package/{packages/core/dist → dist}/scripts/run-ci.test.d.ts +0 -0
  917. /package/{packages/core/dist → dist}/scripts/run-ci.test.d.ts.map +0 -0
  918. /package/{packages/core/dist → dist}/scripts/run-ci.test.js +0 -0
  919. /package/{packages/core/dist → dist}/scripts/run-ci.test.js.map +0 -0
  920. /package/{packages/core/dist → dist}/scripts/theme-detail.test.d.ts +0 -0
  921. /package/{packages/core/dist → dist}/scripts/theme-detail.test.d.ts.map +0 -0
  922. /package/{packages/core/dist → dist}/scripts/theme-detail.test.js +0 -0
  923. /package/{packages/core/dist → dist}/scripts/theme-detail.test.js.map +0 -0
  924. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.d.ts +0 -0
  925. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.d.ts.map +0 -0
  926. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.js +0 -0
  927. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.js.map +0 -0
  928. /package/{packages/core/dist → dist}/workflow/gate-handler.d.ts +0 -0
  929. /package/{packages/core/dist → dist}/workflow/gate-handler.d.ts.map +0 -0
  930. /package/{packages/core/dist → dist}/workflow/gate-handler.js +0 -0
  931. /package/{packages/core/dist → dist}/workflow/gate-handler.js.map +0 -0
  932. /package/{packages/core/dist → dist}/workflow/gate-handler.test.d.ts +0 -0
  933. /package/{packages/core/dist → dist}/workflow/gate-handler.test.d.ts.map +0 -0
  934. /package/{packages/core/dist → dist}/workflow/gate-handler.test.js +0 -0
  935. /package/{packages/core/dist → dist}/workflow/gate-handler.test.js.map +0 -0
  936. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.d.ts +0 -0
  937. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.d.ts.map +0 -0
  938. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.js +0 -0
  939. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.js.map +0 -0
  940. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.d.ts +0 -0
  941. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.d.ts.map +0 -0
  942. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.js +0 -0
  943. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.js.map +0 -0
  944. /package/{packages/core/dist → dist}/workflow/handoff.d.ts +0 -0
  945. /package/{packages/core/dist → dist}/workflow/handoff.d.ts.map +0 -0
  946. /package/{packages/core/dist → dist}/workflow/handoff.js +0 -0
  947. /package/{packages/core/dist → dist}/workflow/handoff.js.map +0 -0
  948. /package/{packages/core/dist → dist}/workflow/handoff.test.d.ts +0 -0
  949. /package/{packages/core/dist → dist}/workflow/handoff.test.d.ts.map +0 -0
  950. /package/{packages/core/dist → dist}/workflow/session-state.d.ts +0 -0
  951. /package/{packages/core/dist → dist}/workflow/session-state.d.ts.map +0 -0
  952. /package/{packages/core/dist → dist}/workflow/session-state.js +0 -0
  953. /package/{packages/core/dist → dist}/workflow/session-state.js.map +0 -0
  954. /package/{packages/core/dist → dist}/workflow/session-state.test.d.ts +0 -0
  955. /package/{packages/core/dist → dist}/workflow/session-state.test.d.ts.map +0 -0
  956. /package/{packages/core/dist → dist}/workflow/session-state.test.js +0 -0
  957. /package/{packages/core/dist → dist}/workflow/session-state.test.js.map +0 -0
  958. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.d.ts +0 -0
  959. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.d.ts.map +0 -0
  960. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.js +0 -0
  961. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.js.map +0 -0
  962. /package/{packages/core/dist → dist}/workflow/step-parser.d.ts +0 -0
  963. /package/{packages/core/dist → dist}/workflow/step-parser.d.ts.map +0 -0
  964. /package/{packages/core/dist → dist}/workflow/step-parser.js +0 -0
  965. /package/{packages/core/dist → dist}/workflow/step-parser.js.map +0 -0
  966. /package/{packages/core/dist → dist}/workflow/step-parser.test.d.ts +0 -0
  967. /package/{packages/core/dist → dist}/workflow/step-parser.test.d.ts.map +0 -0
  968. /package/{packages/core/dist → dist}/workflow/step-parser.test.js +0 -0
  969. /package/{packages/core/dist → dist}/workflow/step-parser.test.js.map +0 -0
  970. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.d.ts +0 -0
  971. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.d.ts.map +0 -0
  972. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.js +0 -0
  973. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.js.map +0 -0
  974. /package/{packages/core/dist → dist}/workflow/test-cache.d.ts +0 -0
  975. /package/{packages/core/dist → dist}/workflow/test-cache.d.ts.map +0 -0
  976. /package/{packages/core/dist → dist}/workflow/test-cache.js +0 -0
  977. /package/{packages/core/dist → dist}/workflow/test-cache.js.map +0 -0
  978. /package/{packages/core/dist → dist}/workflow/test-cache.test.d.ts +0 -0
  979. /package/{packages/core/dist → dist}/workflow/test-cache.test.d.ts.map +0 -0
  980. /package/{packages/core/dist → dist}/workflow/test-cache.test.js +0 -0
  981. /package/{packages/core/dist → dist}/workflow/test-cache.test.js.map +0 -0
  982. /package/{packages/core/dist → dist}/workflow/trimodal.d.ts +0 -0
  983. /package/{packages/core/dist → dist}/workflow/trimodal.d.ts.map +0 -0
  984. /package/{packages/core/dist → dist}/workflow/trimodal.js +0 -0
  985. /package/{packages/core/dist → dist}/workflow/trimodal.js.map +0 -0
  986. /package/{packages/core/dist → dist}/workflow/trimodal.test.d.ts +0 -0
  987. /package/{packages/core/dist → dist}/workflow/trimodal.test.d.ts.map +0 -0
  988. /package/{packages/core/dist → dist}/workflow/trimodal.test.js +0 -0
  989. /package/{packages/core/dist → dist}/workflow/trimodal.test.js.map +0 -0
  990. /package/{packages/core/dist → dist}/workflow/variable-resolver.d.ts +0 -0
  991. /package/{packages/core/dist → dist}/workflow/variable-resolver.d.ts.map +0 -0
  992. /package/{packages/core/dist → dist}/workflow/variable-resolver.js +0 -0
  993. /package/{packages/core/dist → dist}/workflow/variable-resolver.js.map +0 -0
  994. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.d.ts +0 -0
  995. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.d.ts.map +0 -0
  996. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.js +0 -0
  997. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.js.map +0 -0
  998. /package/{packages/core/dist → dist}/workflow/workflow-executor.d.ts +0 -0
  999. /package/{packages/core/dist → dist}/workflow/workflow-executor.d.ts.map +0 -0
  1000. /package/{packages/core/dist → dist}/workflow/workflow-executor.js +0 -0
  1001. /package/{packages/core/dist → dist}/workflow/workflow-executor.js.map +0 -0
  1002. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.d.ts +0 -0
  1003. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.d.ts.map +0 -0
  1004. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.js +0 -0
  1005. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.js.map +0 -0
  1006. /package/{packages/core/dist → dist}/workflow/workflow-loader.d.ts +0 -0
  1007. /package/{packages/core/dist → dist}/workflow/workflow-loader.d.ts.map +0 -0
  1008. /package/{packages/core/dist → dist}/workflow/workflow-loader.js +0 -0
  1009. /package/{packages/core/dist → dist}/workflow/workflow-loader.js.map +0 -0
  1010. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.d.ts +0 -0
  1011. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.d.ts.map +0 -0
  1012. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.js +0 -0
  1013. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.js.map +0 -0
  1014. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.d.ts +0 -0
  1015. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.d.ts.map +0 -0
  1016. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.js +0 -0
  1017. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.js.map +0 -0
  1018. /package/{packages/core/dist → dist}/workflow/workflow-permissions.d.ts +0 -0
  1019. /package/{packages/core/dist → dist}/workflow/workflow-permissions.d.ts.map +0 -0
  1020. /package/{packages/core/dist → dist}/workflow/workflow-permissions.js +0 -0
  1021. /package/{packages/core/dist → dist}/workflow/workflow-permissions.js.map +0 -0
  1022. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.d.ts +0 -0
  1023. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.d.ts.map +0 -0
  1024. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.js +0 -0
  1025. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.js.map +0 -0
  1026. /package/{packages/core/dist → dist}/workflow/workflow-router.d.ts +0 -0
  1027. /package/{packages/core/dist → dist}/workflow/workflow-router.d.ts.map +0 -0
  1028. /package/{packages/core/dist → dist}/workflow/workflow-router.js +0 -0
  1029. /package/{packages/core/dist → dist}/workflow/workflow-router.js.map +0 -0
  1030. /package/{packages/core/dist → dist}/workflow/workflow-router.test.d.ts +0 -0
  1031. /package/{packages/core/dist → dist}/workflow/workflow-router.test.d.ts.map +0 -0
  1032. /package/{packages/core/dist → dist}/workflow/workflow-router.test.js +0 -0
  1033. /package/{packages/core/dist → dist}/workflow/workflow-router.test.js.map +0 -0
  1034. /package/{packages/core/dist → dist}/workflow/workflow-schema.d.ts +0 -0
  1035. /package/{packages/core/dist → dist}/workflow/workflow-schema.d.ts.map +0 -0
  1036. /package/{packages/core/dist → dist}/workflow/workflow-schema.js +0 -0
  1037. /package/{packages/core/dist → dist}/workflow/workflow-schema.js.map +0 -0
  1038. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.d.ts +0 -0
  1039. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.d.ts.map +0 -0
  1040. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.js +0 -0
  1041. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.js.map +0 -0
  1042. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.d.ts +0 -0
  1043. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.d.ts.map +0 -0
@@ -1,515 +0,0 @@
1
- #!/usr/bin/env bash
2
- # dev-story-workflow-import.test.sh - Tests for Story MSSCI-12140: Import Dev-Story workflow
3
- #
4
- # These tests verify that the BMAD dev-story workflow is correctly imported
5
- # into Pennyfarthing's workflow format.
6
- #
7
- # IMPORTANT: The BMAD dev-story workflow uses a different format than previous imports:
8
- # - workflow.yaml (variable definitions)
9
- # - instructions.xml (procedural steps)
10
- # - checklist.md (Definition of Done)
11
- #
12
- # This is NOT a stepped workflow - it's a reference/BMAD-compat import.
13
- #
14
- # AC1: pennyfarthing-dist/workflows/dev-story/ directory created
15
- # AC2: BMAD workflow.yaml contents converted and integrated
16
- # AC3: instructions.xml copied with variable syntax converted
17
- # AC4: checklist.md copied
18
- # AC5: /workflow list shows dev-story as available workflow
19
- # AC6: Workflow purpose documented (BMAD reference, not TDD replacement)
20
- #
21
- # Run with: ./dev-story-workflow-import.test.sh
22
- # Or: bash dev-story-workflow-import.test.sh
23
-
24
- set -euo pipefail
25
-
26
- # Colors for output
27
- RED='\033[0;31m'
28
- GREEN='\033[0;32m'
29
- YELLOW='\033[1;33m'
30
- NC='\033[0m' # No Color
31
-
32
- # Test counters
33
- TESTS_RUN=0
34
- TESTS_PASSED=0
35
- TESTS_FAILED=0
36
-
37
- # Paths
38
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
39
- PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
40
- BMAD_SOURCE="${BMAD_DEV_STORY_SOURCE:-$HOME/Projects/BMAD-METHOD/src/modules/bmm/workflows/4-implementation/dev-story}"
41
- TARGET_DIR="$PROJECT_ROOT/pennyfarthing-dist/workflows/dev-story"
42
-
43
- # =============================================================================
44
- # Test Framework
45
- # =============================================================================
46
-
47
- assert_eq() {
48
- local expected="$1"
49
- local actual="$2"
50
- local message="${3:-Values should be equal}"
51
-
52
- if [[ "$expected" == "$actual" ]]; then
53
- return 0
54
- else
55
- echo -e "${RED}FAIL${NC}: $message"
56
- echo " Expected: $expected"
57
- echo " Actual: $actual"
58
- return 1
59
- fi
60
- }
61
-
62
- assert_contains() {
63
- local haystack="$1"
64
- local needle="$2"
65
- local message="${3:-Output should contain expected text}"
66
-
67
- if [[ "$haystack" == *"$needle"* ]]; then
68
- return 0
69
- else
70
- echo -e "${RED}FAIL${NC}: $message"
71
- echo " Expected to contain: $needle"
72
- echo " Actual output: ${haystack:0:200}..."
73
- return 1
74
- fi
75
- }
76
-
77
- assert_not_contains() {
78
- local haystack="$1"
79
- local needle="$2"
80
- local message="${3:-Output should not contain text}"
81
-
82
- if [[ "$haystack" != *"$needle"* ]]; then
83
- return 0
84
- else
85
- echo -e "${RED}FAIL${NC}: $message"
86
- echo " Should not contain: $needle"
87
- return 1
88
- fi
89
- }
90
-
91
- assert_file_exists() {
92
- local filepath="$1"
93
- local message="${2:-File should exist}"
94
-
95
- if [[ -f "$filepath" ]]; then
96
- return 0
97
- else
98
- echo -e "${RED}FAIL${NC}: $message"
99
- echo " File not found: $filepath"
100
- return 1
101
- fi
102
- }
103
-
104
- assert_dir_exists() {
105
- local dirpath="$1"
106
- local message="${2:-Directory should exist}"
107
-
108
- if [[ -d "$dirpath" ]]; then
109
- return 0
110
- else
111
- echo -e "${RED}FAIL${NC}: $message"
112
- echo " Directory not found: $dirpath"
113
- return 1
114
- fi
115
- }
116
-
117
- assert_file_contains() {
118
- local filepath="$1"
119
- local needle="$2"
120
- local message="${3:-File should contain text}"
121
-
122
- if [[ ! -f "$filepath" ]]; then
123
- echo -e "${RED}FAIL${NC}: $message"
124
- echo " File not found: $filepath"
125
- return 1
126
- fi
127
-
128
- local content
129
- content=$(cat "$filepath")
130
-
131
- if [[ "$content" == *"$needle"* ]]; then
132
- return 0
133
- else
134
- echo -e "${RED}FAIL${NC}: $message"
135
- echo " Expected file to contain: $needle"
136
- echo " File: $filepath"
137
- return 1
138
- fi
139
- }
140
-
141
- assert_file_not_contains() {
142
- local filepath="$1"
143
- local needle="$2"
144
- local message="${3:-File should not contain text}"
145
-
146
- if [[ ! -f "$filepath" ]]; then
147
- echo -e "${RED}FAIL${NC}: $message"
148
- echo " File not found: $filepath"
149
- return 1
150
- fi
151
-
152
- local content
153
- content=$(cat "$filepath")
154
-
155
- if [[ "$content" != *"$needle"* ]]; then
156
- return 0
157
- else
158
- echo -e "${RED}FAIL${NC}: $message"
159
- echo " Should not contain: $needle"
160
- echo " File: $filepath"
161
- return 1
162
- fi
163
- }
164
-
165
- run_test() {
166
- local test_name="$1"
167
- local test_func="$2"
168
-
169
- TESTS_RUN=$((TESTS_RUN + 1))
170
-
171
- echo -n " $test_name... "
172
-
173
- if $test_func; then
174
- echo -e "${GREEN}PASS${NC}"
175
- TESTS_PASSED=$((TESTS_PASSED + 1))
176
- else
177
- TESTS_FAILED=$((TESTS_FAILED + 1))
178
- fi
179
- }
180
-
181
- # =============================================================================
182
- # Prerequisites Check
183
- # =============================================================================
184
-
185
- check_prerequisites() {
186
- echo "Checking prerequisites..."
187
-
188
- if [[ ! -d "$BMAD_SOURCE" ]]; then
189
- echo -e "${RED}ERROR${NC}: BMAD dev-story workflow source not found at: $BMAD_SOURCE"
190
- echo "Set BMAD_DEV_STORY_SOURCE environment variable to point to the BMAD workflow directory"
191
- exit 1
192
- fi
193
-
194
- if [[ ! -f "$BMAD_SOURCE/workflow.yaml" ]]; then
195
- echo -e "${RED}ERROR${NC}: BMAD dev-story workflow.yaml not found at: $BMAD_SOURCE/workflow.yaml"
196
- exit 1
197
- fi
198
-
199
- echo -e "${GREEN}OK${NC}: Prerequisites met"
200
- echo ""
201
- }
202
-
203
- # =============================================================================
204
- # AC1: pennyfarthing-dist/workflows/dev-story/ directory created
205
- # =============================================================================
206
-
207
- test_ac1_workflow_directory_exists() {
208
- # This test verifies the workflow was migrated to the target directory
209
- # EXPECTED: FAIL until Dev creates the directory
210
-
211
- assert_dir_exists "$TARGET_DIR" \
212
- "dev-story workflow directory should exist at $TARGET_DIR"
213
- }
214
-
215
- test_ac1_workflow_yaml_exists() {
216
- assert_file_exists "$TARGET_DIR/workflow.yaml" \
217
- "workflow.yaml should exist in target directory"
218
- }
219
-
220
- test_ac1_instructions_xml_exists() {
221
- assert_file_exists "$TARGET_DIR/instructions.xml" \
222
- "instructions.xml should exist in target directory"
223
- }
224
-
225
- test_ac1_checklist_md_exists() {
226
- assert_file_exists "$TARGET_DIR/checklist.md" \
227
- "checklist.md should exist in target directory"
228
- }
229
-
230
- # =============================================================================
231
- # AC2: BMAD workflow.yaml contents converted and integrated
232
- # =============================================================================
233
-
234
- test_ac2_workflow_yaml_has_name() {
235
- assert_file_contains "$TARGET_DIR/workflow.yaml" "name:" \
236
- "workflow.yaml should have name field"
237
- }
238
-
239
- test_ac2_workflow_yaml_has_dev_story_name() {
240
- assert_file_contains "$TARGET_DIR/workflow.yaml" "dev-story" \
241
- "workflow.yaml should have dev-story in name"
242
- }
243
-
244
- test_ac2_workflow_yaml_has_description() {
245
- assert_file_contains "$TARGET_DIR/workflow.yaml" "description:" \
246
- "workflow.yaml should have description field"
247
- }
248
-
249
- test_ac2_workflow_yaml_has_type() {
250
- # This workflow may be type: reference or type: bmad-compat
251
- # or could be type: procedural - Dev can decide
252
- assert_file_contains "$TARGET_DIR/workflow.yaml" "type:" \
253
- "workflow.yaml should have type field"
254
- }
255
-
256
- test_ac2_workflow_yaml_has_agent() {
257
- # This workflow should specify dev as the primary agent
258
- assert_file_contains "$TARGET_DIR/workflow.yaml" "agent:" \
259
- "workflow.yaml should have agent field"
260
- }
261
-
262
- test_ac2_no_config_source_reference() {
263
- # The original BMAD workflow.yaml has config_source references
264
- # These should be converted or removed for standalone use
265
- assert_file_not_contains "$TARGET_DIR/workflow.yaml" "{config_source}" \
266
- "workflow.yaml should not have {config_source} references (should be resolved or removed)"
267
- }
268
-
269
- # =============================================================================
270
- # AC3: instructions.xml copied with variable syntax converted
271
- # =============================================================================
272
-
273
- test_ac3_instructions_xml_exists() {
274
- assert_file_exists "$TARGET_DIR/instructions.xml" \
275
- "instructions.xml should be copied"
276
- }
277
-
278
- test_ac3_instructions_has_workflow_tag() {
279
- assert_file_contains "$TARGET_DIR/instructions.xml" "<workflow>" \
280
- "instructions.xml should have <workflow> root tag"
281
- }
282
-
283
- test_ac3_instructions_has_steps() {
284
- assert_file_contains "$TARGET_DIR/instructions.xml" '<step n="1"' \
285
- "instructions.xml should have step elements"
286
- }
287
-
288
- test_ac3_no_dashed_variables_project_root() {
289
- # Variable syntax conversion: {project-root} → {project_root}
290
- assert_file_not_contains "$TARGET_DIR/instructions.xml" "{project-root}" \
291
- "instructions.xml should not have {project-root} (should be {project_root})"
292
- }
293
-
294
- test_ac3_no_dashed_variables_user_skill_level() {
295
- assert_file_not_contains "$TARGET_DIR/instructions.xml" "{user-skill-level}" \
296
- "instructions.xml should not have {user-skill-level} (should be {user_skill_level})"
297
- }
298
-
299
- test_ac3_no_dashed_variables_communication_language() {
300
- assert_file_not_contains "$TARGET_DIR/instructions.xml" "{communication-language}" \
301
- "instructions.xml should not have {communication-language} (should be {communication_language})"
302
- }
303
-
304
- test_ac3_no_dashed_variables_story_path() {
305
- # BMAD uses {{story_path}} but if there are dashed versions they should be converted
306
- assert_file_not_contains "$TARGET_DIR/instructions.xml" "{story-path}" \
307
- "instructions.xml should not have {story-path} (should be {story_path})"
308
- }
309
-
310
- test_ac3_has_all_10_steps() {
311
- # The BMAD dev-story workflow has 10 steps
312
- local content
313
- content=$(cat "$TARGET_DIR/instructions.xml" 2>/dev/null || echo "")
314
-
315
- local step_count=0
316
- for i in 1 2 3 4 5 6 7 8 9 10; do
317
- if [[ "$content" == *"<step n=\"$i\""* ]]; then
318
- step_count=$((step_count + 1))
319
- fi
320
- done
321
-
322
- if [[ $step_count -eq 10 ]]; then
323
- return 0
324
- else
325
- echo -e "${RED}FAIL${NC}: Expected 10 steps, found $step_count"
326
- return 1
327
- fi
328
- }
329
-
330
- # =============================================================================
331
- # AC4: checklist.md copied
332
- # =============================================================================
333
-
334
- test_ac4_checklist_md_exists() {
335
- assert_file_exists "$TARGET_DIR/checklist.md" \
336
- "checklist.md should be copied"
337
- }
338
-
339
- test_ac4_checklist_has_title() {
340
- assert_file_contains "$TARGET_DIR/checklist.md" "Definition of Done" \
341
- "checklist.md should have Definition of Done title"
342
- }
343
-
344
- test_ac4_checklist_has_implementation_section() {
345
- assert_file_contains "$TARGET_DIR/checklist.md" "Implementation Completion" \
346
- "checklist.md should have Implementation Completion section"
347
- }
348
-
349
- test_ac4_checklist_has_testing_section() {
350
- assert_file_contains "$TARGET_DIR/checklist.md" "Testing" \
351
- "checklist.md should have Testing section"
352
- }
353
-
354
- test_ac4_checklist_has_checkbox_items() {
355
- # The checklist should have checkbox items like "- [ ]"
356
- assert_file_contains "$TARGET_DIR/checklist.md" "- [ ]" \
357
- "checklist.md should have checkbox items"
358
- }
359
-
360
- # =============================================================================
361
- # AC5: /workflow list shows dev-story as available workflow
362
- # =============================================================================
363
-
364
- test_ac5_workflow_yaml_valid_yaml() {
365
- # The workflow.yaml should be parseable as YAML
366
- if command -v yq &> /dev/null; then
367
- if yq '.' "$TARGET_DIR/workflow.yaml" > /dev/null 2>&1; then
368
- return 0
369
- else
370
- echo -e "${RED}FAIL${NC}: workflow.yaml is not valid YAML"
371
- return 1
372
- fi
373
- else
374
- # Skip if yq not available
375
- echo -e "${YELLOW}SKIP${NC}: yq not available for YAML validation"
376
- return 0
377
- fi
378
- }
379
-
380
- test_ac5_workflow_has_triggers() {
381
- # For /workflow list to show the workflow, it should have triggers
382
- assert_file_contains "$TARGET_DIR/workflow.yaml" "triggers:" \
383
- "workflow.yaml should have triggers section for workflow listing"
384
- }
385
-
386
- test_ac5_workflow_triggers_has_types() {
387
- assert_file_contains "$TARGET_DIR/workflow.yaml" "types:" \
388
- "workflow.yaml triggers should have types field"
389
- }
390
-
391
- # =============================================================================
392
- # AC6: Workflow purpose documented (BMAD reference, not TDD replacement)
393
- # =============================================================================
394
-
395
- test_ac6_workflow_description_mentions_bmad() {
396
- # The description should clarify this is BMAD-related
397
- local content
398
- content=$(cat "$TARGET_DIR/workflow.yaml" 2>/dev/null || echo "")
399
-
400
- # Should mention BMAD, reference, or compatibility
401
- if [[ "$content" == *"BMAD"* ]] || [[ "$content" == *"bmad"* ]] || \
402
- [[ "$content" == *"reference"* ]] || [[ "$content" == *"compat"* ]]; then
403
- return 0
404
- else
405
- echo -e "${RED}FAIL${NC}: workflow.yaml should document BMAD origin/purpose"
406
- return 1
407
- fi
408
- }
409
-
410
- test_ac6_workflow_not_default() {
411
- # This workflow should NOT be a default workflow (TDD is the default)
412
- assert_file_not_contains "$TARGET_DIR/workflow.yaml" "default: true" \
413
- "dev-story should not be default workflow (TDD is default)"
414
- }
415
-
416
- test_ac6_workflow_has_comment_header() {
417
- # Should have a comment header explaining the workflow
418
- local first_line
419
- first_line=$(head -1 "$TARGET_DIR/workflow.yaml" 2>/dev/null || echo "")
420
-
421
- if [[ "$first_line" == "#"* ]]; then
422
- return 0
423
- else
424
- echo -e "${RED}FAIL${NC}: workflow.yaml should have comment header explaining purpose"
425
- return 1
426
- fi
427
- }
428
-
429
- test_ac6_description_mentions_story_or_implementation() {
430
- # Description should mention story implementation
431
- assert_file_contains "$TARGET_DIR/workflow.yaml" "story" \
432
- "workflow.yaml description should mention story implementation"
433
- }
434
-
435
- # =============================================================================
436
- # Run All Tests
437
- # =============================================================================
438
-
439
- echo ""
440
- echo "=============================================="
441
- echo "Story MSSCI-12140: Import Dev-Story Workflow Tests"
442
- echo "=============================================="
443
- echo ""
444
-
445
- check_prerequisites
446
-
447
- echo "AC1: pennyfarthing-dist/workflows/dev-story/ directory created"
448
- run_test "workflow directory exists" test_ac1_workflow_directory_exists
449
- run_test "workflow.yaml exists" test_ac1_workflow_yaml_exists
450
- run_test "instructions.xml exists" test_ac1_instructions_xml_exists
451
- run_test "checklist.md exists" test_ac1_checklist_md_exists
452
-
453
- echo ""
454
- echo "AC2: BMAD workflow.yaml contents converted and integrated"
455
- run_test "workflow.yaml has name field" test_ac2_workflow_yaml_has_name
456
- run_test "workflow.yaml has dev-story name" test_ac2_workflow_yaml_has_dev_story_name
457
- run_test "workflow.yaml has description" test_ac2_workflow_yaml_has_description
458
- run_test "workflow.yaml has type field" test_ac2_workflow_yaml_has_type
459
- run_test "workflow.yaml has agent field" test_ac2_workflow_yaml_has_agent
460
- run_test "no {config_source} references" test_ac2_no_config_source_reference
461
-
462
- echo ""
463
- echo "AC3: instructions.xml copied with variable syntax converted"
464
- run_test "instructions.xml exists" test_ac3_instructions_xml_exists
465
- run_test "instructions.xml has <workflow> tag" test_ac3_instructions_has_workflow_tag
466
- run_test "instructions.xml has step elements" test_ac3_instructions_has_steps
467
- run_test "no {project-root} dashed variable" test_ac3_no_dashed_variables_project_root
468
- run_test "no {user-skill-level} dashed variable" test_ac3_no_dashed_variables_user_skill_level
469
- run_test "no {communication-language} dashed variable" test_ac3_no_dashed_variables_communication_language
470
- run_test "no {story-path} dashed variable" test_ac3_no_dashed_variables_story_path
471
- run_test "has all 10 steps" test_ac3_has_all_10_steps
472
-
473
- echo ""
474
- echo "AC4: checklist.md copied"
475
- run_test "checklist.md exists" test_ac4_checklist_md_exists
476
- run_test "checklist has Definition of Done title" test_ac4_checklist_has_title
477
- run_test "checklist has Implementation section" test_ac4_checklist_has_implementation_section
478
- run_test "checklist has Testing section" test_ac4_checklist_has_testing_section
479
- run_test "checklist has checkbox items" test_ac4_checklist_has_checkbox_items
480
-
481
- echo ""
482
- echo "AC5: /workflow list shows dev-story as available workflow"
483
- run_test "workflow.yaml is valid YAML" test_ac5_workflow_yaml_valid_yaml
484
- run_test "workflow.yaml has triggers section" test_ac5_workflow_has_triggers
485
- run_test "triggers has types field" test_ac5_workflow_triggers_has_types
486
-
487
- echo ""
488
- echo "AC6: Workflow purpose documented (BMAD reference, not TDD replacement)"
489
- run_test "description mentions BMAD origin" test_ac6_workflow_description_mentions_bmad
490
- run_test "workflow is not default" test_ac6_workflow_not_default
491
- run_test "workflow.yaml has comment header" test_ac6_workflow_has_comment_header
492
- run_test "description mentions story implementation" test_ac6_description_mentions_story_or_implementation
493
-
494
- # =============================================================================
495
- # Summary
496
- # =============================================================================
497
-
498
- echo ""
499
- echo "=============================================="
500
- echo "Test Summary"
501
- echo "=============================================="
502
- echo -e "Tests run: $TESTS_RUN"
503
- echo -e "Tests passed: ${GREEN}$TESTS_PASSED${NC}"
504
- echo -e "Tests failed: ${RED}$TESTS_FAILED${NC}"
505
- echo ""
506
-
507
- if [[ $TESTS_FAILED -gt 0 ]]; then
508
- echo -e "${RED}FAILED${NC} - $TESTS_FAILED test(s) failed"
509
- echo ""
510
- echo "This is expected in RED state - Dev needs to import the workflow."
511
- exit 1
512
- else
513
- echo -e "${GREEN}PASSED${NC} - All tests passed"
514
- exit 0
515
- fi