@pennyfarthing/core 9.1.2 → 9.3.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 (1115) hide show
  1. package/{packages/core/dist → dist}/cli/commands/init.d.ts.map +1 -1
  2. package/{packages/core/dist → dist}/cli/commands/init.js +9 -3
  3. package/{packages/core/dist → dist}/cli/commands/init.js.map +1 -1
  4. package/{packages/core/dist → dist}/cli/ocean-profiles.test.js +9 -12
  5. package/dist/cli/ocean-profiles.test.js.map +1 -0
  6. package/{packages/core/dist → dist}/cli/utils/themes.d.ts +6 -3
  7. package/dist/cli/utils/themes.d.ts.map +1 -0
  8. package/{packages/core/dist → dist}/cli/utils/themes.js +21 -56
  9. package/dist/cli/utils/themes.js.map +1 -0
  10. package/package.json +36 -32
  11. package/LICENSE +0 -14
  12. package/README.md +0 -218
  13. package/packages/core/dist/cli/ocean-profiles.test.js.map +0 -1
  14. package/packages/core/dist/cli/utils/themes.d.ts.map +0 -1
  15. package/packages/core/dist/cli/utils/themes.js.map +0 -1
  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 -179
  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/1984.yaml +0 -304
  110. package/pennyfarthing-dist/personas/themes/a-team.yaml +0 -331
  111. package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +0 -294
  112. package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +0 -324
  113. package/pennyfarthing-dist/personas/themes/all-stars.yaml +0 -326
  114. package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +0 -312
  115. package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +0 -298
  116. package/pennyfarthing-dist/personas/themes/arcane.yaml +0 -282
  117. package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +0 -327
  118. package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +0 -282
  119. package/pennyfarthing-dist/personas/themes/babylon-5.yaml +0 -282
  120. package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +0 -282
  121. package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +0 -282
  122. package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +0 -294
  123. package/pennyfarthing-dist/personas/themes/black-sails.yaml +0 -294
  124. package/pennyfarthing-dist/personas/themes/blade-runner.yaml +0 -289
  125. package/pennyfarthing-dist/personas/themes/bobiverse.yaml +0 -282
  126. package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +0 -319
  127. package/pennyfarthing-dist/personas/themes/catch-22.yaml +0 -304
  128. package/pennyfarthing-dist/personas/themes/classical-composers.yaml +0 -302
  129. package/pennyfarthing-dist/personas/themes/control.yaml +0 -201
  130. package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +0 -312
  131. package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +0 -315
  132. package/pennyfarthing-dist/personas/themes/deadwood.yaml +0 -294
  133. package/pennyfarthing-dist/personas/themes/dickens.yaml +0 -312
  134. package/pennyfarthing-dist/personas/themes/discworld.yaml +0 -334
  135. package/pennyfarthing-dist/personas/themes/doctor-who.yaml +0 -284
  136. package/pennyfarthing-dist/personas/themes/don-quixote.yaml +0 -312
  137. package/pennyfarthing-dist/personas/themes/dune.yaml +0 -301
  138. package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +0 -312
  139. package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +0 -282
  140. package/pennyfarthing-dist/personas/themes/fargo.yaml +0 -322
  141. package/pennyfarthing-dist/personas/themes/film-auteurs.yaml +0 -304
  142. package/pennyfarthing-dist/personas/themes/firefly.yaml +0 -320
  143. package/pennyfarthing-dist/personas/themes/foundation.yaml +0 -284
  144. package/pennyfarthing-dist/personas/themes/futurama.yaml +0 -313
  145. package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +0 -284
  146. package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +0 -365
  147. package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +0 -300
  148. package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +0 -300
  149. package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +0 -326
  150. package/pennyfarthing-dist/personas/themes/hannibal.yaml +0 -294
  151. package/pennyfarthing-dist/personas/themes/harry-potter.yaml +0 -316
  152. package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +0 -285
  153. package/pennyfarthing-dist/personas/themes/historical-figures.yaml +0 -282
  154. package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +0 -323
  155. package/pennyfarthing-dist/personas/themes/house-md.yaml +0 -313
  156. package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +0 -283
  157. package/pennyfarthing-dist/personas/themes/inspector-morse.yaml +0 -294
  158. package/pennyfarthing-dist/personas/themes/jane-austen.yaml +0 -281
  159. package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +0 -312
  160. package/pennyfarthing-dist/personas/themes/justified.yaml +0 -294
  161. package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +0 -343
  162. package/pennyfarthing-dist/personas/themes/les-miserables.yaml +0 -293
  163. package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +0 -326
  164. package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +0 -325
  165. package/pennyfarthing-dist/personas/themes/mad-max.yaml +0 -349
  166. package/pennyfarthing-dist/personas/themes/mad-men.yaml +0 -283
  167. package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +0 -294
  168. package/pennyfarthing-dist/personas/themes/mash.yaml +0 -329
  169. package/pennyfarthing-dist/personas/themes/mass-effect.yaml +0 -283
  170. package/pennyfarthing-dist/personas/themes/military-commanders.yaml +0 -298
  171. package/pennyfarthing-dist/personas/themes/moby-dick.yaml +0 -312
  172. package/pennyfarthing-dist/personas/themes/monty-python.yaml +0 -297
  173. package/pennyfarthing-dist/personas/themes/neuromancer.yaml +0 -294
  174. package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +0 -321
  175. package/pennyfarthing-dist/personas/themes/parks-and-rec.yaml +0 -364
  176. package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +0 -292
  177. package/pennyfarthing-dist/personas/themes/princess-bride.yaml +0 -344
  178. package/pennyfarthing-dist/personas/themes/renaissance-masters.yaml +0 -312
  179. package/pennyfarthing-dist/personas/themes/rome.yaml +0 -294
  180. package/pennyfarthing-dist/personas/themes/russian-masters.yaml +0 -310
  181. package/pennyfarthing-dist/personas/themes/sandman.yaml +0 -282
  182. package/pennyfarthing-dist/personas/themes/scientific-revolutionaries.yaml +0 -312
  183. package/pennyfarthing-dist/personas/themes/shakespeare.yaml +0 -295
  184. package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +0 -283
  185. package/pennyfarthing-dist/personas/themes/snow-crash.yaml +0 -290
  186. package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +0 -294
  187. package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +0 -358
  188. package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +0 -327
  189. package/pennyfarthing-dist/personas/themes/star-wars.yaml +0 -297
  190. package/pennyfarthing-dist/personas/themes/succession.yaml +0 -294
  191. package/pennyfarthing-dist/personas/themes/superfriends.yaml +0 -332
  192. package/pennyfarthing-dist/personas/themes/ted-lasso.yaml +0 -359
  193. package/pennyfarthing-dist/personas/themes/the-americans.yaml +0 -294
  194. package/pennyfarthing-dist/personas/themes/the-crown.yaml +0 -294
  195. package/pennyfarthing-dist/personas/themes/the-expanse.yaml +0 -337
  196. package/pennyfarthing-dist/personas/themes/the-good-place.yaml +0 -315
  197. package/pennyfarthing-dist/personas/themes/the-matrix.yaml +0 -342
  198. package/pennyfarthing-dist/personas/themes/the-odyssey.yaml +0 -294
  199. package/pennyfarthing-dist/personas/themes/the-office.yaml +0 -323
  200. package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +0 -300
  201. package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +0 -294
  202. package/pennyfarthing-dist/personas/themes/the-wire.yaml +0 -303
  203. package/pennyfarthing-dist/personas/themes/the-witcher.yaml +0 -294
  204. package/pennyfarthing-dist/personas/themes/twin-peaks.yaml +0 -296
  205. package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +0 -294
  206. package/pennyfarthing-dist/personas/themes/watchmen.yaml +0 -285
  207. package/pennyfarthing-dist/personas/themes/west-wing.yaml +0 -285
  208. package/pennyfarthing-dist/personas/themes/world-explorers.yaml +0 -312
  209. package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +0 -299
  210. package/pennyfarthing-dist/personas/themes/x-files.yaml +0 -296
  211. package/pennyfarthing-dist/scripts/README.md +0 -87
  212. package/pennyfarthing-dist/scripts/core/README.md +0 -25
  213. package/pennyfarthing-dist/scripts/core/agent-session.sh +0 -390
  214. package/pennyfarthing-dist/scripts/core/check-context.sh +0 -194
  215. package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -112
  216. package/pennyfarthing-dist/scripts/core/phase-check-start.sh +0 -90
  217. package/pennyfarthing-dist/scripts/core/prime.sh +0 -30
  218. package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -21
  219. package/pennyfarthing-dist/scripts/git/README.md +0 -25
  220. package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +0 -267
  221. package/pennyfarthing-dist/scripts/git/git-status-all.sh +0 -152
  222. package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +0 -79
  223. package/pennyfarthing-dist/scripts/git/release.sh +0 -215
  224. package/pennyfarthing-dist/scripts/git/worktree-manager.sh +0 -497
  225. package/pennyfarthing-dist/scripts/health/drift-detection.sh +0 -156
  226. package/pennyfarthing-dist/scripts/hooks/README.md +0 -32
  227. package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
  228. package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +0 -106
  229. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -95
  230. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -65
  231. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -35
  232. package/pennyfarthing-dist/scripts/hooks/post-merge.sh +0 -150
  233. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -102
  234. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -71
  235. package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -42
  236. package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +0 -20
  237. package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +0 -499
  238. package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +0 -30
  239. package/pennyfarthing-dist/scripts/hooks/session-start.sh +0 -97
  240. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -65
  241. package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +0 -78
  242. package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +0 -94
  243. package/pennyfarthing-dist/scripts/jira/README.md +0 -36
  244. package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -95
  245. package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -91
  246. package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -22
  247. package/pennyfarthing-dist/scripts/jira/jira-lib.sh +0 -464
  248. package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -260
  249. package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -18
  250. package/pennyfarthing-dist/scripts/jira/jira-sync.sh +0 -16
  251. package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -16
  252. package/pennyfarthing-dist/scripts/jira/sync-epic-to-jira.sh +0 -16
  253. package/pennyfarthing-dist/scripts/lib/README.md +0 -29
  254. package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -177
  255. package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -136
  256. package/pennyfarthing-dist/scripts/lib/common.sh +0 -212
  257. package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -269
  258. package/pennyfarthing-dist/scripts/lib/find-root.sh +0 -58
  259. package/pennyfarthing-dist/scripts/lib/logging.sh +0 -186
  260. package/pennyfarthing-dist/scripts/lib/retry.sh +0 -76
  261. package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +0 -102
  262. package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +0 -91
  263. package/pennyfarthing-dist/scripts/misc/README.md +0 -44
  264. package/pennyfarthing-dist/scripts/misc/add-short-names.sh +0 -13
  265. package/pennyfarthing-dist/scripts/misc/add_short_names.py +0 -226
  266. package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -77
  267. package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -247
  268. package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -231
  269. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -107
  270. package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -74
  271. package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -10
  272. package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +0 -319
  273. package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -141
  274. package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -778
  275. package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -212
  276. package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -7
  277. package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -319
  278. package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -193
  279. package/pennyfarthing-dist/scripts/misc/statusline.sh +0 -259
  280. package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -275
  281. package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +0 -160
  282. package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +0 -417
  283. package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +0 -54
  284. package/pennyfarthing-dist/scripts/sprint/README.md +0 -29
  285. package/pennyfarthing-dist/scripts/sprint/archive-story.sh +0 -133
  286. package/pennyfarthing-dist/scripts/sprint/available-stories.sh +0 -91
  287. package/pennyfarthing-dist/scripts/sprint/check-story.sh +0 -158
  288. package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +0 -52
  289. package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +0 -63
  290. package/pennyfarthing-dist/scripts/sprint/list-future.sh +0 -145
  291. package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +0 -110
  292. package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +0 -148
  293. package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +0 -415
  294. package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +0 -33
  295. package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +0 -230
  296. package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +0 -134
  297. package/pennyfarthing-dist/scripts/sprint/validate-sprint-yaml.sh +0 -139
  298. package/pennyfarthing-dist/scripts/story/README.md +0 -23
  299. package/pennyfarthing-dist/scripts/story/create-story.sh +0 -19
  300. package/pennyfarthing-dist/scripts/story/size-story.sh +0 -18
  301. package/pennyfarthing-dist/scripts/story/story-template.sh +0 -18
  302. package/pennyfarthing-dist/scripts/test/README.md +0 -23
  303. package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +0 -59
  304. package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +0 -220
  305. package/pennyfarthing-dist/scripts/test/swebench-judge.py +0 -374
  306. package/pennyfarthing-dist/scripts/test/test-cache.sh +0 -165
  307. package/pennyfarthing-dist/scripts/test/test-setup.sh +0 -337
  308. package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -582
  309. package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -515
  310. package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -599
  311. package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +0 -332
  312. package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -573
  313. package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -859
  314. package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -662
  315. package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -589
  316. package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -106
  317. package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +0 -597
  318. package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -514
  319. package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -517
  320. package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -331
  321. package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -647
  322. package/pennyfarthing-dist/scripts/theme/README.md +0 -22
  323. package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +0 -13
  324. package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +0 -402
  325. package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -73
  326. package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +0 -97
  327. package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +0 -576
  328. package/pennyfarthing-dist/scripts/workflow/README.md +0 -28
  329. package/pennyfarthing-dist/scripts/workflow/check.py +0 -502
  330. package/pennyfarthing-dist/scripts/workflow/check.sh +0 -24
  331. package/pennyfarthing-dist/scripts/workflow/finish-story.sh +0 -154
  332. package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +0 -222
  333. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +0 -61
  334. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +0 -13
  335. package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +0 -124
  336. package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +0 -34
  337. package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +0 -157
  338. package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +0 -132
  339. package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +0 -250
  340. package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +0 -161
  341. package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +0 -246
  342. package/pennyfarthing-dist/skills/changelog/SKILL.md +0 -385
  343. package/pennyfarthing-dist/skills/code-review/SKILL.md +0 -172
  344. package/pennyfarthing-dist/skills/context-engineering/SKILL.md +0 -277
  345. package/pennyfarthing-dist/skills/cyclist/SKILL.md +0 -88
  346. package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +0 -461
  347. package/pennyfarthing-dist/skills/finalize-run/SKILL.md +0 -261
  348. package/pennyfarthing-dist/skills/jira/SKILL.md +0 -508
  349. package/pennyfarthing-dist/skills/judge/SKILL.md +0 -644
  350. package/pennyfarthing-dist/skills/just/SKILL.md +0 -414
  351. package/pennyfarthing-dist/skills/mermaid/SKILL.md +0 -256
  352. package/pennyfarthing-dist/skills/otel/skill.md +0 -227
  353. package/pennyfarthing-dist/skills/permissions/skill.md +0 -175
  354. package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +0 -187
  355. package/pennyfarthing-dist/skills/skill-registry.schema.json +0 -107
  356. package/pennyfarthing-dist/skills/skill-registry.yaml +0 -393
  357. package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +0 -101
  358. package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +0 -97
  359. package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +0 -164
  360. package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +0 -101
  361. package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +0 -116
  362. package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +0 -164
  363. package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +0 -39
  364. package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +0 -147
  365. package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +0 -93
  366. package/pennyfarthing-dist/skills/sprint/skill.md +0 -465
  367. package/pennyfarthing-dist/skills/story/scripts/create-story.sh +0 -159
  368. package/pennyfarthing-dist/skills/story/scripts/size-story.sh +0 -198
  369. package/pennyfarthing-dist/skills/story/scripts/story-template.sh +0 -162
  370. package/pennyfarthing-dist/skills/story/skill.md +0 -219
  371. package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +0 -446
  372. package/pennyfarthing-dist/skills/testing/SKILL.md +0 -121
  373. package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +0 -124
  374. package/pennyfarthing-dist/skills/theme/skill.md +0 -141
  375. package/pennyfarthing-dist/skills/theme-creation/SKILL.md +0 -178
  376. package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +0 -91
  377. package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +0 -163
  378. package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +0 -138
  379. package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +0 -273
  380. package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +0 -167
  381. package/pennyfarthing-dist/skills/workflow/skill.md +0 -345
  382. package/pennyfarthing-dist/skills/yq/SKILL.md +0 -272
  383. package/pennyfarthing-dist/templates/LEADERBOARD.schema.yaml +0 -187
  384. package/pennyfarthing-dist/templates/LEADERBOARD.template.md +0 -59
  385. package/pennyfarthing-dist/templates/agent-scopes.yaml.template +0 -276
  386. package/pennyfarthing-dist/templates/pennyfarthing-settings.yaml.template +0 -61
  387. package/pennyfarthing-dist/templates/persona-config.yaml.template +0 -22
  388. package/pennyfarthing-dist/templates/preferences.yaml.template +0 -15
  389. package/pennyfarthing-dist/templates/settings.local.json.template +0 -110
  390. package/pennyfarthing-dist/templates/setup-env.sh.template +0 -18
  391. package/pennyfarthing-dist/templates/shared-context.md.template +0 -70
  392. package/pennyfarthing-dist/templates/sidecar/decisions.md.template +0 -40
  393. package/pennyfarthing-dist/templates/sidecar/gotchas.md.template +0 -37
  394. package/pennyfarthing-dist/templates/sidecar/patterns.md.template +0 -34
  395. package/pennyfarthing-dist/workflows/agent-docs.yaml +0 -70
  396. package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +0 -113
  397. package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +0 -105
  398. package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +0 -127
  399. package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +0 -145
  400. package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +0 -150
  401. package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +0 -145
  402. package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +0 -154
  403. package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +0 -172
  404. package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +0 -102
  405. package/pennyfarthing-dist/workflows/architecture.yaml +0 -65
  406. package/pennyfarthing-dist/workflows/bdd.yaml +0 -60
  407. package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +0 -62
  408. package/pennyfarthing-dist/workflows/brainstorming/checklist.md +0 -44
  409. package/pennyfarthing-dist/workflows/brainstorming/instructions.md +0 -736
  410. package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +0 -49
  411. package/pennyfarthing-dist/workflows/code-review/checklist.md +0 -23
  412. package/pennyfarthing-dist/workflows/code-review/instructions.md +0 -234
  413. package/pennyfarthing-dist/workflows/code-review/workflow.yaml +0 -51
  414. package/pennyfarthing-dist/workflows/dev-story/checklist.md +0 -80
  415. package/pennyfarthing-dist/workflows/dev-story/instructions.xml +0 -410
  416. package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +0 -50
  417. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +0 -281
  418. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +0 -256
  419. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +0 -298
  420. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +0 -177
  421. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +0 -145
  422. package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +0 -57
  423. package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +0 -28
  424. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +0 -103
  425. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +0 -147
  426. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +0 -215
  427. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +0 -97
  428. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +0 -78
  429. package/pennyfarthing-dist/workflows/git-cleanup.yaml +0 -59
  430. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +0 -211
  431. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +0 -199
  432. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -202
  433. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +0 -162
  434. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +0 -280
  435. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +0 -158
  436. package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +0 -4
  437. package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +0 -40
  438. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-01-connect.md +0 -257
  439. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-02-explore.md +0 -107
  440. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-03-fix.md +0 -127
  441. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-04-commit.md +0 -122
  442. package/pennyfarthing-dist/workflows/interactive-debug/workflow.yaml +0 -51
  443. package/pennyfarthing-dist/workflows/patch.yaml +0 -67
  444. package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +0 -13
  445. package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +0 -197
  446. package/pennyfarthing-dist/workflows/prd/data/project-types.csv +0 -11
  447. package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +0 -197
  448. package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +0 -159
  449. package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +0 -230
  450. package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +0 -232
  451. package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +0 -219
  452. package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +0 -213
  453. package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +0 -232
  454. package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +0 -243
  455. package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +0 -234
  456. package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +0 -237
  457. package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +0 -248
  458. package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +0 -223
  459. package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +0 -186
  460. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +0 -253
  461. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +0 -214
  462. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +0 -255
  463. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +0 -259
  464. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +0 -174
  465. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +0 -224
  466. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +0 -197
  467. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +0 -215
  468. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +0 -180
  469. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +0 -220
  470. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +0 -234
  471. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +0 -223
  472. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -211
  473. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +0 -249
  474. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +0 -269
  475. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +0 -215
  476. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +0 -270
  477. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +0 -248
  478. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +0 -238
  479. package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +0 -10
  480. package/pennyfarthing-dist/workflows/prd/workflow.yaml +0 -42
  481. package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +0 -195
  482. package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +0 -180
  483. package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +0 -221
  484. package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +0 -224
  485. package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +0 -228
  486. package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +0 -243
  487. package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +0 -216
  488. package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +0 -10
  489. package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +0 -31
  490. package/pennyfarthing-dist/workflows/project-context/project-context-template.md +0 -21
  491. package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +0 -206
  492. package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +0 -349
  493. package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +0 -306
  494. package/pennyfarthing-dist/workflows/project-context/workflow.yaml +0 -27
  495. package/pennyfarthing-dist/workflows/project-setup/steps/step-01-discover.md +0 -157
  496. package/pennyfarthing-dist/workflows/project-setup/steps/step-02-clone-repos.md +0 -217
  497. package/pennyfarthing-dist/workflows/project-setup/steps/step-03-repos-yaml.md +0 -159
  498. package/pennyfarthing-dist/workflows/project-setup/steps/step-04-claude-md.md +0 -186
  499. package/pennyfarthing-dist/workflows/project-setup/steps/step-05-shared-context.md +0 -185
  500. package/pennyfarthing-dist/workflows/project-setup/steps/step-06-task-runner.md +0 -279
  501. package/pennyfarthing-dist/workflows/project-setup/steps/step-07-theme.md +0 -200
  502. package/pennyfarthing-dist/workflows/project-setup/steps/step-08-cyclist.md +0 -245
  503. package/pennyfarthing-dist/workflows/project-setup/steps/step-09-complete.md +0 -203
  504. package/pennyfarthing-dist/workflows/project-setup/workflow.yaml +0 -41
  505. package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +0 -177
  506. package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +0 -143
  507. package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +0 -138
  508. package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +0 -135
  509. package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +0 -129
  510. package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +0 -163
  511. package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +0 -27
  512. package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +0 -201
  513. package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +0 -156
  514. package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +0 -140
  515. package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +0 -203
  516. package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +0 -74
  517. package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +0 -27
  518. package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +0 -159
  519. package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +0 -253
  520. package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +0 -263
  521. package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +0 -232
  522. package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +0 -260
  523. package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +0 -477
  524. package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +0 -205
  525. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +0 -262
  526. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +0 -227
  527. package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +0 -275
  528. package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +0 -286
  529. package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +0 -203
  530. package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +0 -510
  531. package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +0 -159
  532. package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +0 -264
  533. package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +0 -274
  534. package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +0 -228
  535. package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +0 -267
  536. package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +0 -522
  537. package/pennyfarthing-dist/workflows/research/templates/research.template.md +0 -29
  538. package/pennyfarthing-dist/workflows/research/workflow.yaml +0 -45
  539. package/pennyfarthing-dist/workflows/retrospective/checklist.md +0 -31
  540. package/pennyfarthing-dist/workflows/retrospective/instructions.md +0 -1443
  541. package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +0 -50
  542. package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +0 -33
  543. package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +0 -55
  544. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +0 -69
  545. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +0 -61
  546. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +0 -80
  547. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +0 -90
  548. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +0 -78
  549. package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +0 -34
  550. package/pennyfarthing-dist/workflows/tdd.yaml +0 -50
  551. package/pennyfarthing-dist/workflows/trivial.yaml +0 -40
  552. package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +0 -141
  553. package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +0 -133
  554. package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +0 -196
  555. package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +0 -222
  556. package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +0 -225
  557. package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +0 -240
  558. package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +0 -258
  559. package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +0 -260
  560. package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +0 -230
  561. package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +0 -230
  562. package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +0 -247
  563. package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +0 -254
  564. package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +0 -243
  565. package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +0 -270
  566. package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +0 -234
  567. package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +0 -13
  568. package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +0 -41
  569. package/pennyfarthing_scripts/README.md +0 -66
  570. package/pennyfarthing_scripts/__init__.py +0 -17
  571. package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  572. package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  573. package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
  574. package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
  575. package/pennyfarthing_scripts/__pycache__/hooks.cpython-314.pyc +0 -0
  576. package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
  577. package/pennyfarthing_scripts/__pycache__/jira_bidirectional_sync.cpython-314.pyc +0 -0
  578. package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
  579. package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
  580. package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
  581. package/pennyfarthing_scripts/__pycache__/output.cpython-314.pyc +0 -0
  582. package/pennyfarthing_scripts/__pycache__/patch_mode.cpython-314.pyc +0 -0
  583. package/pennyfarthing_scripts/__pycache__/schema_validation_hook.cpython-314.pyc +0 -0
  584. package/pennyfarthing_scripts/__pycache__/sprint.cpython-314.pyc +0 -0
  585. package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
  586. package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
  587. package/pennyfarthing_scripts/bellmode_hook.py +0 -154
  588. package/pennyfarthing_scripts/brownfield/__init__.py +0 -35
  589. package/pennyfarthing_scripts/brownfield/__main__.py +0 -7
  590. package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
  591. package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
  592. package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
  593. package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
  594. package/pennyfarthing_scripts/brownfield/cli.py +0 -131
  595. package/pennyfarthing_scripts/brownfield/discover.py +0 -753
  596. package/pennyfarthing_scripts/cli.py +0 -168
  597. package/pennyfarthing_scripts/common/__init__.py +0 -49
  598. package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
  599. package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
  600. package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
  601. package/pennyfarthing_scripts/common/config.py +0 -91
  602. package/pennyfarthing_scripts/common/output.py +0 -180
  603. package/pennyfarthing_scripts/config.py +0 -21
  604. package/pennyfarthing_scripts/context.py +0 -414
  605. package/pennyfarthing_scripts/git/__init__.py +0 -29
  606. package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
  607. package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
  608. package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
  609. package/pennyfarthing_scripts/git/create_branches.py +0 -439
  610. package/pennyfarthing_scripts/git/status_all.py +0 -310
  611. package/pennyfarthing_scripts/hooks.py +0 -455
  612. package/pennyfarthing_scripts/jira/__init__.py +0 -93
  613. package/pennyfarthing_scripts/jira/__main__.py +0 -10
  614. package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
  615. package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
  616. package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
  617. package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
  618. package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
  619. package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
  620. package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
  621. package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
  622. package/pennyfarthing_scripts/jira/__pycache__/mappings.cpython-314.pyc +0 -0
  623. package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
  624. package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
  625. package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
  626. package/pennyfarthing_scripts/jira/bidirectional.py +0 -561
  627. package/pennyfarthing_scripts/jira/claim.py +0 -211
  628. package/pennyfarthing_scripts/jira/cli.py +0 -150
  629. package/pennyfarthing_scripts/jira/client.py +0 -613
  630. package/pennyfarthing_scripts/jira/epic.py +0 -176
  631. package/pennyfarthing_scripts/jira/story.py +0 -219
  632. package/pennyfarthing_scripts/jira/sync.py +0 -350
  633. package/pennyfarthing_scripts/jira_bidirectional_sync.py +0 -37
  634. package/pennyfarthing_scripts/jira_epic_creation.py +0 -30
  635. package/pennyfarthing_scripts/jira_sync.py +0 -36
  636. package/pennyfarthing_scripts/jira_sync_story.py +0 -30
  637. package/pennyfarthing_scripts/migration/__init__.py +0 -39
  638. package/pennyfarthing_scripts/migration/__main__.py +0 -10
  639. package/pennyfarthing_scripts/migration/__pycache__/__init__.cpython-314.pyc +0 -0
  640. package/pennyfarthing_scripts/migration/__pycache__/__main__.cpython-314.pyc +0 -0
  641. package/pennyfarthing_scripts/migration/__pycache__/cli.cpython-314.pyc +0 -0
  642. package/pennyfarthing_scripts/migration/__pycache__/session.cpython-314.pyc +0 -0
  643. package/pennyfarthing_scripts/migration/__pycache__/skill.cpython-314.pyc +0 -0
  644. package/pennyfarthing_scripts/migration/__pycache__/step.cpython-314.pyc +0 -0
  645. package/pennyfarthing_scripts/migration/__pycache__/validate.cpython-314.pyc +0 -0
  646. package/pennyfarthing_scripts/migration/cli.py +0 -304
  647. package/pennyfarthing_scripts/migration/session.py +0 -384
  648. package/pennyfarthing_scripts/migration/skill.py +0 -188
  649. package/pennyfarthing_scripts/migration/step.py +0 -229
  650. package/pennyfarthing_scripts/migration/validate.py +0 -282
  651. package/pennyfarthing_scripts/output.py +0 -37
  652. package/pennyfarthing_scripts/patch_mode.py +0 -449
  653. package/pennyfarthing_scripts/preflight/__init__.py +0 -17
  654. package/pennyfarthing_scripts/preflight/__main__.py +0 -10
  655. package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
  656. package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
  657. package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
  658. package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
  659. package/pennyfarthing_scripts/preflight/cli.py +0 -141
  660. package/pennyfarthing_scripts/preflight/finish.py +0 -382
  661. package/pennyfarthing_scripts/pretooluse_hook.py +0 -142
  662. package/pennyfarthing_scripts/prime/__init__.py +0 -125
  663. package/pennyfarthing_scripts/prime/__main__.py +0 -8
  664. package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
  665. package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
  666. package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
  667. package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
  668. package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
  669. package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
  670. package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
  671. package/pennyfarthing_scripts/prime/__pycache__/tiers.cpython-314.pyc +0 -0
  672. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  673. package/pennyfarthing_scripts/prime/cli.py +0 -583
  674. package/pennyfarthing_scripts/prime/loader.py +0 -239
  675. package/pennyfarthing_scripts/prime/models.py +0 -178
  676. package/pennyfarthing_scripts/prime/persona.py +0 -329
  677. package/pennyfarthing_scripts/prime/session.py +0 -183
  678. package/pennyfarthing_scripts/prime/tiers.py +0 -201
  679. package/pennyfarthing_scripts/prime/workflow.py +0 -275
  680. package/pennyfarthing_scripts/schema_validation_hook.py +0 -306
  681. package/pennyfarthing_scripts/sprint/__init__.py +0 -66
  682. package/pennyfarthing_scripts/sprint/__main__.py +0 -10
  683. package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
  684. package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
  685. package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
  686. package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
  687. package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
  688. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  689. package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
  690. package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
  691. package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
  692. package/pennyfarthing_scripts/sprint/archive.py +0 -108
  693. package/pennyfarthing_scripts/sprint/archive_epic.py +0 -399
  694. package/pennyfarthing_scripts/sprint/cli.py +0 -284
  695. package/pennyfarthing_scripts/sprint/import_epic.py +0 -431
  696. package/pennyfarthing_scripts/sprint/loader.py +0 -193
  697. package/pennyfarthing_scripts/sprint/status.py +0 -122
  698. package/pennyfarthing_scripts/sprint/validator.py +0 -405
  699. package/pennyfarthing_scripts/sprint/work.py +0 -192
  700. package/pennyfarthing_scripts/story/__init__.py +0 -67
  701. package/pennyfarthing_scripts/story/__main__.py +0 -10
  702. package/pennyfarthing_scripts/story/__pycache__/__init__.cpython-314.pyc +0 -0
  703. package/pennyfarthing_scripts/story/__pycache__/__main__.cpython-314.pyc +0 -0
  704. package/pennyfarthing_scripts/story/__pycache__/cli.cpython-314.pyc +0 -0
  705. package/pennyfarthing_scripts/story/__pycache__/create.cpython-314.pyc +0 -0
  706. package/pennyfarthing_scripts/story/__pycache__/size.cpython-314.pyc +0 -0
  707. package/pennyfarthing_scripts/story/__pycache__/template.cpython-314.pyc +0 -0
  708. package/pennyfarthing_scripts/story/cli.py +0 -105
  709. package/pennyfarthing_scripts/story/create.py +0 -167
  710. package/pennyfarthing_scripts/story/size.py +0 -113
  711. package/pennyfarthing_scripts/story/template.py +0 -151
  712. package/pennyfarthing_scripts/swebench.py +0 -216
  713. package/pennyfarthing_scripts/tests/__init__.py +0 -1
  714. package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
  715. package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
  716. package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
  717. package/pennyfarthing_scripts/tests/__pycache__/test_cli_modules.cpython-314-pytest-9.0.2.pyc +0 -0
  718. package/pennyfarthing_scripts/tests/__pycache__/test_common.cpython-314-pytest-9.0.2.pyc +0 -0
  719. package/pennyfarthing_scripts/tests/__pycache__/test_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
  720. package/pennyfarthing_scripts/tests/__pycache__/test_jira_package.cpython-314-pytest-9.0.2.pyc +0 -0
  721. package/pennyfarthing_scripts/tests/__pycache__/test_package_structure.cpython-314-pytest-9.0.2.pyc +0 -0
  722. package/pennyfarthing_scripts/tests/__pycache__/test_patch_mode.cpython-314-pytest-9.0.2.pyc +0 -0
  723. package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
  724. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_package.cpython-314-pytest-9.0.2.pyc +0 -0
  725. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
  726. package/pennyfarthing_scripts/tests/__pycache__/test_story_package.cpython-314-pytest-9.0.2.pyc +0 -0
  727. package/pennyfarthing_scripts/tests/__pycache__/test_tiers.cpython-314-pytest-9.0.2.pyc +0 -0
  728. package/pennyfarthing_scripts/tests/__pycache__/test_token_counting.cpython-314-pytest-9.0.2.pyc +0 -0
  729. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_check.cpython-314-pytest-9.0.2.pyc +0 -0
  730. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_cli.cpython-314-pytest-9.0.2.pyc +0 -0
  731. package/pennyfarthing_scripts/tests/conftest.py +0 -106
  732. package/pennyfarthing_scripts/tests/test_brownfield.py +0 -842
  733. package/pennyfarthing_scripts/tests/test_cli_modules.py +0 -245
  734. package/pennyfarthing_scripts/tests/test_common.py +0 -180
  735. package/pennyfarthing_scripts/tests/test_git_utils.py +0 -866
  736. package/pennyfarthing_scripts/tests/test_jira_package.py +0 -334
  737. package/pennyfarthing_scripts/tests/test_package_structure.py +0 -372
  738. package/pennyfarthing_scripts/tests/test_patch_mode.py +0 -830
  739. package/pennyfarthing_scripts/tests/test_prime.py +0 -1050
  740. package/pennyfarthing_scripts/tests/test_sprint_package.py +0 -236
  741. package/pennyfarthing_scripts/tests/test_sprint_validator.py +0 -675
  742. package/pennyfarthing_scripts/tests/test_story_package.py +0 -156
  743. package/pennyfarthing_scripts/tests/test_tiers.py +0 -1090
  744. package/pennyfarthing_scripts/tests/test_token_counting.py +0 -559
  745. package/pennyfarthing_scripts/tests/test_workflow_check.py +0 -341
  746. package/pennyfarthing_scripts/welcome_hook.py +0 -157
  747. package/pennyfarthing_scripts/workflow.py +0 -287
  748. /package/{packages/core/bin → bin}/pennyfarthing.js +0 -0
  749. /package/{packages/core/dist → dist}/bmad/context-reader.d.ts +0 -0
  750. /package/{packages/core/dist → dist}/bmad/context-reader.d.ts.map +0 -0
  751. /package/{packages/core/dist → dist}/bmad/context-reader.js +0 -0
  752. /package/{packages/core/dist → dist}/bmad/context-reader.js.map +0 -0
  753. /package/{packages/core/dist → dist}/bmad/context-reader.test.d.ts +0 -0
  754. /package/{packages/core/dist → dist}/bmad/context-reader.test.d.ts.map +0 -0
  755. /package/{packages/core/dist → dist}/bmad/context-reader.test.js +0 -0
  756. /package/{packages/core/dist → dist}/bmad/context-reader.test.js.map +0 -0
  757. /package/{packages/core/dist → dist}/bmad/epics-parser.d.ts +0 -0
  758. /package/{packages/core/dist → dist}/bmad/epics-parser.d.ts.map +0 -0
  759. /package/{packages/core/dist → dist}/bmad/epics-parser.js +0 -0
  760. /package/{packages/core/dist → dist}/bmad/epics-parser.js.map +0 -0
  761. /package/{packages/core/dist → dist}/bmad/epics-parser.test.d.ts +0 -0
  762. /package/{packages/core/dist → dist}/bmad/epics-parser.test.d.ts.map +0 -0
  763. /package/{packages/core/dist → dist}/bmad/epics-parser.test.js +0 -0
  764. /package/{packages/core/dist → dist}/bmad/epics-parser.test.js.map +0 -0
  765. /package/{packages/core/dist → dist}/bmad/index.d.ts +0 -0
  766. /package/{packages/core/dist → dist}/bmad/index.d.ts.map +0 -0
  767. /package/{packages/core/dist → dist}/bmad/index.js +0 -0
  768. /package/{packages/core/dist → dist}/bmad/index.js.map +0 -0
  769. /package/{packages/core/dist → dist}/bmad/status-sync.d.ts +0 -0
  770. /package/{packages/core/dist → dist}/bmad/status-sync.d.ts.map +0 -0
  771. /package/{packages/core/dist → dist}/bmad/status-sync.js +0 -0
  772. /package/{packages/core/dist → dist}/bmad/status-sync.js.map +0 -0
  773. /package/{packages/core/dist → dist}/bmad/status-sync.test.d.ts +0 -0
  774. /package/{packages/core/dist → dist}/bmad/status-sync.test.d.ts.map +0 -0
  775. /package/{packages/core/dist → dist}/bmad/status-sync.test.js +0 -0
  776. /package/{packages/core/dist → dist}/bmad/status-sync.test.js.map +0 -0
  777. /package/{packages/core/dist → dist}/bmad/story-exporter.d.ts +0 -0
  778. /package/{packages/core/dist → dist}/bmad/story-exporter.d.ts.map +0 -0
  779. /package/{packages/core/dist → dist}/bmad/story-exporter.js +0 -0
  780. /package/{packages/core/dist → dist}/bmad/story-exporter.js.map +0 -0
  781. /package/{packages/core/dist → dist}/bmad/story-exporter.test.d.ts +0 -0
  782. /package/{packages/core/dist → dist}/bmad/story-exporter.test.d.ts.map +0 -0
  783. /package/{packages/core/dist → dist}/bmad/story-exporter.test.js +0 -0
  784. /package/{packages/core/dist → dist}/bmad/story-exporter.test.js.map +0 -0
  785. /package/{packages/core/dist → dist}/bmad/story-parser.d.ts +0 -0
  786. /package/{packages/core/dist → dist}/bmad/story-parser.d.ts.map +0 -0
  787. /package/{packages/core/dist → dist}/bmad/story-parser.js +0 -0
  788. /package/{packages/core/dist → dist}/bmad/story-parser.js.map +0 -0
  789. /package/{packages/core/dist → dist}/bmad/story-parser.test.d.ts +0 -0
  790. /package/{packages/core/dist → dist}/bmad/story-parser.test.d.ts.map +0 -0
  791. /package/{packages/core/dist → dist}/bmad/story-parser.test.js +0 -0
  792. /package/{packages/core/dist → dist}/bmad/story-parser.test.js.map +0 -0
  793. /package/{packages/core/dist → dist}/cli/commands/command.d.ts +0 -0
  794. /package/{packages/core/dist → dist}/cli/commands/command.d.ts.map +0 -0
  795. /package/{packages/core/dist → dist}/cli/commands/command.js +0 -0
  796. /package/{packages/core/dist → dist}/cli/commands/command.js.map +0 -0
  797. /package/{packages/core/dist → dist}/cli/commands/cyclist.d.ts +0 -0
  798. /package/{packages/core/dist → dist}/cli/commands/cyclist.d.ts.map +0 -0
  799. /package/{packages/core/dist → dist}/cli/commands/cyclist.js +0 -0
  800. /package/{packages/core/dist → dist}/cli/commands/cyclist.js.map +0 -0
  801. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.d.ts +0 -0
  802. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.d.ts.map +0 -0
  803. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.js +0 -0
  804. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.js.map +0 -0
  805. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.d.ts +0 -0
  806. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.d.ts.map +0 -0
  807. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.js +0 -0
  808. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.js.map +0 -0
  809. /package/{packages/core/dist → dist}/cli/commands/doctor.d.ts +0 -0
  810. /package/{packages/core/dist → dist}/cli/commands/doctor.d.ts.map +0 -0
  811. /package/{packages/core/dist → dist}/cli/commands/doctor.js +0 -0
  812. /package/{packages/core/dist → dist}/cli/commands/doctor.js.map +0 -0
  813. /package/{packages/core/dist → dist}/cli/commands/init.d.ts +0 -0
  814. /package/{packages/core/dist → dist}/cli/commands/skill.d.ts +0 -0
  815. /package/{packages/core/dist → dist}/cli/commands/skill.d.ts.map +0 -0
  816. /package/{packages/core/dist → dist}/cli/commands/skill.js +0 -0
  817. /package/{packages/core/dist → dist}/cli/commands/skill.js.map +0 -0
  818. /package/{packages/core/dist → dist}/cli/commands/theme.d.ts +0 -0
  819. /package/{packages/core/dist → dist}/cli/commands/theme.d.ts.map +0 -0
  820. /package/{packages/core/dist → dist}/cli/commands/theme.js +0 -0
  821. /package/{packages/core/dist → dist}/cli/commands/theme.js.map +0 -0
  822. /package/{packages/core/dist → dist}/cli/commands/uninstall.d.ts +0 -0
  823. /package/{packages/core/dist → dist}/cli/commands/uninstall.d.ts.map +0 -0
  824. /package/{packages/core/dist → dist}/cli/commands/uninstall.js +0 -0
  825. /package/{packages/core/dist → dist}/cli/commands/uninstall.js.map +0 -0
  826. /package/{packages/core/dist → dist}/cli/commands/update.d.ts +0 -0
  827. /package/{packages/core/dist → dist}/cli/commands/update.d.ts.map +0 -0
  828. /package/{packages/core/dist → dist}/cli/commands/update.js +0 -0
  829. /package/{packages/core/dist → dist}/cli/commands/update.js.map +0 -0
  830. /package/{packages/core/dist → dist}/cli/commands/version.d.ts +0 -0
  831. /package/{packages/core/dist → dist}/cli/commands/version.d.ts.map +0 -0
  832. /package/{packages/core/dist → dist}/cli/commands/version.js +0 -0
  833. /package/{packages/core/dist → dist}/cli/commands/version.js.map +0 -0
  834. /package/{packages/core/dist → dist}/cli/customization.test.d.ts +0 -0
  835. /package/{packages/core/dist → dist}/cli/customization.test.d.ts.map +0 -0
  836. /package/{packages/core/dist → dist}/cli/customization.test.js +0 -0
  837. /package/{packages/core/dist → dist}/cli/customization.test.js.map +0 -0
  838. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.d.ts +0 -0
  839. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.d.ts.map +0 -0
  840. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.js +0 -0
  841. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.js.map +0 -0
  842. /package/{packages/core/dist → dist}/cli/index.d.ts +0 -0
  843. /package/{packages/core/dist → dist}/cli/index.d.ts.map +0 -0
  844. /package/{packages/core/dist → dist}/cli/index.js +0 -0
  845. /package/{packages/core/dist → dist}/cli/index.js.map +0 -0
  846. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.d.ts +0 -0
  847. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.d.ts.map +0 -0
  848. /package/{packages/core/dist → dist}/cli/theme-maker.test.d.ts +0 -0
  849. /package/{packages/core/dist → dist}/cli/theme-maker.test.d.ts.map +0 -0
  850. /package/{packages/core/dist → dist}/cli/theme-maker.test.js +0 -0
  851. /package/{packages/core/dist → dist}/cli/theme-maker.test.js.map +0 -0
  852. /package/{packages/core/dist → dist}/cli/utils/constants.d.ts +0 -0
  853. /package/{packages/core/dist → dist}/cli/utils/constants.d.ts.map +0 -0
  854. /package/{packages/core/dist → dist}/cli/utils/constants.js +0 -0
  855. /package/{packages/core/dist → dist}/cli/utils/constants.js.map +0 -0
  856. /package/{packages/core/dist → dist}/cli/utils/files.d.ts +0 -0
  857. /package/{packages/core/dist → dist}/cli/utils/files.d.ts.map +0 -0
  858. /package/{packages/core/dist → dist}/cli/utils/files.js +0 -0
  859. /package/{packages/core/dist → dist}/cli/utils/files.js.map +0 -0
  860. /package/{packages/core/dist → dist}/cli/utils/logger.d.ts +0 -0
  861. /package/{packages/core/dist → dist}/cli/utils/logger.d.ts.map +0 -0
  862. /package/{packages/core/dist → dist}/cli/utils/logger.js +0 -0
  863. /package/{packages/core/dist → dist}/cli/utils/logger.js.map +0 -0
  864. /package/{packages/core/dist → dist}/cli/utils/manifest.d.ts +0 -0
  865. /package/{packages/core/dist → dist}/cli/utils/manifest.d.ts.map +0 -0
  866. /package/{packages/core/dist → dist}/cli/utils/manifest.js +0 -0
  867. /package/{packages/core/dist → dist}/cli/utils/manifest.js.map +0 -0
  868. /package/{packages/core/dist → dist}/cli/utils/node-modules.d.ts +0 -0
  869. /package/{packages/core/dist → dist}/cli/utils/node-modules.d.ts.map +0 -0
  870. /package/{packages/core/dist → dist}/cli/utils/node-modules.js +0 -0
  871. /package/{packages/core/dist → dist}/cli/utils/node-modules.js.map +0 -0
  872. /package/{packages/core/dist → dist}/cli/utils/prompts.d.ts +0 -0
  873. /package/{packages/core/dist → dist}/cli/utils/prompts.d.ts.map +0 -0
  874. /package/{packages/core/dist → dist}/cli/utils/prompts.js +0 -0
  875. /package/{packages/core/dist → dist}/cli/utils/prompts.js.map +0 -0
  876. /package/{packages/core/dist → dist}/cli/utils/settings.d.ts +0 -0
  877. /package/{packages/core/dist → dist}/cli/utils/settings.d.ts.map +0 -0
  878. /package/{packages/core/dist → dist}/cli/utils/settings.js +0 -0
  879. /package/{packages/core/dist → dist}/cli/utils/settings.js.map +0 -0
  880. /package/{packages/core/dist → dist}/cli/utils/symlinks.d.ts +0 -0
  881. /package/{packages/core/dist → dist}/cli/utils/symlinks.d.ts.map +0 -0
  882. /package/{packages/core/dist → dist}/cli/utils/symlinks.js +0 -0
  883. /package/{packages/core/dist → dist}/cli/utils/symlinks.js.map +0 -0
  884. /package/{packages/core/dist → dist}/cli/utils/themes.test.d.ts +0 -0
  885. /package/{packages/core/dist → dist}/cli/utils/themes.test.d.ts.map +0 -0
  886. /package/{packages/core/dist → dist}/cli/utils/themes.test.js +0 -0
  887. /package/{packages/core/dist → dist}/cli/utils/themes.test.js.map +0 -0
  888. /package/{packages/core/dist → dist}/cli/utils/version.d.ts +0 -0
  889. /package/{packages/core/dist → dist}/cli/utils/version.d.ts.map +0 -0
  890. /package/{packages/core/dist → dist}/cli/utils/version.js +0 -0
  891. /package/{packages/core/dist → dist}/cli/utils/version.js.map +0 -0
  892. /package/{packages/core/dist → dist}/cli/workspace.test.d.ts +0 -0
  893. /package/{packages/core/dist → dist}/cli/workspace.test.d.ts.map +0 -0
  894. /package/{packages/core/dist → dist}/cli/workspace.test.js +0 -0
  895. /package/{packages/core/dist → dist}/cli/workspace.test.js.map +0 -0
  896. /package/{packages/core/dist → dist}/index.d.ts +0 -0
  897. /package/{packages/core/dist → dist}/index.d.ts.map +0 -0
  898. /package/{packages/core/dist → dist}/index.js +0 -0
  899. /package/{packages/core/dist → dist}/index.js.map +0 -0
  900. /package/{packages/core/dist → dist}/jira/jira-epic-creation.d.ts +0 -0
  901. /package/{packages/core/dist → dist}/jira/jira-epic-creation.d.ts.map +0 -0
  902. /package/{packages/core/dist → dist}/jira/jira-epic-creation.js +0 -0
  903. /package/{packages/core/dist → dist}/jira/jira-epic-creation.js.map +0 -0
  904. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.d.ts +0 -0
  905. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.d.ts.map +0 -0
  906. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.js +0 -0
  907. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.js.map +0 -0
  908. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.d.ts +0 -0
  909. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.d.ts.map +0 -0
  910. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.js +0 -0
  911. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.js.map +0 -0
  912. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.d.ts +0 -0
  913. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.d.ts.map +0 -0
  914. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.js +0 -0
  915. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.js.map +0 -0
  916. /package/{packages/core/dist → dist}/permissions/index.d.ts +0 -0
  917. /package/{packages/core/dist → dist}/permissions/index.d.ts.map +0 -0
  918. /package/{packages/core/dist → dist}/permissions/index.js +0 -0
  919. /package/{packages/core/dist → dist}/permissions/index.js.map +0 -0
  920. /package/{packages/core/dist → dist}/permissions/permission-schema.d.ts +0 -0
  921. /package/{packages/core/dist → dist}/permissions/permission-schema.d.ts.map +0 -0
  922. /package/{packages/core/dist → dist}/permissions/permission-schema.js +0 -0
  923. /package/{packages/core/dist → dist}/permissions/permission-schema.js.map +0 -0
  924. /package/{packages/core/dist → dist}/permissions/permission-schema.test.d.ts +0 -0
  925. /package/{packages/core/dist → dist}/permissions/permission-schema.test.d.ts.map +0 -0
  926. /package/{packages/core/dist → dist}/permissions/permission-schema.test.js +0 -0
  927. /package/{packages/core/dist → dist}/permissions/permission-schema.test.js.map +0 -0
  928. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.d.ts +0 -0
  929. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.d.ts.map +0 -0
  930. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.js +0 -0
  931. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.js.map +0 -0
  932. /package/{packages/core/dist → dist}/scripts/benchmark-integration.d.ts +0 -0
  933. /package/{packages/core/dist → dist}/scripts/benchmark-integration.d.ts.map +0 -0
  934. /package/{packages/core/dist → dist}/scripts/benchmark-integration.js +0 -0
  935. /package/{packages/core/dist → dist}/scripts/benchmark-integration.js.map +0 -0
  936. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.d.ts +0 -0
  937. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.d.ts.map +0 -0
  938. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.js +0 -0
  939. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.js.map +0 -0
  940. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.d.ts +0 -0
  941. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.d.ts.map +0 -0
  942. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.js +0 -0
  943. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.js.map +0 -0
  944. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.d.ts +0 -0
  945. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.d.ts.map +0 -0
  946. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.js +0 -0
  947. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.js.map +0 -0
  948. /package/{packages/core/dist → dist}/scripts/generate-report.d.ts +0 -0
  949. /package/{packages/core/dist → dist}/scripts/generate-report.d.ts.map +0 -0
  950. /package/{packages/core/dist → dist}/scripts/generate-report.js +0 -0
  951. /package/{packages/core/dist → dist}/scripts/generate-report.js.map +0 -0
  952. /package/{packages/core/dist → dist}/scripts/generate-report.test.d.ts +0 -0
  953. /package/{packages/core/dist → dist}/scripts/generate-report.test.d.ts.map +0 -0
  954. /package/{packages/core/dist → dist}/scripts/generate-report.test.js +0 -0
  955. /package/{packages/core/dist → dist}/scripts/generate-report.test.js.map +0 -0
  956. /package/{packages/core/dist → dist}/scripts/generate-spider-report.d.ts +0 -0
  957. /package/{packages/core/dist → dist}/scripts/generate-spider-report.d.ts.map +0 -0
  958. /package/{packages/core/dist → dist}/scripts/generate-spider-report.js +0 -0
  959. /package/{packages/core/dist → dist}/scripts/generate-spider-report.js.map +0 -0
  960. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.d.ts +0 -0
  961. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.d.ts.map +0 -0
  962. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.js +0 -0
  963. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.js.map +0 -0
  964. /package/{packages/core/dist → dist}/scripts/generate-spider.d.ts +0 -0
  965. /package/{packages/core/dist → dist}/scripts/generate-spider.d.ts.map +0 -0
  966. /package/{packages/core/dist → dist}/scripts/generate-spider.js +0 -0
  967. /package/{packages/core/dist → dist}/scripts/generate-spider.js.map +0 -0
  968. /package/{packages/core/dist → dist}/scripts/generate-spider.test.d.ts +0 -0
  969. /package/{packages/core/dist → dist}/scripts/generate-spider.test.d.ts.map +0 -0
  970. /package/{packages/core/dist → dist}/scripts/generate-spider.test.js +0 -0
  971. /package/{packages/core/dist → dist}/scripts/generate-spider.test.js.map +0 -0
  972. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.d.ts +0 -0
  973. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.d.ts.map +0 -0
  974. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.js +0 -0
  975. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.js.map +0 -0
  976. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.d.ts +0 -0
  977. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.d.ts.map +0 -0
  978. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.js +0 -0
  979. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.js.map +0 -0
  980. /package/{packages/core/dist → dist}/scripts/run-ci.test.d.ts +0 -0
  981. /package/{packages/core/dist → dist}/scripts/run-ci.test.d.ts.map +0 -0
  982. /package/{packages/core/dist → dist}/scripts/run-ci.test.js +0 -0
  983. /package/{packages/core/dist → dist}/scripts/run-ci.test.js.map +0 -0
  984. /package/{packages/core/dist → dist}/scripts/theme-detail.test.d.ts +0 -0
  985. /package/{packages/core/dist → dist}/scripts/theme-detail.test.d.ts.map +0 -0
  986. /package/{packages/core/dist → dist}/scripts/theme-detail.test.js +0 -0
  987. /package/{packages/core/dist → dist}/scripts/theme-detail.test.js.map +0 -0
  988. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.d.ts +0 -0
  989. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.d.ts.map +0 -0
  990. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.js +0 -0
  991. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.js.map +0 -0
  992. /package/{packages/core/dist → dist}/workflow/gate-handler.d.ts +0 -0
  993. /package/{packages/core/dist → dist}/workflow/gate-handler.d.ts.map +0 -0
  994. /package/{packages/core/dist → dist}/workflow/gate-handler.js +0 -0
  995. /package/{packages/core/dist → dist}/workflow/gate-handler.js.map +0 -0
  996. /package/{packages/core/dist → dist}/workflow/gate-handler.test.d.ts +0 -0
  997. /package/{packages/core/dist → dist}/workflow/gate-handler.test.d.ts.map +0 -0
  998. /package/{packages/core/dist → dist}/workflow/gate-handler.test.js +0 -0
  999. /package/{packages/core/dist → dist}/workflow/gate-handler.test.js.map +0 -0
  1000. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.d.ts +0 -0
  1001. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.d.ts.map +0 -0
  1002. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.js +0 -0
  1003. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.js.map +0 -0
  1004. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.d.ts +0 -0
  1005. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.d.ts.map +0 -0
  1006. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.js +0 -0
  1007. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.js.map +0 -0
  1008. /package/{packages/core/dist → dist}/workflow/handoff.d.ts +0 -0
  1009. /package/{packages/core/dist → dist}/workflow/handoff.d.ts.map +0 -0
  1010. /package/{packages/core/dist → dist}/workflow/handoff.js +0 -0
  1011. /package/{packages/core/dist → dist}/workflow/handoff.js.map +0 -0
  1012. /package/{packages/core/dist → dist}/workflow/handoff.test.d.ts +0 -0
  1013. /package/{packages/core/dist → dist}/workflow/handoff.test.d.ts.map +0 -0
  1014. /package/{packages/core/dist → dist}/workflow/handoff.test.js +0 -0
  1015. /package/{packages/core/dist → dist}/workflow/handoff.test.js.map +0 -0
  1016. /package/{packages/core/dist → dist}/workflow/index.d.ts +0 -0
  1017. /package/{packages/core/dist → dist}/workflow/index.d.ts.map +0 -0
  1018. /package/{packages/core/dist → dist}/workflow/index.js +0 -0
  1019. /package/{packages/core/dist → dist}/workflow/index.js.map +0 -0
  1020. /package/{packages/core/dist → dist}/workflow/session-state.d.ts +0 -0
  1021. /package/{packages/core/dist → dist}/workflow/session-state.d.ts.map +0 -0
  1022. /package/{packages/core/dist → dist}/workflow/session-state.js +0 -0
  1023. /package/{packages/core/dist → dist}/workflow/session-state.js.map +0 -0
  1024. /package/{packages/core/dist → dist}/workflow/session-state.test.d.ts +0 -0
  1025. /package/{packages/core/dist → dist}/workflow/session-state.test.d.ts.map +0 -0
  1026. /package/{packages/core/dist → dist}/workflow/session-state.test.js +0 -0
  1027. /package/{packages/core/dist → dist}/workflow/session-state.test.js.map +0 -0
  1028. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.d.ts +0 -0
  1029. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.d.ts.map +0 -0
  1030. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.js +0 -0
  1031. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.js.map +0 -0
  1032. /package/{packages/core/dist → dist}/workflow/step-parser.d.ts +0 -0
  1033. /package/{packages/core/dist → dist}/workflow/step-parser.d.ts.map +0 -0
  1034. /package/{packages/core/dist → dist}/workflow/step-parser.js +0 -0
  1035. /package/{packages/core/dist → dist}/workflow/step-parser.js.map +0 -0
  1036. /package/{packages/core/dist → dist}/workflow/step-parser.test.d.ts +0 -0
  1037. /package/{packages/core/dist → dist}/workflow/step-parser.test.d.ts.map +0 -0
  1038. /package/{packages/core/dist → dist}/workflow/step-parser.test.js +0 -0
  1039. /package/{packages/core/dist → dist}/workflow/step-parser.test.js.map +0 -0
  1040. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.d.ts +0 -0
  1041. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.d.ts.map +0 -0
  1042. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.js +0 -0
  1043. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.js.map +0 -0
  1044. /package/{packages/core/dist → dist}/workflow/test-cache.d.ts +0 -0
  1045. /package/{packages/core/dist → dist}/workflow/test-cache.d.ts.map +0 -0
  1046. /package/{packages/core/dist → dist}/workflow/test-cache.js +0 -0
  1047. /package/{packages/core/dist → dist}/workflow/test-cache.js.map +0 -0
  1048. /package/{packages/core/dist → dist}/workflow/test-cache.test.d.ts +0 -0
  1049. /package/{packages/core/dist → dist}/workflow/test-cache.test.d.ts.map +0 -0
  1050. /package/{packages/core/dist → dist}/workflow/test-cache.test.js +0 -0
  1051. /package/{packages/core/dist → dist}/workflow/test-cache.test.js.map +0 -0
  1052. /package/{packages/core/dist → dist}/workflow/trimodal.d.ts +0 -0
  1053. /package/{packages/core/dist → dist}/workflow/trimodal.d.ts.map +0 -0
  1054. /package/{packages/core/dist → dist}/workflow/trimodal.js +0 -0
  1055. /package/{packages/core/dist → dist}/workflow/trimodal.js.map +0 -0
  1056. /package/{packages/core/dist → dist}/workflow/trimodal.test.d.ts +0 -0
  1057. /package/{packages/core/dist → dist}/workflow/trimodal.test.d.ts.map +0 -0
  1058. /package/{packages/core/dist → dist}/workflow/trimodal.test.js +0 -0
  1059. /package/{packages/core/dist → dist}/workflow/trimodal.test.js.map +0 -0
  1060. /package/{packages/core/dist → dist}/workflow/variable-resolver.d.ts +0 -0
  1061. /package/{packages/core/dist → dist}/workflow/variable-resolver.d.ts.map +0 -0
  1062. /package/{packages/core/dist → dist}/workflow/variable-resolver.js +0 -0
  1063. /package/{packages/core/dist → dist}/workflow/variable-resolver.js.map +0 -0
  1064. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.d.ts +0 -0
  1065. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.d.ts.map +0 -0
  1066. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.js +0 -0
  1067. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.js.map +0 -0
  1068. /package/{packages/core/dist → dist}/workflow/workflow-executor.d.ts +0 -0
  1069. /package/{packages/core/dist → dist}/workflow/workflow-executor.d.ts.map +0 -0
  1070. /package/{packages/core/dist → dist}/workflow/workflow-executor.js +0 -0
  1071. /package/{packages/core/dist → dist}/workflow/workflow-executor.js.map +0 -0
  1072. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.d.ts +0 -0
  1073. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.d.ts.map +0 -0
  1074. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.js +0 -0
  1075. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.js.map +0 -0
  1076. /package/{packages/core/dist → dist}/workflow/workflow-loader.d.ts +0 -0
  1077. /package/{packages/core/dist → dist}/workflow/workflow-loader.d.ts.map +0 -0
  1078. /package/{packages/core/dist → dist}/workflow/workflow-loader.js +0 -0
  1079. /package/{packages/core/dist → dist}/workflow/workflow-loader.js.map +0 -0
  1080. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.d.ts +0 -0
  1081. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.d.ts.map +0 -0
  1082. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.js +0 -0
  1083. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.js.map +0 -0
  1084. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.d.ts +0 -0
  1085. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.d.ts.map +0 -0
  1086. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.js +0 -0
  1087. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.js.map +0 -0
  1088. /package/{packages/core/dist → dist}/workflow/workflow-permissions.d.ts +0 -0
  1089. /package/{packages/core/dist → dist}/workflow/workflow-permissions.d.ts.map +0 -0
  1090. /package/{packages/core/dist → dist}/workflow/workflow-permissions.js +0 -0
  1091. /package/{packages/core/dist → dist}/workflow/workflow-permissions.js.map +0 -0
  1092. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.d.ts +0 -0
  1093. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.d.ts.map +0 -0
  1094. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.js +0 -0
  1095. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.js.map +0 -0
  1096. /package/{packages/core/dist → dist}/workflow/workflow-router.d.ts +0 -0
  1097. /package/{packages/core/dist → dist}/workflow/workflow-router.d.ts.map +0 -0
  1098. /package/{packages/core/dist → dist}/workflow/workflow-router.js +0 -0
  1099. /package/{packages/core/dist → dist}/workflow/workflow-router.js.map +0 -0
  1100. /package/{packages/core/dist → dist}/workflow/workflow-router.test.d.ts +0 -0
  1101. /package/{packages/core/dist → dist}/workflow/workflow-router.test.d.ts.map +0 -0
  1102. /package/{packages/core/dist → dist}/workflow/workflow-router.test.js +0 -0
  1103. /package/{packages/core/dist → dist}/workflow/workflow-router.test.js.map +0 -0
  1104. /package/{packages/core/dist → dist}/workflow/workflow-schema.d.ts +0 -0
  1105. /package/{packages/core/dist → dist}/workflow/workflow-schema.d.ts.map +0 -0
  1106. /package/{packages/core/dist → dist}/workflow/workflow-schema.js +0 -0
  1107. /package/{packages/core/dist → dist}/workflow/workflow-schema.js.map +0 -0
  1108. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.d.ts +0 -0
  1109. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.d.ts.map +0 -0
  1110. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.js +0 -0
  1111. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.js.map +0 -0
  1112. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.d.ts +0 -0
  1113. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.d.ts.map +0 -0
  1114. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.js +0 -0
  1115. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.js.map +0 -0
