@pennyfarthing/core 7.9.1 → 7.9.3

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 (1034) hide show
  1. package/{packages/core/dist → dist}/cli/commands/doctor.d.ts +0 -3
  2. package/{packages/core/dist → dist}/cli/commands/doctor.d.ts.map +1 -1
  3. package/{packages/core/dist → dist}/cli/commands/doctor.js +9 -20
  4. package/{packages/core/dist → dist}/cli/commands/doctor.js.map +1 -1
  5. package/package.json +37 -32
  6. package/LICENSE +0 -14
  7. package/README.md +0 -209
  8. package/pennyfarthing-dist/agents/README.md +0 -348
  9. package/pennyfarthing-dist/agents/architect.md +0 -180
  10. package/pennyfarthing-dist/agents/dev.md +0 -169
  11. package/pennyfarthing-dist/agents/devops.md +0 -203
  12. package/pennyfarthing-dist/agents/handoff.md +0 -235
  13. package/pennyfarthing-dist/agents/orchestrator.md +0 -182
  14. package/pennyfarthing-dist/agents/pm.md +0 -152
  15. package/pennyfarthing-dist/agents/reviewer-preflight.md +0 -129
  16. package/pennyfarthing-dist/agents/reviewer.md +0 -180
  17. package/pennyfarthing-dist/agents/sm-file-summary.md +0 -79
  18. package/pennyfarthing-dist/agents/sm-finish.md +0 -82
  19. package/pennyfarthing-dist/agents/sm-handoff.md +0 -129
  20. package/pennyfarthing-dist/agents/sm-setup.md +0 -251
  21. package/pennyfarthing-dist/agents/sm.md +0 -284
  22. package/pennyfarthing-dist/agents/tea.md +0 -161
  23. package/pennyfarthing-dist/agents/tech-writer.md +0 -226
  24. package/pennyfarthing-dist/agents/testing-runner.md +0 -184
  25. package/pennyfarthing-dist/agents/ux-designer.md +0 -236
  26. package/pennyfarthing-dist/agents/workflow-status-check.md +0 -96
  27. package/pennyfarthing-dist/commands/architect.md +0 -7
  28. package/pennyfarthing-dist/commands/benchmark-control.md +0 -69
  29. package/pennyfarthing-dist/commands/benchmark.md +0 -485
  30. package/pennyfarthing-dist/commands/brainstorming.md +0 -91
  31. package/pennyfarthing-dist/commands/check.md +0 -156
  32. package/pennyfarthing-dist/commands/chore.md +0 -178
  33. package/pennyfarthing-dist/commands/close-epic.md +0 -139
  34. package/pennyfarthing-dist/commands/continue-session.md +0 -184
  35. package/pennyfarthing-dist/commands/create-branches-from-story.md +0 -358
  36. package/pennyfarthing-dist/commands/create-theme.md +0 -29
  37. package/pennyfarthing-dist/commands/dev.md +0 -7
  38. package/pennyfarthing-dist/commands/devops.md +0 -7
  39. package/pennyfarthing-dist/commands/git-cleanup.md +0 -51
  40. package/pennyfarthing-dist/commands/health-check.md +0 -141
  41. package/pennyfarthing-dist/commands/help.md +0 -264
  42. package/pennyfarthing-dist/commands/job-fair.md +0 -102
  43. package/pennyfarthing-dist/commands/list-themes.md +0 -21
  44. package/pennyfarthing-dist/commands/orchestrator.md +0 -7
  45. package/pennyfarthing-dist/commands/parallel-work.md +0 -71
  46. package/pennyfarthing-dist/commands/party-mode.md +0 -77
  47. package/pennyfarthing-dist/commands/permissions.md +0 -193
  48. package/pennyfarthing-dist/commands/pm.md +0 -7
  49. package/pennyfarthing-dist/commands/prime.md +0 -140
  50. package/pennyfarthing-dist/commands/release.md +0 -58
  51. package/pennyfarthing-dist/commands/repo-status.md +0 -49
  52. package/pennyfarthing-dist/commands/retro.md +0 -200
  53. package/pennyfarthing-dist/commands/reviewer.md +0 -7
  54. package/pennyfarthing-dist/commands/run-ci.md +0 -116
  55. package/pennyfarthing-dist/commands/set-theme.md +0 -56
  56. package/pennyfarthing-dist/commands/show-theme.md +0 -21
  57. package/pennyfarthing-dist/commands/sm.md +0 -7
  58. package/pennyfarthing-dist/commands/solo.md +0 -447
  59. package/pennyfarthing-dist/commands/sprint-planning.md +0 -109
  60. package/pennyfarthing-dist/commands/sprint.md +0 -133
  61. package/pennyfarthing-dist/commands/standalone.md +0 -194
  62. package/pennyfarthing-dist/commands/start-epic.md +0 -168
  63. package/pennyfarthing-dist/commands/sync-epic-to-jira.md +0 -184
  64. package/pennyfarthing-dist/commands/sync-work-with-sprint.md +0 -373
  65. package/pennyfarthing-dist/commands/tea.md +0 -7
  66. package/pennyfarthing-dist/commands/tech-writer.md +0 -7
  67. package/pennyfarthing-dist/commands/theme-maker.md +0 -676
  68. package/pennyfarthing-dist/commands/update-domain-docs.md +0 -83
  69. package/pennyfarthing-dist/commands/ux-designer.md +0 -7
  70. package/pennyfarthing-dist/commands/work.md +0 -23
  71. package/pennyfarthing-dist/commands/workflow.md +0 -21
  72. package/pennyfarthing-dist/guides/agent-behavior.md +0 -311
  73. package/pennyfarthing-dist/guides/agent-coordination.md +0 -480
  74. package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +0 -432
  75. package/pennyfarthing-dist/guides/agent-template-strategic.md +0 -148
  76. package/pennyfarthing-dist/guides/agent-template-tactical.md +0 -162
  77. package/pennyfarthing-dist/guides/hooks.md +0 -230
  78. package/pennyfarthing-dist/guides/measurement-framework.md +0 -210
  79. package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +0 -766
  80. package/pennyfarthing-dist/guides/patterns/fan-out-fan-in-pattern.md +0 -574
  81. package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +0 -488
  82. package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +0 -402
  83. package/pennyfarthing-dist/guides/permission-protocol.md +0 -188
  84. package/pennyfarthing-dist/guides/persona-loading.md +0 -46
  85. package/pennyfarthing-dist/guides/prompt-patterns.md +0 -338
  86. package/pennyfarthing-dist/guides/scale-levels.md +0 -114
  87. package/pennyfarthing-dist/guides/session-artifacts.md +0 -193
  88. package/pennyfarthing-dist/guides/workflow-schema.md +0 -257
  89. package/pennyfarthing-dist/guides/worktree-mode.md +0 -113
  90. package/pennyfarthing-dist/guides/xml-tags.md +0 -335
  91. package/pennyfarthing-dist/output-styles/teaching.md +0 -33
  92. package/pennyfarthing-dist/output-styles/terse.md +0 -20
  93. package/pennyfarthing-dist/output-styles/verbose.md +0 -28
  94. package/pennyfarthing-dist/personas/themes/1984.yaml +0 -300
  95. package/pennyfarthing-dist/personas/themes/a-team.yaml +0 -327
  96. package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +0 -290
  97. package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +0 -320
  98. package/pennyfarthing-dist/personas/themes/all-stars.yaml +0 -322
  99. package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +0 -308
  100. package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +0 -294
  101. package/pennyfarthing-dist/personas/themes/arcane.yaml +0 -278
  102. package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +0 -318
  103. package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +0 -278
  104. package/pennyfarthing-dist/personas/themes/babylon-5.yaml +0 -278
  105. package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +0 -278
  106. package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +0 -278
  107. package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +0 -290
  108. package/pennyfarthing-dist/personas/themes/black-sails.yaml +0 -290
  109. package/pennyfarthing-dist/personas/themes/blade-runner.yaml +0 -285
  110. package/pennyfarthing-dist/personas/themes/bobiverse.yaml +0 -278
  111. package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +0 -315
  112. package/pennyfarthing-dist/personas/themes/catch-22.yaml +0 -304
  113. package/pennyfarthing-dist/personas/themes/classical-composers.yaml +0 -298
  114. package/pennyfarthing-dist/personas/themes/control.yaml +0 -197
  115. package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +0 -308
  116. package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +0 -311
  117. package/pennyfarthing-dist/personas/themes/deadwood.yaml +0 -290
  118. package/pennyfarthing-dist/personas/themes/dickens.yaml +0 -308
  119. package/pennyfarthing-dist/personas/themes/discworld.yaml +0 -322
  120. package/pennyfarthing-dist/personas/themes/doctor-who.yaml +0 -280
  121. package/pennyfarthing-dist/personas/themes/don-quixote.yaml +0 -308
  122. package/pennyfarthing-dist/personas/themes/dune.yaml +0 -297
  123. package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +0 -308
  124. package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +0 -278
  125. package/pennyfarthing-dist/personas/themes/fargo.yaml +0 -318
  126. package/pennyfarthing-dist/personas/themes/film-auteurs.yaml +0 -300
  127. package/pennyfarthing-dist/personas/themes/firefly.yaml +0 -316
  128. package/pennyfarthing-dist/personas/themes/foundation.yaml +0 -280
  129. package/pennyfarthing-dist/personas/themes/futurama.yaml +0 -309
  130. package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +0 -280
  131. package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +0 -361
  132. package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +0 -296
  133. package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +0 -296
  134. package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +0 -317
  135. package/pennyfarthing-dist/personas/themes/hannibal.yaml +0 -290
  136. package/pennyfarthing-dist/personas/themes/harry-potter.yaml +0 -312
  137. package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +0 -281
  138. package/pennyfarthing-dist/personas/themes/historical-figures.yaml +0 -278
  139. package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +0 -319
  140. package/pennyfarthing-dist/personas/themes/house-md.yaml +0 -309
  141. package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +0 -279
  142. package/pennyfarthing-dist/personas/themes/inspector-morse.yaml +0 -290
  143. package/pennyfarthing-dist/personas/themes/jane-austen.yaml +0 -277
  144. package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +0 -308
  145. package/pennyfarthing-dist/personas/themes/justified.yaml +0 -290
  146. package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +0 -339
  147. package/pennyfarthing-dist/personas/themes/les-miserables.yaml +0 -289
  148. package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +0 -322
  149. package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +0 -321
  150. package/pennyfarthing-dist/personas/themes/mad-max.yaml +0 -345
  151. package/pennyfarthing-dist/personas/themes/mad-men.yaml +0 -279
  152. package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +0 -290
  153. package/pennyfarthing-dist/personas/themes/mash.yaml +0 -325
  154. package/pennyfarthing-dist/personas/themes/mass-effect.yaml +0 -279
  155. package/pennyfarthing-dist/personas/themes/military-commanders.yaml +0 -294
  156. package/pennyfarthing-dist/personas/themes/moby-dick.yaml +0 -308
  157. package/pennyfarthing-dist/personas/themes/monty-python.yaml +0 -293
  158. package/pennyfarthing-dist/personas/themes/neuromancer.yaml +0 -290
  159. package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +0 -317
  160. package/pennyfarthing-dist/personas/themes/parks-and-rec.yaml +0 -360
  161. package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +0 -288
  162. package/pennyfarthing-dist/personas/themes/princess-bride.yaml +0 -340
  163. package/pennyfarthing-dist/personas/themes/renaissance-masters.yaml +0 -308
  164. package/pennyfarthing-dist/personas/themes/rome.yaml +0 -290
  165. package/pennyfarthing-dist/personas/themes/russian-masters.yaml +0 -306
  166. package/pennyfarthing-dist/personas/themes/sandman.yaml +0 -278
  167. package/pennyfarthing-dist/personas/themes/scientific-revolutionaries.yaml +0 -308
  168. package/pennyfarthing-dist/personas/themes/shakespeare.yaml +0 -291
  169. package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +0 -279
  170. package/pennyfarthing-dist/personas/themes/snow-crash.yaml +0 -278
  171. package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +0 -290
  172. package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +0 -355
  173. package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +0 -324
  174. package/pennyfarthing-dist/personas/themes/star-wars.yaml +0 -293
  175. package/pennyfarthing-dist/personas/themes/succession.yaml +0 -290
  176. package/pennyfarthing-dist/personas/themes/superfriends.yaml +0 -328
  177. package/pennyfarthing-dist/personas/themes/ted-lasso.yaml +0 -355
  178. package/pennyfarthing-dist/personas/themes/the-americans.yaml +0 -290
  179. package/pennyfarthing-dist/personas/themes/the-crown.yaml +0 -290
  180. package/pennyfarthing-dist/personas/themes/the-expanse.yaml +0 -333
  181. package/pennyfarthing-dist/personas/themes/the-good-place.yaml +0 -311
  182. package/pennyfarthing-dist/personas/themes/the-matrix.yaml +0 -338
  183. package/pennyfarthing-dist/personas/themes/the-odyssey.yaml +0 -290
  184. package/pennyfarthing-dist/personas/themes/the-office.yaml +0 -319
  185. package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +0 -296
  186. package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +0 -290
  187. package/pennyfarthing-dist/personas/themes/the-wire.yaml +0 -299
  188. package/pennyfarthing-dist/personas/themes/the-witcher.yaml +0 -290
  189. package/pennyfarthing-dist/personas/themes/twin-peaks.yaml +0 -292
  190. package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +0 -290
  191. package/pennyfarthing-dist/personas/themes/watchmen.yaml +0 -281
  192. package/pennyfarthing-dist/personas/themes/west-wing.yaml +0 -281
  193. package/pennyfarthing-dist/personas/themes/world-explorers.yaml +0 -308
  194. package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +0 -295
  195. package/pennyfarthing-dist/personas/themes/x-files.yaml +0 -292
  196. package/pennyfarthing-dist/scripts/README.md +0 -68
  197. package/pennyfarthing-dist/scripts/core/README.md +0 -26
  198. package/pennyfarthing-dist/scripts/core/agent-session.sh +0 -383
  199. package/pennyfarthing-dist/scripts/core/check-context.sh +0 -280
  200. package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -101
  201. package/pennyfarthing-dist/scripts/core/phase-check-start.sh +0 -95
  202. package/pennyfarthing-dist/scripts/core/prime.sh +0 -30
  203. package/pennyfarthing-dist/scripts/core/run.sh +0 -84
  204. package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -21
  205. package/pennyfarthing-dist/scripts/git/README.md +0 -25
  206. package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +0 -267
  207. package/pennyfarthing-dist/scripts/git/git-status-all.sh +0 -152
  208. package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +0 -91
  209. package/pennyfarthing-dist/scripts/git/release.sh +0 -199
  210. package/pennyfarthing-dist/scripts/git/worktree-manager.sh +0 -494
  211. package/pennyfarthing-dist/scripts/health/drift-detection.sh +0 -162
  212. package/pennyfarthing-dist/scripts/hooks/README.md +0 -32
  213. package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
  214. package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +0 -106
  215. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -60
  216. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -65
  217. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -35
  218. package/pennyfarthing-dist/scripts/hooks/post-merge.sh +0 -166
  219. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -107
  220. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -71
  221. package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -54
  222. package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +0 -20
  223. package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +0 -499
  224. package/pennyfarthing-dist/scripts/hooks/session-start.sh +0 -97
  225. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -65
  226. package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +0 -94
  227. package/pennyfarthing-dist/scripts/jira/README.md +0 -36
  228. package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -101
  229. package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -97
  230. package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -22
  231. package/pennyfarthing-dist/scripts/jira/jira-lib.sh +0 -464
  232. package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -266
  233. package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -18
  234. package/pennyfarthing-dist/scripts/jira/jira-sync.sh +0 -16
  235. package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -16
  236. package/pennyfarthing-dist/scripts/jira/sync-epic-to-jira.sh +0 -16
  237. package/pennyfarthing-dist/scripts/lib/README.md +0 -29
  238. package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -177
  239. package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -136
  240. package/pennyfarthing-dist/scripts/lib/common.sh +0 -212
  241. package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -269
  242. package/pennyfarthing-dist/scripts/lib/find-root.sh +0 -35
  243. package/pennyfarthing-dist/scripts/lib/logging.sh +0 -186
  244. package/pennyfarthing-dist/scripts/lib/retry.sh +0 -76
  245. package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +0 -102
  246. package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +0 -97
  247. package/pennyfarthing-dist/scripts/misc/README.md +0 -44
  248. package/pennyfarthing-dist/scripts/misc/add-short-names.sh +0 -13
  249. package/pennyfarthing-dist/scripts/misc/add_short_names.py +0 -226
  250. package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -91
  251. package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -247
  252. package/pennyfarthing-dist/scripts/misc/deploy.sh +0 -296
  253. package/pennyfarthing-dist/scripts/misc/doctor-dogfood.sh +0 -392
  254. package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -231
  255. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -110
  256. package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -74
  257. package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -10
  258. package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +0 -319
  259. package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -141
  260. package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -778
  261. package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -219
  262. package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -7
  263. package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -319
  264. package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -193
  265. package/pennyfarthing-dist/scripts/misc/statusline.sh +0 -259
  266. package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -270
  267. package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +0 -160
  268. package/pennyfarthing-dist/scripts/sprint/README.md +0 -29
  269. package/pennyfarthing-dist/scripts/sprint/archive-story.sh +0 -139
  270. package/pennyfarthing-dist/scripts/sprint/available-stories.sh +0 -97
  271. package/pennyfarthing-dist/scripts/sprint/check-story.sh +0 -164
  272. package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +0 -58
  273. package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +0 -69
  274. package/pennyfarthing-dist/scripts/sprint/import-epic-to-future.sh +0 -10
  275. package/pennyfarthing-dist/scripts/sprint/import_epic_to_future.py +0 -270
  276. package/pennyfarthing-dist/scripts/sprint/list-future.sh +0 -151
  277. package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +0 -116
  278. package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +0 -164
  279. package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +0 -421
  280. package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +0 -39
  281. package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +0 -241
  282. package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +0 -134
  283. package/pennyfarthing-dist/scripts/story/README.md +0 -23
  284. package/pennyfarthing-dist/scripts/story/create-story.sh +0 -19
  285. package/pennyfarthing-dist/scripts/story/size-story.sh +0 -18
  286. package/pennyfarthing-dist/scripts/story/story-template.sh +0 -18
  287. package/pennyfarthing-dist/scripts/test/README.md +0 -23
  288. package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +0 -59
  289. package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +0 -220
  290. package/pennyfarthing-dist/scripts/test/swebench-judge.py +0 -374
  291. package/pennyfarthing-dist/scripts/test/test-cache.sh +0 -165
  292. package/pennyfarthing-dist/scripts/test/test-setup.sh +0 -337
  293. package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -582
  294. package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -515
  295. package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -599
  296. package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +0 -332
  297. package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -573
  298. package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -859
  299. package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -662
  300. package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -589
  301. package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -105
  302. package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +0 -597
  303. package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -514
  304. package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -517
  305. package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -331
  306. package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -647
  307. package/pennyfarthing-dist/scripts/theme/README.md +0 -22
  308. package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +0 -13
  309. package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +0 -402
  310. package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -73
  311. package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +0 -97
  312. package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +0 -576
  313. package/pennyfarthing-dist/scripts/workflow/README.md +0 -28
  314. package/pennyfarthing-dist/scripts/workflow/check.py +0 -502
  315. package/pennyfarthing-dist/scripts/workflow/check.sh +0 -24
  316. package/pennyfarthing-dist/scripts/workflow/finish-story.sh +0 -159
  317. package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +0 -228
  318. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +0 -61
  319. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +0 -13
  320. package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +0 -130
  321. package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +0 -40
  322. package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +0 -163
  323. package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +0 -138
  324. package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +0 -256
  325. package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +0 -167
  326. package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +0 -242
  327. package/pennyfarthing-dist/skills/changelog/SKILL.md +0 -367
  328. package/pennyfarthing-dist/skills/code-review/SKILL.md +0 -168
  329. package/pennyfarthing-dist/skills/context-engineering/SKILL.md +0 -274
  330. package/pennyfarthing-dist/skills/cyclist/SKILL.md +0 -88
  331. package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +0 -437
  332. package/pennyfarthing-dist/skills/finalize-run/SKILL.md +0 -258
  333. package/pennyfarthing-dist/skills/jira/SKILL.md +0 -484
  334. package/pennyfarthing-dist/skills/judge/SKILL.md +0 -636
  335. package/pennyfarthing-dist/skills/just/SKILL.md +0 -403
  336. package/pennyfarthing-dist/skills/mermaid/SKILL.md +0 -240
  337. package/pennyfarthing-dist/skills/otel/skill.md +0 -223
  338. package/pennyfarthing-dist/skills/permissions/skill.md +0 -172
  339. package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +0 -178
  340. package/pennyfarthing-dist/skills/skill-registry.schema.json +0 -107
  341. package/pennyfarthing-dist/skills/skill-registry.yaml +0 -393
  342. package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +0 -101
  343. package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +0 -97
  344. package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +0 -164
  345. package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +0 -101
  346. package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +0 -116
  347. package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +0 -164
  348. package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +0 -39
  349. package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +0 -147
  350. package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +0 -86
  351. package/pennyfarthing-dist/skills/sprint/skill.md +0 -465
  352. package/pennyfarthing-dist/skills/story/scripts/create-story.sh +0 -159
  353. package/pennyfarthing-dist/skills/story/scripts/size-story.sh +0 -198
  354. package/pennyfarthing-dist/skills/story/scripts/story-template.sh +0 -162
  355. package/pennyfarthing-dist/skills/story/skill.md +0 -219
  356. package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +0 -390
  357. package/pennyfarthing-dist/skills/testing/SKILL.md +0 -99
  358. package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +0 -124
  359. package/pennyfarthing-dist/skills/theme/skill.md +0 -129
  360. package/pennyfarthing-dist/skills/theme-creation/SKILL.md +0 -174
  361. package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +0 -91
  362. package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +0 -163
  363. package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +0 -138
  364. package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +0 -273
  365. package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +0 -167
  366. package/pennyfarthing-dist/skills/workflow/skill.md +0 -337
  367. package/pennyfarthing-dist/skills/yq/SKILL.md +0 -264
  368. package/pennyfarthing-dist/templates/LEADERBOARD.schema.yaml +0 -187
  369. package/pennyfarthing-dist/templates/LEADERBOARD.template.md +0 -59
  370. package/pennyfarthing-dist/templates/agent-scopes.yaml.template +0 -276
  371. package/pennyfarthing-dist/templates/pennyfarthing-settings.yaml.template +0 -61
  372. package/pennyfarthing-dist/templates/persona-config.yaml.template +0 -22
  373. package/pennyfarthing-dist/templates/preferences.yaml.template +0 -15
  374. package/pennyfarthing-dist/templates/settings.local.json.template +0 -101
  375. package/pennyfarthing-dist/templates/setup-env.sh.template +0 -18
  376. package/pennyfarthing-dist/templates/shared-context.md.template +0 -70
  377. package/pennyfarthing-dist/templates/sidecar/decisions.md.template +0 -40
  378. package/pennyfarthing-dist/templates/sidecar/gotchas.md.template +0 -37
  379. package/pennyfarthing-dist/templates/sidecar/patterns.md.template +0 -34
  380. package/pennyfarthing-dist/workflows/agent-docs.yaml +0 -70
  381. package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +0 -101
  382. package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +0 -93
  383. package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +0 -115
  384. package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +0 -133
  385. package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +0 -138
  386. package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +0 -133
  387. package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +0 -142
  388. package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +0 -160
  389. package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +0 -102
  390. package/pennyfarthing-dist/workflows/architecture.yaml +0 -65
  391. package/pennyfarthing-dist/workflows/bdd.yaml +0 -60
  392. package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +0 -62
  393. package/pennyfarthing-dist/workflows/brainstorming/checklist.md +0 -44
  394. package/pennyfarthing-dist/workflows/brainstorming/instructions.md +0 -736
  395. package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +0 -49
  396. package/pennyfarthing-dist/workflows/code-review/checklist.md +0 -23
  397. package/pennyfarthing-dist/workflows/code-review/instructions.md +0 -234
  398. package/pennyfarthing-dist/workflows/code-review/workflow.yaml +0 -51
  399. package/pennyfarthing-dist/workflows/dev-story/checklist.md +0 -80
  400. package/pennyfarthing-dist/workflows/dev-story/instructions.xml +0 -410
  401. package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +0 -50
  402. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +0 -256
  403. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +0 -233
  404. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +0 -272
  405. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +0 -153
  406. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +0 -122
  407. package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +0 -57
  408. package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +0 -28
  409. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +0 -101
  410. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +0 -116
  411. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +0 -224
  412. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +0 -88
  413. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +0 -79
  414. package/pennyfarthing-dist/workflows/git-cleanup.yaml +0 -59
  415. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +0 -190
  416. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +0 -178
  417. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -179
  418. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +0 -139
  419. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +0 -252
  420. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +0 -133
  421. package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +0 -4
  422. package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +0 -40
  423. package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +0 -13
  424. package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +0 -197
  425. package/pennyfarthing-dist/workflows/prd/data/project-types.csv +0 -11
  426. package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +0 -191
  427. package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +0 -153
  428. package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +0 -224
  429. package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +0 -226
  430. package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +0 -213
  431. package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +0 -207
  432. package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +0 -226
  433. package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +0 -237
  434. package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +0 -228
  435. package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +0 -231
  436. package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +0 -242
  437. package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +0 -217
  438. package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +0 -180
  439. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +0 -247
  440. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +0 -208
  441. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +0 -249
  442. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +0 -253
  443. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +0 -168
  444. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +0 -218
  445. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +0 -191
  446. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +0 -209
  447. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +0 -174
  448. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +0 -214
  449. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +0 -228
  450. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +0 -217
  451. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -205
  452. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +0 -243
  453. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +0 -263
  454. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +0 -209
  455. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +0 -264
  456. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +0 -242
  457. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +0 -232
  458. package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +0 -10
  459. package/pennyfarthing-dist/workflows/prd/workflow.yaml +0 -42
  460. package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +0 -177
  461. package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +0 -161
  462. package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +0 -199
  463. package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +0 -202
  464. package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +0 -205
  465. package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +0 -219
  466. package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +0 -194
  467. package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +0 -10
  468. package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +0 -31
  469. package/pennyfarthing-dist/workflows/project-context/project-context-template.md +0 -21
  470. package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +0 -184
  471. package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +0 -318
  472. package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +0 -278
  473. package/pennyfarthing-dist/workflows/project-context/workflow.yaml +0 -27
  474. package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +0 -156
  475. package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +0 -120
  476. package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +0 -113
  477. package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +0 -113
  478. package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +0 -106
  479. package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +0 -140
  480. package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +0 -27
  481. package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +0 -189
  482. package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +0 -144
  483. package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +0 -128
  484. package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +0 -191
  485. package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +0 -74
  486. package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +0 -27
  487. package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +0 -137
  488. package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +0 -229
  489. package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +0 -238
  490. package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +0 -206
  491. package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +0 -234
  492. package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +0 -443
  493. package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +0 -182
  494. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +0 -237
  495. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +0 -200
  496. package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +0 -249
  497. package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +0 -259
  498. package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +0 -177
  499. package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +0 -475
  500. package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +0 -137
  501. package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +0 -239
  502. package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +0 -248
  503. package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +0 -202
  504. package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +0 -239
  505. package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +0 -486
  506. package/pennyfarthing-dist/workflows/research/templates/research.template.md +0 -29
  507. package/pennyfarthing-dist/workflows/research/workflow.yaml +0 -45
  508. package/pennyfarthing-dist/workflows/retrospective/checklist.md +0 -31
  509. package/pennyfarthing-dist/workflows/retrospective/instructions.md +0 -1443
  510. package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +0 -50
  511. package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +0 -33
  512. package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +0 -55
  513. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +0 -54
  514. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +0 -44
  515. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +0 -64
  516. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +0 -73
  517. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +0 -56
  518. package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +0 -34
  519. package/pennyfarthing-dist/workflows/tdd.yaml +0 -50
  520. package/pennyfarthing-dist/workflows/trivial.yaml +0 -40
  521. package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +0 -135
  522. package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +0 -127
  523. package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +0 -190
  524. package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +0 -216
  525. package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +0 -219
  526. package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +0 -234
  527. package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +0 -252
  528. package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +0 -254
  529. package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +0 -224
  530. package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +0 -224
  531. package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +0 -241
  532. package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +0 -248
  533. package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +0 -237
  534. package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +0 -264
  535. package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +0 -228
  536. package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +0 -13
  537. package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +0 -41
  538. package/pennyfarthing_scripts/__init__.py +0 -17
  539. package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  540. package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  541. package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
  542. package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
  543. package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
  544. package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
  545. package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
  546. package/pennyfarthing_scripts/__pycache__/sprint.cpython-314.pyc +0 -0
  547. package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
  548. package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
  549. package/pennyfarthing_scripts/bellmode_hook.py +0 -154
  550. package/pennyfarthing_scripts/brownfield/__init__.py +0 -35
  551. package/pennyfarthing_scripts/brownfield/__main__.py +0 -7
  552. package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
  553. package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
  554. package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
  555. package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
  556. package/pennyfarthing_scripts/brownfield/cli.py +0 -131
  557. package/pennyfarthing_scripts/brownfield/discover.py +0 -753
  558. package/pennyfarthing_scripts/common/__init__.py +0 -49
  559. package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
  560. package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
  561. package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
  562. package/pennyfarthing_scripts/common/config.py +0 -65
  563. package/pennyfarthing_scripts/common/output.py +0 -180
  564. package/pennyfarthing_scripts/config.py +0 -21
  565. package/pennyfarthing_scripts/git/__init__.py +0 -29
  566. package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
  567. package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
  568. package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
  569. package/pennyfarthing_scripts/git/create_branches.py +0 -439
  570. package/pennyfarthing_scripts/git/status_all.py +0 -310
  571. package/pennyfarthing_scripts/hooks.py +0 -455
  572. package/pennyfarthing_scripts/jira/__init__.py +0 -93
  573. package/pennyfarthing_scripts/jira/__main__.py +0 -10
  574. package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
  575. package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
  576. package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
  577. package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
  578. package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
  579. package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
  580. package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
  581. package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
  582. package/pennyfarthing_scripts/jira/__pycache__/mappings.cpython-314.pyc +0 -0
  583. package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
  584. package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
  585. package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
  586. package/pennyfarthing_scripts/jira/bidirectional.py +0 -561
  587. package/pennyfarthing_scripts/jira/claim.py +0 -211
  588. package/pennyfarthing_scripts/jira/cli.py +0 -150
  589. package/pennyfarthing_scripts/jira/client.py +0 -613
  590. package/pennyfarthing_scripts/jira/epic.py +0 -176
  591. package/pennyfarthing_scripts/jira/story.py +0 -219
  592. package/pennyfarthing_scripts/jira/sync.py +0 -350
  593. package/pennyfarthing_scripts/jira_bidirectional_sync.py +0 -37
  594. package/pennyfarthing_scripts/jira_epic_creation.py +0 -30
  595. package/pennyfarthing_scripts/jira_sync.py +0 -36
  596. package/pennyfarthing_scripts/jira_sync_story.py +0 -30
  597. package/pennyfarthing_scripts/output.py +0 -37
  598. package/pennyfarthing_scripts/preflight/__init__.py +0 -17
  599. package/pennyfarthing_scripts/preflight/__main__.py +0 -10
  600. package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
  601. package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
  602. package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
  603. package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
  604. package/pennyfarthing_scripts/preflight/cli.py +0 -141
  605. package/pennyfarthing_scripts/preflight/finish.py +0 -382
  606. package/pennyfarthing_scripts/pretooluse_hook.py +0 -142
  607. package/pennyfarthing_scripts/prime/__init__.py +0 -125
  608. package/pennyfarthing_scripts/prime/__main__.py +0 -8
  609. package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
  610. package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
  611. package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
  612. package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
  613. package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
  614. package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
  615. package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
  616. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  617. package/pennyfarthing_scripts/prime/cli.py +0 -375
  618. package/pennyfarthing_scripts/prime/loader.py +0 -239
  619. package/pennyfarthing_scripts/prime/models.py +0 -169
  620. package/pennyfarthing_scripts/prime/persona.py +0 -288
  621. package/pennyfarthing_scripts/prime/session.py +0 -183
  622. package/pennyfarthing_scripts/prime/workflow.py +0 -275
  623. package/pennyfarthing_scripts/sprint/__init__.py +0 -66
  624. package/pennyfarthing_scripts/sprint/__main__.py +0 -10
  625. package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
  626. package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
  627. package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
  628. package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
  629. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  630. package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
  631. package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
  632. package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
  633. package/pennyfarthing_scripts/sprint/archive.py +0 -108
  634. package/pennyfarthing_scripts/sprint/cli.py +0 -124
  635. package/pennyfarthing_scripts/sprint/loader.py +0 -193
  636. package/pennyfarthing_scripts/sprint/status.py +0 -122
  637. package/pennyfarthing_scripts/sprint/validator.py +0 -405
  638. package/pennyfarthing_scripts/sprint/work.py +0 -192
  639. package/pennyfarthing_scripts/story/__init__.py +0 -67
  640. package/pennyfarthing_scripts/story/__main__.py +0 -10
  641. package/pennyfarthing_scripts/story/cli.py +0 -105
  642. package/pennyfarthing_scripts/story/create.py +0 -167
  643. package/pennyfarthing_scripts/story/size.py +0 -113
  644. package/pennyfarthing_scripts/story/template.py +0 -151
  645. package/pennyfarthing_scripts/swebench.py +0 -216
  646. package/pennyfarthing_scripts/tests/__init__.py +0 -1
  647. package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
  648. package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
  649. package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
  650. package/pennyfarthing_scripts/tests/__pycache__/test_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
  651. package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
  652. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
  653. package/pennyfarthing_scripts/tests/conftest.py +0 -106
  654. package/pennyfarthing_scripts/tests/test_brownfield.py +0 -842
  655. package/pennyfarthing_scripts/tests/test_cli_modules.py +0 -245
  656. package/pennyfarthing_scripts/tests/test_common.py +0 -180
  657. package/pennyfarthing_scripts/tests/test_git_utils.py +0 -866
  658. package/pennyfarthing_scripts/tests/test_jira_package.py +0 -334
  659. package/pennyfarthing_scripts/tests/test_package_structure.py +0 -372
  660. package/pennyfarthing_scripts/tests/test_prime.py +0 -1050
  661. package/pennyfarthing_scripts/tests/test_sprint_package.py +0 -236
  662. package/pennyfarthing_scripts/tests/test_sprint_validator.py +0 -675
  663. package/pennyfarthing_scripts/tests/test_story_package.py +0 -156
  664. package/pennyfarthing_scripts/welcome_hook.py +0 -157
  665. package/pennyfarthing_scripts/workflow.py +0 -183
  666. /package/{packages/core/bin → bin}/pennyfarthing.js +0 -0
  667. /package/{packages/core/dist → dist}/bmad/context-reader.d.ts +0 -0
  668. /package/{packages/core/dist → dist}/bmad/context-reader.d.ts.map +0 -0
  669. /package/{packages/core/dist → dist}/bmad/context-reader.js +0 -0
  670. /package/{packages/core/dist → dist}/bmad/context-reader.js.map +0 -0
  671. /package/{packages/core/dist → dist}/bmad/context-reader.test.d.ts +0 -0
  672. /package/{packages/core/dist → dist}/bmad/context-reader.test.d.ts.map +0 -0
  673. /package/{packages/core/dist → dist}/bmad/context-reader.test.js +0 -0
  674. /package/{packages/core/dist → dist}/bmad/context-reader.test.js.map +0 -0
  675. /package/{packages/core/dist → dist}/bmad/epics-parser.d.ts +0 -0
  676. /package/{packages/core/dist → dist}/bmad/epics-parser.d.ts.map +0 -0
  677. /package/{packages/core/dist → dist}/bmad/epics-parser.js +0 -0
  678. /package/{packages/core/dist → dist}/bmad/epics-parser.js.map +0 -0
  679. /package/{packages/core/dist → dist}/bmad/epics-parser.test.d.ts +0 -0
  680. /package/{packages/core/dist → dist}/bmad/epics-parser.test.d.ts.map +0 -0
  681. /package/{packages/core/dist → dist}/bmad/epics-parser.test.js +0 -0
  682. /package/{packages/core/dist → dist}/bmad/epics-parser.test.js.map +0 -0
  683. /package/{packages/core/dist → dist}/bmad/index.d.ts +0 -0
  684. /package/{packages/core/dist → dist}/bmad/index.d.ts.map +0 -0
  685. /package/{packages/core/dist → dist}/bmad/index.js +0 -0
  686. /package/{packages/core/dist → dist}/bmad/index.js.map +0 -0
  687. /package/{packages/core/dist → dist}/bmad/status-sync.d.ts +0 -0
  688. /package/{packages/core/dist → dist}/bmad/status-sync.d.ts.map +0 -0
  689. /package/{packages/core/dist → dist}/bmad/status-sync.js +0 -0
  690. /package/{packages/core/dist → dist}/bmad/status-sync.js.map +0 -0
  691. /package/{packages/core/dist → dist}/bmad/status-sync.test.d.ts +0 -0
  692. /package/{packages/core/dist → dist}/bmad/status-sync.test.d.ts.map +0 -0
  693. /package/{packages/core/dist → dist}/bmad/status-sync.test.js +0 -0
  694. /package/{packages/core/dist → dist}/bmad/status-sync.test.js.map +0 -0
  695. /package/{packages/core/dist → dist}/bmad/story-exporter.d.ts +0 -0
  696. /package/{packages/core/dist → dist}/bmad/story-exporter.d.ts.map +0 -0
  697. /package/{packages/core/dist → dist}/bmad/story-exporter.js +0 -0
  698. /package/{packages/core/dist → dist}/bmad/story-exporter.js.map +0 -0
  699. /package/{packages/core/dist → dist}/bmad/story-exporter.test.d.ts +0 -0
  700. /package/{packages/core/dist → dist}/bmad/story-exporter.test.d.ts.map +0 -0
  701. /package/{packages/core/dist → dist}/bmad/story-exporter.test.js +0 -0
  702. /package/{packages/core/dist → dist}/bmad/story-exporter.test.js.map +0 -0
  703. /package/{packages/core/dist → dist}/bmad/story-parser.d.ts +0 -0
  704. /package/{packages/core/dist → dist}/bmad/story-parser.d.ts.map +0 -0
  705. /package/{packages/core/dist → dist}/bmad/story-parser.js +0 -0
  706. /package/{packages/core/dist → dist}/bmad/story-parser.js.map +0 -0
  707. /package/{packages/core/dist → dist}/bmad/story-parser.test.d.ts +0 -0
  708. /package/{packages/core/dist → dist}/bmad/story-parser.test.d.ts.map +0 -0
  709. /package/{packages/core/dist → dist}/bmad/story-parser.test.js +0 -0
  710. /package/{packages/core/dist → dist}/bmad/story-parser.test.js.map +0 -0
  711. /package/{packages/core/dist → dist}/cli/commands/command.d.ts +0 -0
  712. /package/{packages/core/dist → dist}/cli/commands/command.d.ts.map +0 -0
  713. /package/{packages/core/dist → dist}/cli/commands/command.js +0 -0
  714. /package/{packages/core/dist → dist}/cli/commands/command.js.map +0 -0
  715. /package/{packages/core/dist → dist}/cli/commands/cyclist.d.ts +0 -0
  716. /package/{packages/core/dist → dist}/cli/commands/cyclist.d.ts.map +0 -0
  717. /package/{packages/core/dist → dist}/cli/commands/cyclist.js +0 -0
  718. /package/{packages/core/dist → dist}/cli/commands/cyclist.js.map +0 -0
  719. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.d.ts +0 -0
  720. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.d.ts.map +0 -0
  721. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.js +0 -0
  722. /package/{packages/core/dist → dist}/cli/commands/cyclist.test.js.map +0 -0
  723. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.d.ts +0 -0
  724. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.d.ts.map +0 -0
  725. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.js +0 -0
  726. /package/{packages/core/dist → dist}/cli/commands/doctor-legacy.test.js.map +0 -0
  727. /package/{packages/core/dist → dist}/cli/commands/init.d.ts +0 -0
  728. /package/{packages/core/dist → dist}/cli/commands/init.d.ts.map +0 -0
  729. /package/{packages/core/dist → dist}/cli/commands/init.js +0 -0
  730. /package/{packages/core/dist → dist}/cli/commands/init.js.map +0 -0
  731. /package/{packages/core/dist → dist}/cli/commands/skill.d.ts +0 -0
  732. /package/{packages/core/dist → dist}/cli/commands/skill.d.ts.map +0 -0
  733. /package/{packages/core/dist → dist}/cli/commands/skill.js +0 -0
  734. /package/{packages/core/dist → dist}/cli/commands/skill.js.map +0 -0
  735. /package/{packages/core/dist → dist}/cli/commands/theme.d.ts +0 -0
  736. /package/{packages/core/dist → dist}/cli/commands/theme.d.ts.map +0 -0
  737. /package/{packages/core/dist → dist}/cli/commands/theme.js +0 -0
  738. /package/{packages/core/dist → dist}/cli/commands/theme.js.map +0 -0
  739. /package/{packages/core/dist → dist}/cli/commands/uninstall.d.ts +0 -0
  740. /package/{packages/core/dist → dist}/cli/commands/uninstall.d.ts.map +0 -0
  741. /package/{packages/core/dist → dist}/cli/commands/uninstall.js +0 -0
  742. /package/{packages/core/dist → dist}/cli/commands/uninstall.js.map +0 -0
  743. /package/{packages/core/dist → dist}/cli/commands/update.d.ts +0 -0
  744. /package/{packages/core/dist → dist}/cli/commands/update.d.ts.map +0 -0
  745. /package/{packages/core/dist → dist}/cli/commands/update.js +0 -0
  746. /package/{packages/core/dist → dist}/cli/commands/update.js.map +0 -0
  747. /package/{packages/core/dist → dist}/cli/commands/version.d.ts +0 -0
  748. /package/{packages/core/dist → dist}/cli/commands/version.d.ts.map +0 -0
  749. /package/{packages/core/dist → dist}/cli/commands/version.js +0 -0
  750. /package/{packages/core/dist → dist}/cli/commands/version.js.map +0 -0
  751. /package/{packages/core/dist → dist}/cli/customization.test.d.ts +0 -0
  752. /package/{packages/core/dist → dist}/cli/customization.test.d.ts.map +0 -0
  753. /package/{packages/core/dist → dist}/cli/customization.test.js +0 -0
  754. /package/{packages/core/dist → dist}/cli/customization.test.js.map +0 -0
  755. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.d.ts +0 -0
  756. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.d.ts.map +0 -0
  757. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.js +0 -0
  758. /package/{packages/core/dist → dist}/cli/cyclist-migration.test.js.map +0 -0
  759. /package/{packages/core/dist → dist}/cli/index.d.ts +0 -0
  760. /package/{packages/core/dist → dist}/cli/index.d.ts.map +0 -0
  761. /package/{packages/core/dist → dist}/cli/index.js +0 -0
  762. /package/{packages/core/dist → dist}/cli/index.js.map +0 -0
  763. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.d.ts +0 -0
  764. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.d.ts.map +0 -0
  765. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.js +0 -0
  766. /package/{packages/core/dist → dist}/cli/ocean-profiles.test.js.map +0 -0
  767. /package/{packages/core/dist → dist}/cli/theme-maker.test.d.ts +0 -0
  768. /package/{packages/core/dist → dist}/cli/theme-maker.test.d.ts.map +0 -0
  769. /package/{packages/core/dist → dist}/cli/theme-maker.test.js +0 -0
  770. /package/{packages/core/dist → dist}/cli/theme-maker.test.js.map +0 -0
  771. /package/{packages/core/dist → dist}/cli/utils/constants.d.ts +0 -0
  772. /package/{packages/core/dist → dist}/cli/utils/constants.d.ts.map +0 -0
  773. /package/{packages/core/dist → dist}/cli/utils/constants.js +0 -0
  774. /package/{packages/core/dist → dist}/cli/utils/constants.js.map +0 -0
  775. /package/{packages/core/dist → dist}/cli/utils/files.d.ts +0 -0
  776. /package/{packages/core/dist → dist}/cli/utils/files.d.ts.map +0 -0
  777. /package/{packages/core/dist → dist}/cli/utils/files.js +0 -0
  778. /package/{packages/core/dist → dist}/cli/utils/files.js.map +0 -0
  779. /package/{packages/core/dist → dist}/cli/utils/logger.d.ts +0 -0
  780. /package/{packages/core/dist → dist}/cli/utils/logger.d.ts.map +0 -0
  781. /package/{packages/core/dist → dist}/cli/utils/logger.js +0 -0
  782. /package/{packages/core/dist → dist}/cli/utils/logger.js.map +0 -0
  783. /package/{packages/core/dist → dist}/cli/utils/manifest.d.ts +0 -0
  784. /package/{packages/core/dist → dist}/cli/utils/manifest.d.ts.map +0 -0
  785. /package/{packages/core/dist → dist}/cli/utils/manifest.js +0 -0
  786. /package/{packages/core/dist → dist}/cli/utils/manifest.js.map +0 -0
  787. /package/{packages/core/dist → dist}/cli/utils/node-modules.d.ts +0 -0
  788. /package/{packages/core/dist → dist}/cli/utils/node-modules.d.ts.map +0 -0
  789. /package/{packages/core/dist → dist}/cli/utils/node-modules.js +0 -0
  790. /package/{packages/core/dist → dist}/cli/utils/node-modules.js.map +0 -0
  791. /package/{packages/core/dist → dist}/cli/utils/prompts.d.ts +0 -0
  792. /package/{packages/core/dist → dist}/cli/utils/prompts.d.ts.map +0 -0
  793. /package/{packages/core/dist → dist}/cli/utils/prompts.js +0 -0
  794. /package/{packages/core/dist → dist}/cli/utils/prompts.js.map +0 -0
  795. /package/{packages/core/dist → dist}/cli/utils/symlinks.d.ts +0 -0
  796. /package/{packages/core/dist → dist}/cli/utils/symlinks.d.ts.map +0 -0
  797. /package/{packages/core/dist → dist}/cli/utils/symlinks.js +0 -0
  798. /package/{packages/core/dist → dist}/cli/utils/symlinks.js.map +0 -0
  799. /package/{packages/core/dist → dist}/cli/utils/themes.d.ts +0 -0
  800. /package/{packages/core/dist → dist}/cli/utils/themes.d.ts.map +0 -0
  801. /package/{packages/core/dist → dist}/cli/utils/themes.js +0 -0
  802. /package/{packages/core/dist → dist}/cli/utils/themes.js.map +0 -0
  803. /package/{packages/core/dist → dist}/cli/utils/themes.test.d.ts +0 -0
  804. /package/{packages/core/dist → dist}/cli/utils/themes.test.d.ts.map +0 -0
  805. /package/{packages/core/dist → dist}/cli/utils/themes.test.js +0 -0
  806. /package/{packages/core/dist → dist}/cli/utils/themes.test.js.map +0 -0
  807. /package/{packages/core/dist → dist}/cli/utils/version.d.ts +0 -0
  808. /package/{packages/core/dist → dist}/cli/utils/version.d.ts.map +0 -0
  809. /package/{packages/core/dist → dist}/cli/utils/version.js +0 -0
  810. /package/{packages/core/dist → dist}/cli/utils/version.js.map +0 -0
  811. /package/{packages/core/dist → dist}/cli/workspace.test.d.ts +0 -0
  812. /package/{packages/core/dist → dist}/cli/workspace.test.d.ts.map +0 -0
  813. /package/{packages/core/dist → dist}/cli/workspace.test.js +0 -0
  814. /package/{packages/core/dist → dist}/cli/workspace.test.js.map +0 -0
  815. /package/{packages/core/dist → dist}/index.d.ts +0 -0
  816. /package/{packages/core/dist → dist}/index.d.ts.map +0 -0
  817. /package/{packages/core/dist → dist}/index.js +0 -0
  818. /package/{packages/core/dist → dist}/index.js.map +0 -0
  819. /package/{packages/core/dist → dist}/jira/jira-epic-creation.d.ts +0 -0
  820. /package/{packages/core/dist → dist}/jira/jira-epic-creation.d.ts.map +0 -0
  821. /package/{packages/core/dist → dist}/jira/jira-epic-creation.js +0 -0
  822. /package/{packages/core/dist → dist}/jira/jira-epic-creation.js.map +0 -0
  823. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.d.ts +0 -0
  824. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.d.ts.map +0 -0
  825. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.js +0 -0
  826. /package/{packages/core/dist → dist}/jira/jira-epic-creation.test.js.map +0 -0
  827. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.d.ts +0 -0
  828. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.d.ts.map +0 -0
  829. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.js +0 -0
  830. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.js.map +0 -0
  831. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.d.ts +0 -0
  832. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.d.ts.map +0 -0
  833. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.js +0 -0
  834. /package/{packages/core/dist → dist}/jira/jira-sprint-sync.test.js.map +0 -0
  835. /package/{packages/core/dist → dist}/permissions/index.d.ts +0 -0
  836. /package/{packages/core/dist → dist}/permissions/index.d.ts.map +0 -0
  837. /package/{packages/core/dist → dist}/permissions/index.js +0 -0
  838. /package/{packages/core/dist → dist}/permissions/index.js.map +0 -0
  839. /package/{packages/core/dist → dist}/permissions/permission-schema.d.ts +0 -0
  840. /package/{packages/core/dist → dist}/permissions/permission-schema.d.ts.map +0 -0
  841. /package/{packages/core/dist → dist}/permissions/permission-schema.js +0 -0
  842. /package/{packages/core/dist → dist}/permissions/permission-schema.js.map +0 -0
  843. /package/{packages/core/dist → dist}/permissions/permission-schema.test.d.ts +0 -0
  844. /package/{packages/core/dist → dist}/permissions/permission-schema.test.d.ts.map +0 -0
  845. /package/{packages/core/dist → dist}/permissions/permission-schema.test.js +0 -0
  846. /package/{packages/core/dist → dist}/permissions/permission-schema.test.js.map +0 -0
  847. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.d.ts +0 -0
  848. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.d.ts.map +0 -0
  849. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.js +0 -0
  850. /package/{packages/core/dist → dist}/scripts/add-ocean-profiles.js.map +0 -0
  851. /package/{packages/core/dist → dist}/scripts/benchmark-integration.d.ts +0 -0
  852. /package/{packages/core/dist → dist}/scripts/benchmark-integration.d.ts.map +0 -0
  853. /package/{packages/core/dist → dist}/scripts/benchmark-integration.js +0 -0
  854. /package/{packages/core/dist → dist}/scripts/benchmark-integration.js.map +0 -0
  855. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.d.ts +0 -0
  856. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.d.ts.map +0 -0
  857. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.js +0 -0
  858. /package/{packages/core/dist → dist}/scripts/benchmark-integration.test.js.map +0 -0
  859. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.d.ts +0 -0
  860. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.d.ts.map +0 -0
  861. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.js +0 -0
  862. /package/{packages/core/dist → dist}/scripts/debugging-scenarios.test.js.map +0 -0
  863. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.d.ts +0 -0
  864. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.d.ts.map +0 -0
  865. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.js +0 -0
  866. /package/{packages/core/dist → dist}/scripts/generate-all-spiders.js.map +0 -0
  867. /package/{packages/core/dist → dist}/scripts/generate-report.d.ts +0 -0
  868. /package/{packages/core/dist → dist}/scripts/generate-report.d.ts.map +0 -0
  869. /package/{packages/core/dist → dist}/scripts/generate-report.js +0 -0
  870. /package/{packages/core/dist → dist}/scripts/generate-report.js.map +0 -0
  871. /package/{packages/core/dist → dist}/scripts/generate-report.test.d.ts +0 -0
  872. /package/{packages/core/dist → dist}/scripts/generate-report.test.d.ts.map +0 -0
  873. /package/{packages/core/dist → dist}/scripts/generate-report.test.js +0 -0
  874. /package/{packages/core/dist → dist}/scripts/generate-report.test.js.map +0 -0
  875. /package/{packages/core/dist → dist}/scripts/generate-spider-report.d.ts +0 -0
  876. /package/{packages/core/dist → dist}/scripts/generate-spider-report.d.ts.map +0 -0
  877. /package/{packages/core/dist → dist}/scripts/generate-spider-report.js +0 -0
  878. /package/{packages/core/dist → dist}/scripts/generate-spider-report.js.map +0 -0
  879. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.d.ts +0 -0
  880. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.d.ts.map +0 -0
  881. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.js +0 -0
  882. /package/{packages/core/dist → dist}/scripts/generate-spider-report.test.js.map +0 -0
  883. /package/{packages/core/dist → dist}/scripts/generate-spider.d.ts +0 -0
  884. /package/{packages/core/dist → dist}/scripts/generate-spider.d.ts.map +0 -0
  885. /package/{packages/core/dist → dist}/scripts/generate-spider.js +0 -0
  886. /package/{packages/core/dist → dist}/scripts/generate-spider.js.map +0 -0
  887. /package/{packages/core/dist → dist}/scripts/generate-spider.test.d.ts +0 -0
  888. /package/{packages/core/dist → dist}/scripts/generate-spider.test.d.ts.map +0 -0
  889. /package/{packages/core/dist → dist}/scripts/generate-spider.test.js +0 -0
  890. /package/{packages/core/dist → dist}/scripts/generate-spider.test.js.map +0 -0
  891. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.d.ts +0 -0
  892. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.d.ts.map +0 -0
  893. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.js +0 -0
  894. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.js.map +0 -0
  895. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.d.ts +0 -0
  896. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.d.ts.map +0 -0
  897. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.js +0 -0
  898. /package/{packages/core/dist → dist}/scripts/job-fair-aggregator.test.js.map +0 -0
  899. /package/{packages/core/dist → dist}/scripts/run-ci.test.d.ts +0 -0
  900. /package/{packages/core/dist → dist}/scripts/run-ci.test.d.ts.map +0 -0
  901. /package/{packages/core/dist → dist}/scripts/run-ci.test.js +0 -0
  902. /package/{packages/core/dist → dist}/scripts/run-ci.test.js.map +0 -0
  903. /package/{packages/core/dist → dist}/scripts/theme-detail.test.d.ts +0 -0
  904. /package/{packages/core/dist → dist}/scripts/theme-detail.test.d.ts.map +0 -0
  905. /package/{packages/core/dist → dist}/scripts/theme-detail.test.js +0 -0
  906. /package/{packages/core/dist → dist}/scripts/theme-detail.test.js.map +0 -0
  907. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.d.ts +0 -0
  908. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.d.ts.map +0 -0
  909. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.js +0 -0
  910. /package/{packages/core/dist → dist}/scripts/validate-ocean-profiles.js.map +0 -0
  911. /package/{packages/core/dist → dist}/workflow/gate-handler.d.ts +0 -0
  912. /package/{packages/core/dist → dist}/workflow/gate-handler.d.ts.map +0 -0
  913. /package/{packages/core/dist → dist}/workflow/gate-handler.js +0 -0
  914. /package/{packages/core/dist → dist}/workflow/gate-handler.js.map +0 -0
  915. /package/{packages/core/dist → dist}/workflow/gate-handler.test.d.ts +0 -0
  916. /package/{packages/core/dist → dist}/workflow/gate-handler.test.d.ts.map +0 -0
  917. /package/{packages/core/dist → dist}/workflow/gate-handler.test.js +0 -0
  918. /package/{packages/core/dist → dist}/workflow/gate-handler.test.js.map +0 -0
  919. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.d.ts +0 -0
  920. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.d.ts.map +0 -0
  921. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.js +0 -0
  922. /package/{packages/core/dist → dist}/workflow/generic-sm-finish.js.map +0 -0
  923. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.d.ts +0 -0
  924. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.d.ts.map +0 -0
  925. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.js +0 -0
  926. /package/{packages/core/dist → dist}/workflow/generic-sm-setup.js.map +0 -0
  927. /package/{packages/core/dist → dist}/workflow/handoff.d.ts +0 -0
  928. /package/{packages/core/dist → dist}/workflow/handoff.d.ts.map +0 -0
  929. /package/{packages/core/dist → dist}/workflow/handoff.js +0 -0
  930. /package/{packages/core/dist → dist}/workflow/handoff.js.map +0 -0
  931. /package/{packages/core/dist → dist}/workflow/handoff.test.d.ts +0 -0
  932. /package/{packages/core/dist → dist}/workflow/handoff.test.d.ts.map +0 -0
  933. /package/{packages/core/dist → dist}/workflow/handoff.test.js +0 -0
  934. /package/{packages/core/dist → dist}/workflow/handoff.test.js.map +0 -0
  935. /package/{packages/core/dist → dist}/workflow/index.d.ts +0 -0
  936. /package/{packages/core/dist → dist}/workflow/index.d.ts.map +0 -0
  937. /package/{packages/core/dist → dist}/workflow/index.js +0 -0
  938. /package/{packages/core/dist → dist}/workflow/index.js.map +0 -0
  939. /package/{packages/core/dist → dist}/workflow/session-state.d.ts +0 -0
  940. /package/{packages/core/dist → dist}/workflow/session-state.d.ts.map +0 -0
  941. /package/{packages/core/dist → dist}/workflow/session-state.js +0 -0
  942. /package/{packages/core/dist → dist}/workflow/session-state.js.map +0 -0
  943. /package/{packages/core/dist → dist}/workflow/session-state.test.d.ts +0 -0
  944. /package/{packages/core/dist → dist}/workflow/session-state.test.d.ts.map +0 -0
  945. /package/{packages/core/dist → dist}/workflow/session-state.test.js +0 -0
  946. /package/{packages/core/dist → dist}/workflow/session-state.test.js.map +0 -0
  947. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.d.ts +0 -0
  948. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.d.ts.map +0 -0
  949. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.js +0 -0
  950. /package/{packages/core/dist → dist}/workflow/sm-subagents.test.js.map +0 -0
  951. /package/{packages/core/dist → dist}/workflow/step-parser.d.ts +0 -0
  952. /package/{packages/core/dist → dist}/workflow/step-parser.d.ts.map +0 -0
  953. /package/{packages/core/dist → dist}/workflow/step-parser.js +0 -0
  954. /package/{packages/core/dist → dist}/workflow/step-parser.js.map +0 -0
  955. /package/{packages/core/dist → dist}/workflow/step-parser.test.d.ts +0 -0
  956. /package/{packages/core/dist → dist}/workflow/step-parser.test.d.ts.map +0 -0
  957. /package/{packages/core/dist → dist}/workflow/step-parser.test.js +0 -0
  958. /package/{packages/core/dist → dist}/workflow/step-parser.test.js.map +0 -0
  959. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.d.ts +0 -0
  960. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.d.ts.map +0 -0
  961. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.js +0 -0
  962. /package/{packages/core/dist → dist}/workflow/story-workflow-routing.test.js.map +0 -0
  963. /package/{packages/core/dist → dist}/workflow/test-cache.d.ts +0 -0
  964. /package/{packages/core/dist → dist}/workflow/test-cache.d.ts.map +0 -0
  965. /package/{packages/core/dist → dist}/workflow/test-cache.js +0 -0
  966. /package/{packages/core/dist → dist}/workflow/test-cache.js.map +0 -0
  967. /package/{packages/core/dist → dist}/workflow/test-cache.test.d.ts +0 -0
  968. /package/{packages/core/dist → dist}/workflow/test-cache.test.d.ts.map +0 -0
  969. /package/{packages/core/dist → dist}/workflow/test-cache.test.js +0 -0
  970. /package/{packages/core/dist → dist}/workflow/test-cache.test.js.map +0 -0
  971. /package/{packages/core/dist → dist}/workflow/trimodal.d.ts +0 -0
  972. /package/{packages/core/dist → dist}/workflow/trimodal.d.ts.map +0 -0
  973. /package/{packages/core/dist → dist}/workflow/trimodal.js +0 -0
  974. /package/{packages/core/dist → dist}/workflow/trimodal.js.map +0 -0
  975. /package/{packages/core/dist → dist}/workflow/trimodal.test.d.ts +0 -0
  976. /package/{packages/core/dist → dist}/workflow/trimodal.test.d.ts.map +0 -0
  977. /package/{packages/core/dist → dist}/workflow/trimodal.test.js +0 -0
  978. /package/{packages/core/dist → dist}/workflow/trimodal.test.js.map +0 -0
  979. /package/{packages/core/dist → dist}/workflow/variable-resolver.d.ts +0 -0
  980. /package/{packages/core/dist → dist}/workflow/variable-resolver.d.ts.map +0 -0
  981. /package/{packages/core/dist → dist}/workflow/variable-resolver.js +0 -0
  982. /package/{packages/core/dist → dist}/workflow/variable-resolver.js.map +0 -0
  983. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.d.ts +0 -0
  984. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.d.ts.map +0 -0
  985. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.js +0 -0
  986. /package/{packages/core/dist → dist}/workflow/variable-resolver.test.js.map +0 -0
  987. /package/{packages/core/dist → dist}/workflow/workflow-executor.d.ts +0 -0
  988. /package/{packages/core/dist → dist}/workflow/workflow-executor.d.ts.map +0 -0
  989. /package/{packages/core/dist → dist}/workflow/workflow-executor.js +0 -0
  990. /package/{packages/core/dist → dist}/workflow/workflow-executor.js.map +0 -0
  991. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.d.ts +0 -0
  992. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.d.ts.map +0 -0
  993. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.js +0 -0
  994. /package/{packages/core/dist → dist}/workflow/workflow-executor.test.js.map +0 -0
  995. /package/{packages/core/dist → dist}/workflow/workflow-loader.d.ts +0 -0
  996. /package/{packages/core/dist → dist}/workflow/workflow-loader.d.ts.map +0 -0
  997. /package/{packages/core/dist → dist}/workflow/workflow-loader.js +0 -0
  998. /package/{packages/core/dist → dist}/workflow/workflow-loader.js.map +0 -0
  999. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.d.ts +0 -0
  1000. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.d.ts.map +0 -0
  1001. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.js +0 -0
  1002. /package/{packages/core/dist → dist}/workflow/workflow-loader.test.js.map +0 -0
  1003. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.d.ts +0 -0
  1004. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.d.ts.map +0 -0
  1005. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.js +0 -0
  1006. /package/{packages/core/dist → dist}/workflow/workflow-migration.test.js.map +0 -0
  1007. /package/{packages/core/dist → dist}/workflow/workflow-permissions.d.ts +0 -0
  1008. /package/{packages/core/dist → dist}/workflow/workflow-permissions.d.ts.map +0 -0
  1009. /package/{packages/core/dist → dist}/workflow/workflow-permissions.js +0 -0
  1010. /package/{packages/core/dist → dist}/workflow/workflow-permissions.js.map +0 -0
  1011. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.d.ts +0 -0
  1012. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.d.ts.map +0 -0
  1013. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.js +0 -0
  1014. /package/{packages/core/dist → dist}/workflow/workflow-permissions.test.js.map +0 -0
  1015. /package/{packages/core/dist → dist}/workflow/workflow-router.d.ts +0 -0
  1016. /package/{packages/core/dist → dist}/workflow/workflow-router.d.ts.map +0 -0
  1017. /package/{packages/core/dist → dist}/workflow/workflow-router.js +0 -0
  1018. /package/{packages/core/dist → dist}/workflow/workflow-router.js.map +0 -0
  1019. /package/{packages/core/dist → dist}/workflow/workflow-router.test.d.ts +0 -0
  1020. /package/{packages/core/dist → dist}/workflow/workflow-router.test.d.ts.map +0 -0
  1021. /package/{packages/core/dist → dist}/workflow/workflow-router.test.js +0 -0
  1022. /package/{packages/core/dist → dist}/workflow/workflow-router.test.js.map +0 -0
  1023. /package/{packages/core/dist → dist}/workflow/workflow-schema.d.ts +0 -0
  1024. /package/{packages/core/dist → dist}/workflow/workflow-schema.d.ts.map +0 -0
  1025. /package/{packages/core/dist → dist}/workflow/workflow-schema.js +0 -0
  1026. /package/{packages/core/dist → dist}/workflow/workflow-schema.js.map +0 -0
  1027. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.d.ts +0 -0
  1028. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.d.ts.map +0 -0
  1029. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.js +0 -0
  1030. /package/{packages/core/dist → dist}/workflow/workflow-schema.test.js.map +0 -0
  1031. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.d.ts +0 -0
  1032. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.d.ts.map +0 -0
  1033. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.js +0 -0
  1034. /package/{packages/core/dist → dist}/workflow/workflow-stepped-schema.test.js.map +0 -0