@@ -1,497 +0,0 @@
1
- #!/usr/bin/env zsh
2
- # Worktree management utilities for parallel development work
3
- # Usage: worktree-manager.sh {create|remove|list|status|ports|cd} [args]
4
- #
5
- # Configuration (choose one):
6
- # 1. repos.yaml: Define repos in .claude/project/repos.yaml (recommended)
7
- # 2. Legacy env vars: Set API_REPO and UI_REPO in .claude/project/hooks/setup-env.sh
8
-
9
- set -e
10
-
11
- # Self-locate: derive paths from this script's position
12
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd -P)"
13
-
14
- # Load environment
15
- if [ -f "$PROJECT_ROOT/.env" ]; then
16
- set -a; source "$PROJECT_ROOT/.env"; set +a
17
- fi
18
-
19
- # Source project hooks if available
20
- if [ -f "$PROJECT_ROOT/.claude/project/hooks/setup-env.sh" ]; then
21
- source "$PROJECT_ROOT/.claude/project/hooks/setup-env.sh"
22
- fi
23
-
24
- # Source repo utilities (handles repos.yaml or legacy env vars)
25
- REPO_UTILS_LAZY=1 # Don't auto-load, we'll do it after validation
26
- source "$SCRIPT_DIR/../misc/repo-utils.sh"
27
-
28
- WORKTREE_ROOT="${WORKTREE_ROOT:-$PROJECT_ROOT/worktrees}"
29
- WORKTREE_PORT_OFFSET="${WORKTREE_PORT_OFFSET:-100}"
30
-
31
- # ============================================================================
32
- # Services Configuration
33
- # ============================================================================
34
-
35
- # Load services configuration from pennyfarthing-settings.yaml
36
- # Sets: _SERVICES_JSON, _PORT_OFFSET
37
- # Returns 1 if no services configured
38
- load_services_config() {
39
- local config_file="${PROJECT_ROOT}/.claude/project/pennyfarthing-settings.yaml"
40
-
41
- if [[ ! -f "$config_file" ]]; then
42
- _SERVICES_JSON=""
43
- _PORT_OFFSET=$WORKTREE_PORT_OFFSET
44
- return 1
45
- fi
46
-
47
- # Parse services config using yq (preferred) or Python fallback
48
- local config
49
- if command -v yq &>/dev/null; then
50
- # Check if services section exists
51
- local has_services
52
- has_services=$(yq '.services.definitions' "$config_file" 2>/dev/null)
53
- if [[ -z "$has_services" || "$has_services" == "null" ]]; then
54
- _SERVICES_JSON=""
55
- _PORT_OFFSET=$WORKTREE_PORT_OFFSET
56
- return 1
57
- fi
58
-
59
- local port_offset
60
- port_offset=$(yq '.services.port_offset // 100' "$config_file" 2>/dev/null)
61
- local definitions_json
62
- definitions_json=$(yq -o=json '.services.definitions' "$config_file" 2>/dev/null)
63
-
64
- _PORT_OFFSET=$port_offset
65
- _SERVICES_JSON="$definitions_json"
66
- return 0
67
- elif command -v python3 &>/dev/null; then
68
- config=$(python3 -c "
69
- import yaml
70
- import json
71
- import sys
72
-
73
- try:
74
- with open('$config_file', 'r') as f:
75
- settings = yaml.safe_load(f)
76
-
77
- if not settings or 'services' not in settings or 'definitions' not in settings['services']:
78
- sys.exit(1)
79
-
80
- svc = settings['services']
81
- port_offset = svc.get('port_offset', ${WORKTREE_PORT_OFFSET})
82
- definitions = svc['definitions']
83
-
84
- # Ensure env_var is set for each service
85
- for d in definitions:
86
- if 'env_var' not in d:
87
- d['env_var'] = d['name'].upper().replace(' ', '_').replace('-', '_') + '_PORT'
88
-
89
- print(f'_PORT_OFFSET={port_offset}')
90
- print(f\"_SERVICES_JSON='{json.dumps(definitions)}'\")
91
- except Exception:
92
- sys.exit(1)
93
- " 2>/dev/null)
94
-
95
- if [[ $? -eq 0 && -n "$config" ]]; then
96
- eval "$config"
97
- return 0
98
- fi
99
- fi
100
-
101
- _SERVICES_JSON=""
102
- _PORT_OFFSET=$WORKTREE_PORT_OFFSET
103
- return 1
104
- }
105
-
106
- # Load and validate repo configuration
107
- load_repos_config
108
-
109
- if [ "$(get_repo_count)" -eq 0 ]; then
110
- echo "❌ Error: No repositories configured"
111
- echo ""
112
- echo "Option 1: Create .claude/project/repos.yaml (recommended for multi-repo projects)"
113
- echo "Option 2: Set API_REPO and UI_REPO in .claude/project/hooks/setup-env.sh"
114
- exit 1
115
- fi
116
-
117
- # Ensure worktree root exists
118
- mkdir -p "$WORKTREE_ROOT"
119
-
120
- show_help() {
121
- cat << EOF
122
- Worktree Manager - Parallel Development Tool
123
-
124
- Usage: worktree-manager.sh <command> [options]
125
-
126
- Commands:
127
- create <name> <branch> [repos] Create worktree(s) for parallel work
128
- remove <name> Remove worktree and clean up
129
- list List all active worktrees
130
- status Show detailed worktree status
131
- ports <name> Get port configuration for worktree
132
- cd <name> Print path to worktree (use with: cd \$(./scripts/worktree-manager.sh cd <name>))
133
- config Show current repo configuration
134
-
135
- Examples:
136
- # Create worktree for all repos
137
- ./scripts/worktree-manager.sh create 5-1a feat/5-1a-file-upload
138
-
139
- # Create worktree for specific repo type
140
- ./scripts/worktree-manager.sh create bug-123 fix/bug-123-validation api
141
-
142
- # Create worktree for specific repos (comma-separated)
143
- ./scripts/worktree-manager.sh create feat-x feat/x-feature adapter-a,adapter-b
144
-
145
- # Get ports for running dev servers
146
- eval \$(./scripts/worktree-manager.sh ports 5-1a)
147
- echo "API: \$API_PORT, UI: \$UI_PORT"
148
-
149
- # Remove worktree after merge
150
- ./scripts/worktree-manager.sh remove 5-1a
151
-
152
- # Show repo configuration
153
- ./scripts/worktree-manager.sh config
154
-
155
- Repos Filter (third argument):
156
- all - All configured repos (default)
157
- api - Only repos of type 'api'
158
- ui - Only repos of type 'ui'
159
- adapter - Only repos of type 'adapter'
160
- service - Only repos of type 'service'
161
- repo1,repo2 - Comma-separated list of specific repo names
162
-
163
- Configuration:
164
- Option 1 (recommended): Create .claude/project/repos.yaml
165
- Option 2 (legacy): Set API_REPO and UI_REPO environment variables
166
-
167
- Session Files:
168
- Session files are named after story IDs: .session/{story-id}-session.md
169
- Example: .session/5-1a-session.md (with worktree field inside)
170
- Session files are managed by SM agent, not worktree-manager.
171
-
172
- Environment Variables:
173
- PROJECT_ROOT - Project root directory
174
- WORKTREE_ROOT - Where worktrees are created (default: \$PROJECT_ROOT/worktrees)
175
- WORKTREE_PORT_OFFSET - Port offset between worktrees (default: 100)
176
-
177
- EOF
178
- }
179
-
180
- create_worktree() {
181
- local WT_NAME="$1"
182
- local BRANCH="$2"
183
- local REPOS_FILTER="${3:-all}" # all, api, ui, adapter, service, or comma-separated names
184
-
185
- if [ -z "$WT_NAME" ] || [ -z "$BRANCH" ]; then
186
- echo "❌ Usage: worktree-manager.sh create <name> <branch> [repos-filter]"
187
- echo " repos-filter: all, api, ui, adapter, service, or comma-separated names"
188
- exit 1
189
- fi
190
-
191
- local WT_PATH="$WORKTREE_ROOT/$WT_NAME"
192
-
193
- # Check if worktree already exists
194
- if [ -d "$WT_PATH" ]; then
195
- echo "❌ Worktree '$WT_NAME' already exists at $WT_PATH"
196
- exit 1
197
- fi
198
-
199
- mkdir -p "$WT_PATH"
200
-
201
- echo "🔧 Creating worktree: $WT_NAME"
202
- echo " Branch: $BRANCH"
203
- echo " Path: $WT_PATH"
204
- echo " Repos: $REPOS_FILTER"
205
- echo ""
206
-
207
- # Get repos to create worktrees for (handle legacy 'both' as 'all')
208
- local repos_filter="$REPOS_FILTER"
209
- [ "$repos_filter" = "both" ] && repos_filter="all"
210
-
211
- local repos_to_create
212
- repos_to_create=$(filter_repos "$repos_filter")
213
-
214
- local created_repos=()
215
-
216
- while IFS= read -r repo; do
217
- [ -z "$repo" ] && continue
218
-
219
- local repo_path
220
- repo_path=$(get_repo_path "$repo")
221
- local full_path="$PROJECT_ROOT/$repo_path"
222
- local repo_type
223
- repo_type=$(get_repo_type "$repo")
224
-
225
- if [ -d "$full_path" ]; then
226
- echo "📦 Creating worktree for $repo ($repo_type)..."
227
- cd "$full_path"
228
-
229
- # Check if branch exists locally, remotely, or needs to be created
230
- if git show-ref --verify --quiet "refs/heads/$BRANCH" 2>/dev/null; then
231
- git worktree add "$WT_PATH/$repo" "$BRANCH"
232
- elif git show-ref --verify --quiet "refs/remotes/origin/$BRANCH" 2>/dev/null; then
233
- git worktree add "$WT_PATH/$repo" "$BRANCH"
234
- else
235
- # Create new branch from develop (or main if develop doesn't exist)
236
- local base_branch="develop"
237
- if ! git show-ref --verify --quiet "refs/heads/develop" 2>/dev/null; then
238
- base_branch="main"
239
- fi
240
- git worktree add -b "$BRANCH" "$WT_PATH/$repo" "$base_branch"
241
- fi
242
- echo " ✅ $repo worktree created"
243
- created_repos+=("$repo")
244
- else
245
- echo " ⚠️ Repo not found: $full_path"
246
- fi
247
- done <<< "$repos_to_create"
248
-
249
- echo ""
250
- echo "✅ Worktree '$WT_NAME' created successfully!"
251
- echo ""
252
- echo "📝 Session file: Use /sm to create .session/{story-id}-session.md"
253
- echo ""
254
- echo "Next steps:"
255
- for repo in "${created_repos[@]}"; do
256
- echo " cd $WT_PATH/$repo"
257
- done
258
- echo ""
259
- echo "Start dev servers with custom ports:"
260
- echo " eval \$(./scripts/worktree-manager.sh ports $WT_NAME)"
261
- }
262
-
263
- remove_worktree() {
264
- local WT_NAME="$1"
265
-
266
- if [ -z "$WT_NAME" ]; then
267
- echo "❌ Usage: worktree-manager.sh remove <name>"
268
- exit 1
269
- fi
270
-
271
- local WT_PATH="$WORKTREE_ROOT/$WT_NAME"
272
-
273
- if [ ! -d "$WT_PATH" ]; then
274
- echo "❌ Worktree '$WT_NAME' not found at $WT_PATH"
275
- exit 1
276
- fi
277
-
278
- echo "🗑️ Removing worktree: $WT_NAME"
279
-
280
- # Remove worktrees for all configured repos
281
- for repo in $(get_repos); do
282
- local repo_path
283
- repo_path=$(get_repo_path "$repo")
284
-
285
- if [ -d "$WT_PATH/$repo" ]; then
286
- echo " Removing $repo worktree..."
287
- cd "$PROJECT_ROOT/$repo_path"
288
- git worktree remove "$WT_PATH/$repo" --force 2>/dev/null || true
289
- fi
290
- done
291
-
292
- # Clean up directory
293
- rm -rf "$WT_PATH"
294
-
295
- # Note: Session files are managed by SM agent
296
- # Use /sm to finish work and archive the session file
297
- echo ""
298
- echo " Note: Session file (if any) should be archived via /sm finish"
299
-
300
- # Prune worktree references for all repos
301
- for repo in $(get_repos); do
302
- local repo_path
303
- repo_path=$(get_repo_path "$repo")
304
- if [ -d "$PROJECT_ROOT/$repo_path" ]; then
305
- cd "$PROJECT_ROOT/$repo_path" && git worktree prune 2>/dev/null || true
306
- fi
307
- done
308
-
309
- echo ""
310
- echo "✅ Worktree '$WT_NAME' removed successfully!"
311
- }
312
-
313
- list_worktrees() {
314
- echo "=== Active Worktrees ==="
315
- echo ""
316
-
317
- for repo in $(get_repos); do
318
- local repo_path
319
- repo_path=$(get_repo_path "$repo")
320
- local repo_type
321
- repo_type=$(get_repo_type "$repo")
322
-
323
- if [ -d "$PROJECT_ROOT/$repo_path" ]; then
324
- echo "📦 $repo ($repo_type):"
325
- cd "$PROJECT_ROOT/$repo_path" && git worktree list
326
- echo ""
327
- fi
328
- done
329
-
330
- echo "📁 Worktree Directory:"
331
- if [ -d "$WORKTREE_ROOT" ] && [ "$(ls -A "$WORKTREE_ROOT" 2>/dev/null)" ]; then
332
- ls -la "$WORKTREE_ROOT"
333
- else
334
- echo " (empty)"
335
- fi
336
- }
337
-
338
- show_status() {
339
- echo "=== Worktree Status ==="
340
- echo ""
341
-
342
- if [ ! -d "$WORKTREE_ROOT" ] || [ -z "$(ls -A "$WORKTREE_ROOT" 2>/dev/null)" ]; then
343
- echo "No active worktrees."
344
- echo ""
345
- echo "Create one with:"
346
- echo " ./scripts/worktree-manager.sh create <name> <branch>"
347
- return
348
- fi
349
-
350
- for wt in "$WORKTREE_ROOT"/*/; do
351
- if [ -d "$wt" ]; then
352
- local WT_NAME=$(basename "$wt")
353
- echo "📁 $WT_NAME"
354
- echo " Path: $wt"
355
-
356
- # Show status for each configured repo
357
- for repo in $(get_repos); do
358
- if [ -d "$wt/$repo" ]; then
359
- local repo_type
360
- repo_type=$(get_repo_type "$repo")
361
- local branch=$(cd "$wt/$repo" && git branch --show-current 2>/dev/null || echo "unknown")
362
- local status_count=$(cd "$wt/$repo" && git status --short 2>/dev/null | wc -l | tr -d ' ')
363
- echo " $repo ($repo_type): $branch ($status_count uncommitted)"
364
- fi
365
- done
366
-
367
- # Check for session files that reference this worktree
368
- local found_session=""
369
- for sf in "$PROJECT_ROOT"/.session/*-session.md; do
370
- if [ -f "$sf" ] && grep -q "worktree: $WT_NAME" "$sf" 2>/dev/null; then
371
- found_session=$(basename "$sf")
372
- break
373
- fi
374
- done
375
- if [ -n "$found_session" ]; then
376
- echo " Session: ✅ .session/$found_session"
377
- else
378
- echo " Session: ❌ (no session file references this worktree)"
379
- fi
380
-
381
- # Show ports (from services config)
382
- local WT_INDEX=$(ls -1 "$WORKTREE_ROOT" 2>/dev/null | grep -n "^$WT_NAME$" | cut -d: -f1)
383
- WT_INDEX=${WT_INDEX:-1}
384
- if load_services_config; then
385
- local OFFSET=$((_PORT_OFFSET * WT_INDEX))
386
- local ports_display
387
- ports_display=$(python3 -c "
388
- import json
389
- services = $_SERVICES_JSON
390
- offset = $OFFSET
391
- parts = []
392
- for svc in services:
393
- name = svc['name']
394
- port = svc['base_port'] + offset
395
- parts.append(f'{name}={port}')
396
- print(', '.join(parts))
397
- " 2>/dev/null)
398
- echo " Ports: $ports_display"
399
- else
400
- echo " Ports: (no services configured)"
401
- fi
402
- echo ""
403
- fi
404
- done
405
- }
406
-
407
- get_ports() {
408
- local WT_NAME="$1"
409
-
410
- if [ -z "$WT_NAME" ]; then
411
- echo "# Usage: worktree-manager.sh ports <name>" >&2
412
- echo "# Outputs shell variables for service ports" >&2
413
- exit 1
414
- fi
415
-
416
- # Load services configuration
417
- if ! load_services_config; then
418
- echo "# No services configured in .claude/project/pennyfarthing-settings.yaml" >&2
419
- echo "# Add a 'services' section with 'definitions' array" >&2
420
- exit 1
421
- fi
422
-
423
- # Calculate port offset based on worktree index
424
- local WT_INDEX=$(ls -1 "$WORKTREE_ROOT" 2>/dev/null | grep -n "^$WT_NAME$" | cut -d: -f1)
425
- WT_INDEX=${WT_INDEX:-1}
426
- local OFFSET=$((_PORT_OFFSET * WT_INDEX))
427
-
428
- # Output worktree info
429
- echo "export WORKTREE_PATH=$WORKTREE_ROOT/$WT_NAME"
430
- echo "export WORKTREE_INDEX=$WT_INDEX"
431
- echo "export WORKTREE_PORT_OFFSET=$OFFSET"
432
-
433
- # Generate exports for each configured service
434
- python3 -c "
435
- import json
436
-
437
- services = $_SERVICES_JSON
438
- offset = $OFFSET
439
-
440
- for svc in services:
441
- env_var = svc.get('env_var', svc['name'].upper().replace(' ', '_').replace('-', '_') + '_PORT')
442
- port = svc['base_port'] + offset
443
- print(f'export {env_var}={port}')
444
- " 2>/dev/null
445
- }
446
-
447
- get_path() {
448
- local WT_NAME="$1"
449
-
450
- if [ -z "$WT_NAME" ]; then
451
- echo "❌ Usage: worktree-manager.sh cd <name>"
452
- exit 1
453
- fi
454
-
455
- local WT_PATH="$WORKTREE_ROOT/$WT_NAME"
456
-
457
- if [ ! -d "$WT_PATH" ]; then
458
- echo "❌ Worktree '$WT_NAME' not found" >&2
459
- exit 1
460
- fi
461
-
462
- echo "$WT_PATH"
463
- }
464
-
465
- # Main command dispatch
466
- case "${1:-help}" in
467
- create)
468
- create_worktree "$2" "$3" "$4"
469
- ;;
470
- remove|rm|delete)
471
- remove_worktree "$2"
472
- ;;
473
- list|ls)
474
- list_worktrees
475
- ;;
476
- status|st)
477
- show_status
478
- ;;
479
- ports)
480
- get_ports "$2"
481
- ;;
482
- cd|path)
483
- get_path "$2"
484
- ;;
485
- config)
486
- show_config
487
- ;;
488
- help|--help|-h)
489
- show_help
490
- ;;
491
- *)
492
- echo "❌ Unknown command: $1"
493
- echo ""
494
- show_help
495
- exit 1
496
- ;;
497
- esac
@@ -1,156 +0,0 @@
1
- #!/bin/bash
2
- # Drift Detection - Analyze archived sessions for agent behavior drift
3
- # Usage: .pennyfarthing/scripts/health/drift-detection.sh [--verbose] [--path /additional/path]
4
- #
5
- # Checks:
6
- # 1. Reviewer: Substantive comments present (not just "LGTM")
7
- # 2. Dev: Tests run before GREEN declaration
8
- # 3. SM: Handoff markers present
9
- # 4. TEA: Tests written before handoff to Dev
10
-
11
- set -euo pipefail
12
-
13
- VERBOSE=false
14
- EXTRA_PATHS=()
15
-
16
- while [[ $# -gt 0 ]]; do
17
- case "$1" in
18
- --verbose|-v) VERBOSE=true; shift ;;
19
- --path) EXTRA_PATHS+=("$2"); shift 2 ;;
20
- *) shift ;;
21
- esac
22
- done
23
-
24
- # Find project root
25
- source "$(dirname "${BASH_SOURCE[0]}")/../lib/find-root.sh"
26
-
27
- ARCHIVE_DIR="$PROJECT_ROOT/sprint/archive"
28
- SESSION_DIR="$PROJECT_ROOT/.session/archive"
29
-
30
- # Build list of directories to search
31
- SEARCH_DIRS=("$ARCHIVE_DIR" "$SESSION_DIR")
32
- for extra in "${EXTRA_PATHS[@]}"; do
33
- if [[ -d "$extra/sprint/archive" ]]; then
34
- SEARCH_DIRS+=("$extra/sprint/archive")
35
- fi
36
- if [[ -d "$extra/.session/archive" ]]; then
37
- SEARCH_DIRS+=("$extra/.session/archive")
38
- fi
39
- if [[ -d "$extra" ]] && [[ ! -d "$extra/sprint" ]]; then
40
- # Direct path to archive directory
41
- SEARCH_DIRS+=("$extra")
42
- fi
43
- done
44
-
45
- echo "# Agent Behavior Drift Detection Report"
46
- echo ""
47
- echo "Generated: $(date '+%Y-%m-%d %H:%M')"
48
- echo ""
49
-
50
- # Counters
51
- TOTAL_SESSIONS=0
52
- REVIEWER_ISSUES=0
53
- DEV_ISSUES=0
54
- SM_ISSUES=0
55
- TEA_ISSUES=0
56
-
57
- # Collect session files from all locations
58
- SESSION_FILES=$(find "${SEARCH_DIRS[@]}" -name "*-session.md" -type f 2>/dev/null | sort -u | head -100)
59
-
60
- if [[ -z "$SESSION_FILES" ]]; then
61
- echo "No session files found for analysis."
62
- exit 0
63
- fi
64
-
65
- echo "## Analysis Summary"
66
- echo ""
67
-
68
- # Analyze each session
69
- while IFS= read -r session_file; do
70
- ((TOTAL_SESSIONS++))
71
- filename=$(basename "$session_file")
72
-
73
- # Check for Reviewer drift: approvals without substantive comments
74
- if grep -qi "reviewer" "$session_file" 2>/dev/null; then
75
- if grep -qi "approved" "$session_file" 2>/dev/null; then
76
- # Look for substantive review content (more than just approval)
77
- review_lines=$(grep -c -iE "(issue|concern|suggest|fix|change|improve|refactor|test|bug)" "$session_file" 2>/dev/null || echo "0")
78
- if [[ "$review_lines" -lt 2 ]]; then
79
- ((REVIEWER_ISSUES++))
80
- if [[ "$VERBOSE" == "true" ]]; then
81
- echo "⚠️ Reviewer drift: $filename - approval without substantive feedback"
82
- fi
83
- fi
84
- fi
85
- fi
86
-
87
- # Check for Dev drift: GREEN without test evidence
88
- if grep -qi "GREEN\|green phase\|tests pass" "$session_file" 2>/dev/null; then
89
- if ! grep -qiE "(test.*pass|tests.*ran|npm test|vitest|jest|\d+ passed)" "$session_file" 2>/dev/null; then
90
- ((DEV_ISSUES++))
91
- if [[ "$VERBOSE" == "true" ]]; then
92
- echo "⚠️ Dev drift: $filename - GREEN declared without test evidence"
93
- fi
94
- fi
95
- fi
96
-
97
- # Check for SM drift: handoff sections without proper structure
98
- # Note: CYCLIST:HANDOFF markers are optional - we check for structured handoff content
99
- if grep -qi "## Handoff\|Handoff to" "$session_file" 2>/dev/null; then
100
- # Good handoff should mention target agent AND have some context
101
- if ! grep -qiE "handoff.*(TEA|Dev|Reviewer)|→.*(TEA|Dev|Reviewer)" "$session_file" 2>/dev/null; then
102
- ((SM_ISSUES++))
103
- if [[ "$VERBOSE" == "true" ]]; then
104
- echo "⚠️ SM drift: $filename - handoff section without target agent"
105
- fi
106
- fi
107
- fi
108
-
109
- # Check for TEA drift: handoff to Dev without test files mentioned
110
- if grep -qi "TEA.*handoff\|handoff.*Dev" "$session_file" 2>/dev/null; then
111
- if ! grep -qiE "\.test\.(ts|js|tsx)|spec\.(ts|js)|_test\.go|Test\.java" "$session_file" 2>/dev/null; then
112
- ((TEA_ISSUES++))
113
- if [[ "$VERBOSE" == "true" ]]; then
114
- echo "⚠️ TEA drift: $filename - no test files referenced before Dev handoff"
115
- fi
116
- fi
117
- fi
118
-
119
- done <<< "$SESSION_FILES"
120
-
121
- echo "| Agent | Issues | Total | Rate |"
122
- echo "|-------|--------|-------|------|"
123
- REVIEWER_PCT=$((REVIEWER_ISSUES * 100 / TOTAL_SESSIONS))
124
- DEV_PCT=$((DEV_ISSUES * 100 / TOTAL_SESSIONS))
125
- SM_PCT=$((SM_ISSUES * 100 / TOTAL_SESSIONS))
126
- TEA_PCT=$((TEA_ISSUES * 100 / TOTAL_SESSIONS))
127
- echo "| Reviewer | $REVIEWER_ISSUES | $TOTAL_SESSIONS | ${REVIEWER_PCT}% |"
128
- echo "| Dev | $DEV_ISSUES | $TOTAL_SESSIONS | ${DEV_PCT}% |"
129
- echo "| SM | $SM_ISSUES | $TOTAL_SESSIONS | ${SM_PCT}% |"
130
- echo "| TEA | $TEA_ISSUES | $TOTAL_SESSIONS | ${TEA_PCT}% |"
131
- echo ""
132
-
133
- TOTAL_ISSUES=$((REVIEWER_ISSUES + DEV_ISSUES + SM_ISSUES + TEA_ISSUES))
134
-
135
- if [[ "$TOTAL_ISSUES" -eq 0 ]]; then
136
- echo "✅ **No drift detected.** All agents following expected behaviors."
137
- else
138
- echo "⚠️ **$TOTAL_ISSUES potential drift signals detected.**"
139
- echo ""
140
- echo "### Recommendations"
141
- if [[ "$REVIEWER_ISSUES" -gt 0 ]]; then
142
- echo "- **Reviewer:** Ensure substantive feedback on all reviews (not just LGTM)"
143
- fi
144
- if [[ "$DEV_ISSUES" -gt 0 ]]; then
145
- echo "- **Dev:** Always include test run output when declaring GREEN"
146
- fi
147
- if [[ "$SM_ISSUES" -gt 0 ]]; then
148
- echo "- **SM:** Use handoff markers (CYCLIST:HANDOFF) for Cyclist integration"
149
- fi
150
- if [[ "$TEA_ISSUES" -gt 0 ]]; then
151
- echo "- **TEA:** Reference specific test files when handing off to Dev"
152
- fi
153
- fi
154
-
155
- echo ""
156
- echo "Run with --verbose to see individual file details."
@@ -1,32 +0,0 @@
1
- # Hooks
2
-
3
- Git hooks and Claude Code hooks.
4
-
5
- ## Scripts
6
-
7
- | Script | Purpose |
8
- |--------|---------|
9
- | `context-circuit-breaker.sh` | Claude hook: halt at context limit |
10
- | `context-warning.sh` | Claude hook: warn on high context |
11
- | `otel-auto-config.sh` | Claude hook: configure OTEL |
12
- | `post-merge.sh` | Git hook: post-merge actions |
13
- | `pre-commit.sh` | Git hook: pre-commit validation |
14
- | `pre-edit-check.sh` | Claude hook: validate before edit |
15
- | `pre-push.sh` | Git hook: pre-push validation |
16
- | `session-start.sh` | Claude hook: session start |
17
- | `session-stop.sh` | Claude hook: session stop |
18
-
19
- ## Installation
20
-
21
- Git hooks are installed via:
22
-
23
- ```bash
24
- .pennyfarthing/scripts/git/install-git-hooks.sh
25
- ```
26
-
27
- Claude hooks are configured in `.claude/settings.json`.
28
-
29
- ## Ownership
30
-
31
- - **Primary users:** Git, Claude Code
32
- - **Maintained by:** Core Pennyfarthing team