@@ -1,574 +0,0 @@
1
- # Fan-out/Fan-in Pattern
2
-
3
- **Pattern Type:** Parallel Execution with Aggregation
4
- **Agents Involved:** Orchestrating agent + multiple parallel workers
5
- **Coordination Mechanism:** Task tool with `run_in_background` + TaskOutput
6
-
7
- ## Problem Statement
8
-
9
- Sequential agent workflows create bottlenecks when processing independent work items:
10
-
11
- 1. **Time Waste:** Waiting for each agent to complete before starting the next, even when work is independent
12
- 2. **Underutilization:** Compute resources sit idle while one agent runs
13
- 3. **Scaling Limits:** Total time grows linearly with work item count
14
- 4. **Unnecessary Coupling:** Independent operations blocked by unrelated predecessors
15
-
16
- Without parallel execution, workflows may:
17
- - Take N times longer for N independent items
18
- - Miss opportunities for concurrent data gathering
19
- - Create artificial dependencies between unrelated work
20
- - Limit throughput when coordinating across multiple repositories
21
-
22
- ## Solution
23
-
24
- Use **parallel Task invocations** to fan work out to multiple agents, then **aggregate results** when they complete. This creates a scatter-gather architecture:
25
-
26
- ```
27
- Orchestrator
28
-
29
- ├───► Agent A ──┐
30
- ├───► Agent B ──┼──► Collect Results ──► Continue
31
- └───► Agent C ──┘
32
- ```
33
-
34
- The key insight: **Independent work items can execute concurrently** using Claude Code's Task tool parallelism.
35
-
36
- ### Two Parallelism Modes
37
-
38
- 1. **Implicit Parallelism:** Multiple Task calls in a single message execute concurrently
39
- 2. **Explicit Background:** Use `run_in_background: true` for long-running tasks with manual result collection
40
-
41
- ## State Diagram
42
-
43
- ```mermaid
44
- stateDiagram-v2
45
- [*] --> ORCHESTRATE: Start parallel work
46
-
47
- ORCHESTRATE --> FAN_OUT: Identify independent items
48
-
49
- FAN_OUT --> PARALLEL: Spawn Task calls
50
- note right of FAN_OUT: Multiple Task tools\nin single message
51
-
52
- state PARALLEL {
53
- Agent_A --> Collecting
54
- Agent_B --> Collecting
55
- Agent_C --> Collecting
56
- }
57
-
58
- Collecting --> AGGREGATE: All complete
59
-
60
- AGGREGATE --> CONTINUE: Results merged
61
- CONTINUE --> [*]: Workflow proceeds
62
-
63
- state Timeout {
64
- [*] --> PARTIAL_FAILURE
65
- PARTIAL_FAILURE --> AGGREGATE: Handle missing
66
- }
67
-
68
- note right of PARALLEL: Concurrent execution
69
- note right of AGGREGATE: Merge results
70
- ```
71
-
72
- ### ASCII Alternative
73
-
74
- ```
75
- ┌─────────────────────────────────────────────────────────────────────────┐
76
- │ FAN-OUT/FAN-IN PATTERN │
77
- └─────────────────────────────────────────────────────────────────────────┘
78
-
79
- ┌─────────────┐
80
- │ ORCHESTRATE │
81
- │ (decide │
82
- │ work) │
83
- └──────┬──────┘
84
-
85
- │ Identify N independent work items
86
-
87
-
88
- ┌─────────────┐
89
- │ FAN-OUT │
90
- │ (spawn) │
91
- └──────┬──────┘
92
-
93
- ┌─────┼─────┬─────┐
94
- │ │ │ │
95
- ▼ ▼ ▼ ▼
96
- ┌───┐ ┌───┐ ┌───┐ ┌───┐
97
- │ A │ │ B │ │ C │ │ D │ ◄── Parallel agents
98
- └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘
99
- │ │ │ │
100
- │ │ │ │ Work executes concurrently
101
- ▼ ▼ ▼ ▼
102
- ┌───┐ ┌───┐ ┌───┐ ┌───┐
103
- │ ✓ │ │ ✓ │ │ ✗ │ │ ✓ │ ◄── Results (may have failures)
104
- └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘
105
- │ │ │ │
106
- └─────┴─────┴─────┘
107
-
108
-
109
- ┌─────────────────┐
110
- │ FAN-IN │
111
- │ (collect) │
112
- └────────┬────────┘
113
-
114
- │ Aggregate results, handle partial failures
115
-
116
-
117
- ┌─────────────────┐
118
- │ CONTINUE │
119
- │ (proceed) │
120
- └─────────────────┘
121
- ```
122
-
123
- ### Timing Comparison
124
-
125
- ```
126
- Sequential (without pattern):
127
- ┌──────────────────────────────────────────────────────────────────────┐
128
- │ Agent A │ │ Agent B │ │ Agent C │ │ Agent D │ │
129
- │ (5s) │ wait │ (3s) │ wait │ (4s) │ wait │ (2s) │ │
130
- └──────────────────────────────────────────────────────────────────────┘
131
- Total: 14 seconds + wait overhead
132
-
133
- Parallel (with pattern):
134
- ┌──────────────────────────────────────────────────────────────────────┐
135
- │ Agent A │████████████ │
136
- │ Agent B │██████ │
137
- │ Agent C │████████ │
138
- │ Agent D │████ │
139
- └──────────────────────────────────────────────────────────────────────┘
140
- Total: 5 seconds (longest task)
141
- ```
142
-
143
- ## Implementation
144
-
145
- ### Method 1: Implicit Parallelism (Multiple Task Calls)
146
-
147
- When you include multiple Task tool invocations in a single response, Claude Code executes them concurrently:
148
-
149
- ```yaml
150
- # In a single agent response, call multiple Tasks
151
- # All three execute in parallel automatically
152
-
153
- Task:
154
- subagent_type: "Explore"
155
- description: "Check frontend repo"
156
- prompt: |
157
- Scan frontend/ directory for TypeScript errors.
158
- Report count and severity.
159
-
160
- Task:
161
- subagent_type: "Explore"
162
- description: "Check backend repo"
163
- prompt: |
164
- Scan api/ directory for Go lint issues.
165
- Report count and severity.
166
-
167
- Task:
168
- subagent_type: "Explore"
169
- description: "Check shared libs"
170
- prompt: |
171
- Scan libs/ directory for outdated dependencies.
172
- Report count and severity.
173
- ```
174
-
175
- Results return when all tasks complete. The agent then aggregates them.
176
-
177
- ### Method 2: Explicit Background Execution
178
-
179
- For long-running tasks or when you need to do work while waiting:
180
-
181
- ```yaml
182
- # Fan-out: Start background tasks
183
- Task:
184
- subagent_type: "testing-runner"
185
- description: "Run backend tests"
186
- run_in_background: true
187
- prompt: |
188
- REPOS: api
189
- Execute test suite and report results.
190
-
191
- Task:
192
- subagent_type: "testing-runner"
193
- description: "Run frontend tests"
194
- run_in_background: true
195
- prompt: |
196
- REPOS: frontend
197
- Execute test suite and report results.
198
- ```
199
-
200
- This returns immediately with task IDs. To collect results:
201
-
202
- ```yaml
203
- # Fan-in: Collect results (blocking)
204
- TaskOutput:
205
- task_id: "abc123" # ID from first Task result
206
- block: true
207
- timeout: 120000 # 2 minute timeout
208
-
209
- TaskOutput:
210
- task_id: "def456" # ID from second Task result
211
- block: true
212
- timeout: 120000
213
- ```
214
-
215
- ### Result Aggregation Pattern
216
-
217
- After collecting results, merge them into a unified structure:
218
-
219
- ```markdown
220
- ## Multi-Repo Status Report
221
-
222
- ### Summary
223
- | Repo | Status | Issues | Time |
224
- |------|--------|--------|------|
225
- | frontend | PASS | 0 | 3.2s |
226
- | api | FAIL | 3 | 5.1s |
227
- | libs | PASS | 0 | 1.8s |
228
-
229
- ### Total Issues: 3
230
- ### Overall Status: FAILING
231
-
232
- ### Details
233
- [Aggregated from individual reports...]
234
- ```
235
-
236
- ### Real Example: Parallel Repo Status Check
237
-
238
- **Use Case:** Check git status across multiple repositories simultaneously
239
-
240
- ```yaml
241
- # Orchestrator spawns parallel status checks
242
- Task:
243
- subagent_type: "workflow-status-check"
244
- description: "Check pennyfarthing status"
245
- prompt: |
246
- REPO: pennyfarthing
247
- PROJECT_ROOT: /Users/dev/Projects/pennyfarthing
248
- Report git status, branch, and uncommitted changes.
249
-
250
- Task:
251
- subagent_type: "workflow-status-check"
252
- description: "Check API status"
253
- prompt: |
254
- REPO: api
255
- PROJECT_ROOT: /Users/dev/Projects/api
256
- Report git status, branch, and uncommitted changes.
257
-
258
- Task:
259
- subagent_type: "workflow-status-check"
260
- description: "Check UI status"
261
- prompt: |
262
- REPO: ui
263
- PROJECT_ROOT: /Users/dev/Projects/ui
264
- Report git status, branch, and uncommitted changes.
265
- ```
266
-
267
- ### Real Example: Parallel File Analysis
268
-
269
- **Use Case:** Analyze multiple files to build context for a story
270
-
271
- ```yaml
272
- # SM agent gathers context from multiple files in parallel
273
- Task:
274
- subagent_type: "sm-file-summary"
275
- description: "Summarize service layer"
276
- prompt: |
277
- FILES: internal/service/*.go
278
- Create condensed summary focusing on public interfaces.
279
-
280
- Task:
281
- subagent_type: "sm-file-summary"
282
- description: "Summarize handlers"
283
- prompt: |
284
- FILES: internal/handlers/*.go
285
- Create condensed summary focusing on HTTP endpoints.
286
-
287
- Task:
288
- subagent_type: "sm-file-summary"
289
- description: "Summarize models"
290
- prompt: |
291
- FILES: internal/models/*.go
292
- Create condensed summary focusing on data structures.
293
- ```
294
-
295
- ## When to Use
296
-
297
- ### Ideal Scenarios
298
-
299
- | Scenario | Why Fan-out/Fan-in Works |
300
- |----------|--------------------------|
301
- | Multi-repo operations | Each repo is independent |
302
- | Gathering diverse data | File scans don't affect each other |
303
- | Running test suites | Tests across repos/packages run independently |
304
- | Status checks | Checking N things concurrently |
305
- | Independent file processing | Batch processing without dependencies |
306
-
307
- ### Decision Heuristic
308
-
309
- ```
310
- Is the work...
311
- ├── Truly independent (no shared state)?
312
- │ └── YES → Fan-out is safe
313
- ├── Using shared resources (same files, DB)?
314
- │ └── CAUTION → May need synchronization
315
- ├── Order-dependent (A before B)?
316
- │ └── NO fan-out → Use sequential
317
- ├── Aggregatable (results can be merged)?
318
- │ └── YES → Fan-in will work
319
- └── Failure-tolerant (partial success OK)?
320
- └── YES → Fan-out with error handling
321
- ```
322
-
323
- ### Concurrency Guidelines
324
-
325
- | Work Items | Recommendation |
326
- |------------|----------------|
327
- | 2-5 | Implicit parallelism (multiple Task calls) |
328
- | 5-10 | Explicit background with batching |
329
- | 10+ | Consider chunking into batches |
330
-
331
- ## Error Recovery
332
-
333
- ### Partial Failure Handling
334
-
335
- When some parallel tasks fail while others succeed:
336
-
337
- ```markdown
338
- ## Aggregated Results
339
-
340
- ### Successful (3/4)
341
- | Task | Status | Result |
342
- |------|--------|--------|
343
- | Frontend check | SUCCESS | Clean |
344
- | Backend check | SUCCESS | Clean |
345
- | Lib check | SUCCESS | Clean |
346
-
347
- ### Failed (1/4)
348
- | Task | Status | Error |
349
- |------|--------|-------|
350
- | DB check | TIMEOUT | Connection refused |
351
-
352
- ### Decision
353
- **Proceeding with partial results.** DB check can be retried independently.
354
- ```
355
-
356
- ### Timeout Strategy
357
-
358
- ```yaml
359
- # Set appropriate timeouts based on expected work
360
- TaskOutput:
361
- task_id: "task-123"
362
- block: true
363
- timeout: 30000 # 30s for quick tasks
364
-
365
- TaskOutput:
366
- task_id: "task-456"
367
- block: true
368
- timeout: 300000 # 5min for test suites
369
- ```
370
-
371
- ### Retry Pattern
372
-
373
- ```
374
- For each failed task:
375
- 1. Log failure reason
376
- 2. Determine if retryable (timeout vs. permanent error)
377
- 3. Retry up to 2 times with backoff
378
- 4. If still failing, mark as failed in aggregate
379
- 5. Continue with successful results if acceptable
380
- ```
381
-
382
- ### Graceful Degradation
383
-
384
- When complete failure is unacceptable:
385
-
386
- ```markdown
387
- ## Fallback Strategy
388
-
389
- If parallel execution fails completely:
390
- 1. Fall back to sequential execution
391
- 2. Log degradation for monitoring
392
- 3. Continue workflow with slower path
393
- ```
394
-
395
- ## Anti-Patterns
396
-
397
- ### Dependent Tasks in Parallel
398
-
399
- **Wrong:**
400
- ```yaml
401
- # These have a dependency - B needs A's output!
402
- Task:
403
- subagent_type: "analyzer"
404
- prompt: "Analyze the codebase and identify modules"
405
-
406
- Task:
407
- subagent_type: "reporter"
408
- prompt: "Report on the modules identified above" # Can't access A's output!
409
- ```
410
-
411
- **Correct:**
412
- ```yaml
413
- # Sequential for dependent work
414
- Task:
415
- subagent_type: "analyzer"
416
- prompt: "Analyze the codebase and identify modules"
417
- # Wait for result, then:
418
- Task:
419
- subagent_type: "reporter"
420
- prompt: "Report on these modules: {modules_from_A}"
421
- ```
422
-
423
- ### Too Many Parallel Tasks
424
-
425
- **Wrong:**
426
- ```yaml
427
- # Spawning 50 parallel tasks overwhelms resources
428
- for file in all_files:
429
- Task:
430
- prompt: "Process {file}"
431
- run_in_background: true
432
- ```
433
-
434
- **Correct:**
435
- ```yaml
436
- # Batch into manageable chunks
437
- Task:
438
- prompt: "Process files 1-10: {batch_1}"
439
- run_in_background: true
440
-
441
- Task:
442
- prompt: "Process files 11-20: {batch_2}"
443
- run_in_background: true
444
- # ... continue with reasonable batch sizes
445
- ```
446
-
447
- ### Ignoring Failed Tasks
448
-
449
- **Wrong:**
450
- ```markdown
451
- # Silently proceeding despite failures
452
- All tasks returned. Continuing with workflow...
453
- ```
454
-
455
- **Correct:**
456
- ```markdown
457
- # Explicit failure handling
458
- ## Task Results
459
- - 3/4 tasks succeeded
460
- - 1/4 tasks failed (timeout on repo-c)
461
-
462
- ## Decision
463
- Partial failure is acceptable for status check.
464
- Proceeding with available data.
465
- ```
466
-
467
- ### No Timeout on Background Tasks
468
-
469
- **Wrong:**
470
- ```yaml
471
- TaskOutput:
472
- task_id: "task-123"
473
- block: true
474
- # No timeout - could hang forever
475
- ```
476
-
477
- **Correct:**
478
- ```yaml
479
- TaskOutput:
480
- task_id: "task-123"
481
- block: true
482
- timeout: 60000 # Always set appropriate timeout
483
- ```
484
-
485
- ### Mixing Parallel and Sequential Without Awareness
486
-
487
- **Wrong:**
488
- ```yaml
489
- # A and B are parallel, but developer thinks B waits for A
490
- Task:
491
- description: "Create branch" # A
492
- prompt: "Create feature branch"
493
-
494
- Task:
495
- description: "Commit to branch" # B - races with A!
496
- prompt: "Commit initial files"
497
- ```
498
-
499
- **Correct:**
500
- ```yaml
501
- # Make dependency explicit
502
- Task:
503
- description: "Create branch and commit"
504
- prompt: |
505
- 1. Create feature branch
506
- 2. Commit initial files
507
- # Sequential within single task
508
- ```
509
-
510
- ## Comparison with Related Patterns
511
-
512
- | Pattern | Use When | Key Difference |
513
- |---------|----------|----------------|
514
- | **TDD Flow** | Sequential handoffs needed | One agent at a time |
515
- | **Helper Delegation** | Strategic/tactical split | Opus delegates to Haiku |
516
- | **Fan-out/Fan-in** | Independent parallel work | Multiple agents simultaneously |
517
- | **Approval Gates** | Human decision points | Blocking on external input |
518
-
519
- ### Pattern Combinations
520
-
521
- Fan-out/fan-in works well with other patterns:
522
-
523
- ```
524
- TDD Flow with parallel repo checks:
525
- SM ──► [Parallel status checks] ──► TEA ──► Dev ──► Reviewer ──► SM
526
-
527
- Helper delegation with parallel subagents:
528
- Opus ──► [Parallel Haiku tasks] ──► Opus continues
529
- ```
530
-
531
- ## Implementation Checklist
532
-
533
- When implementing fan-out/fan-in:
534
-
535
- - [ ] Verify work items are truly independent
536
- - [ ] Choose implicit vs. explicit parallelism
537
- - [ ] Set appropriate timeouts for each task type
538
- - [ ] Plan result aggregation format
539
- - [ ] Handle partial failures gracefully
540
- - [ ] Consider batch size for many items
541
- - [ ] Test timeout and failure scenarios
542
- - [ ] Log parallel execution for debugging
543
-
544
- ## Related Patterns
545
-
546
- - **TDD Flow Pattern** (`tdd-flow-pattern.md`): Sequential coordination that may use fan-out for status checks
547
- - **Helper Delegation Pattern** (`helper-delegation-pattern.md`): Can be combined with parallel subagent spawning
548
- - **Approval Gates Pattern** (`approval-gates-pattern.md`): May pause fan-out for human decision points
549
-
550
- ## References
551
-
552
- ### Claude Code Task Tool
553
- - `Task`: Spawns agents, supports `run_in_background` for async execution
554
- - `TaskOutput`: Collects results from background tasks
555
- - Multiple Task calls in single message execute concurrently
556
-
557
- ### Agent Definitions
558
- - Orchestrator: `agents/orchestrator.md` - Multi-agent coordination
559
- - SM: `agents/sm.md` - Story workflow orchestration
560
- - Testing Runner: `agents/testing-runner.md` - Parallel test execution candidate
561
-
562
- ### Current Usage Opportunities
563
-
564
- | Component | Current | Parallel Opportunity |
565
- |-----------|---------|---------------------|
566
- | SM file summaries | Sequential | Parallel file analysis |
567
- | Repo status checks | Sequential | Simultaneous repo scanning |
568
- | Testing runner | Sequential per-repo | Parallel test suites |
569
- | Multi-repo PR creation | Sequential | Parallel branch operations |
570
-
571
- ---
572
-
573
- *Last verified: 2026-01-06*
574
- *Pennyfarthing v4.0.0*