@pennyfarthing/core 7.9.1 → 7.9.2

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,766 +0,0 @@
1
- # Approval Gates Pattern
2
-
3
- **Pattern Type:** Human-in-the-Loop Verification
4
- **Agents Involved:** Any agent requiring external validation
5
- **Coordination Mechanism:** Assessment-first protocol with verdict-based routing
6
-
7
- ## Problem Statement
8
-
9
- Autonomous agent workflows need controlled decision points to ensure quality and maintain human oversight:
10
-
11
- 1. **Quality Escapes:** Without explicit gates, flawed work may proceed unchecked through the workflow
12
- 2. **Lost Accountability:** Decisions made without human awareness create auditability gaps
13
- 3. **Uncontrolled Progression:** Workflows advance even when conditions for success aren't met
14
- 4. **Context Loss:** State changes happen silently, making recovery and debugging difficult
15
-
16
- Without approval gates, workflows may:
17
- - Ship broken code that tests don't catch
18
- - Make irreversible changes without confirmation
19
- - Skip critical verification steps under time pressure
20
- - Lose human oversight of important decisions
21
-
22
- ## Solution
23
-
24
- Implement **explicit verification points** where workflow progression requires passing a gate condition. Gates can be automated (tests must pass), require human review (Reviewer approval), or request user decisions (via Reflector-aware prompts).
25
-
26
- ```
27
- Workflow Stage
28
-
29
-
30
- ┌─────────────────┐
31
- │ APPROVAL GATE │
32
- │ (verification) │
33
- └────────┬────────┘
34
-
35
- ┌────┴────┐
36
- │ │
37
- PASS FAIL
38
- │ │
39
- ▼ ▼
40
- Continue Block/Route
41
- Workflow Back
42
- ```
43
-
44
- The key insight: **Make workflow progression conditional on explicit verification** rather than allowing autonomous advancement.
45
-
46
- ### Four Gate Types
47
-
48
- 1. **Automated Gates** - Mechanical checks that must pass (tests, lint, pre-flight)
49
- 2. **Human Review Gates** - Expert judgment required before proceeding
50
- 3. **User Decision Gates** - Interactive choices via Reflector (CYCLIST marker + AskUserQuestion)
51
- 4. **Plan Approval Gates** - Confirmation of proposed approach via EnterPlanMode
52
-
53
- ## State Diagram
54
-
55
- ```mermaid
56
- stateDiagram-v2
57
- [*] --> WORK_IN_PROGRESS: Agent working
58
-
59
- WORK_IN_PROGRESS --> GATE_CHECK: Work complete
60
-
61
- state GATE_CHECK {
62
- [*] --> AUTOMATED: Pre-flight checks
63
- AUTOMATED --> REVIEW: Checks pass
64
- AUTOMATED --> BLOCKED: Checks fail
65
- REVIEW --> DECISION: Reviewer verdict
66
- }
67
-
68
- DECISION --> APPROVED: Pass
69
- DECISION --> REJECTED: Fail
70
-
71
- APPROVED --> NEXT_STAGE: Continue workflow
72
- REJECTED --> WORK_IN_PROGRESS: Fix and retry
73
- BLOCKED --> WORK_IN_PROGRESS: Address failures
74
-
75
- NEXT_STAGE --> [*]: Workflow proceeds
76
-
77
- note right of AUTOMATED: Tests, lint, pre-flight
78
- note right of REVIEW: Human judgment
79
- note right of DECISION: APPROVE or REJECT
80
- ```
81
-
82
- ### ASCII Alternative
83
-
84
- ```
85
- ┌─────────────────────────────────────────────────────────────────────────┐
86
- │ APPROVAL GATES PATTERN │
87
- └─────────────────────────────────────────────────────────────────────────┘
88
-
89
- ┌───────────────────┐
90
- │ WORK_IN_PROGRESS │
91
- │ (agent works) │
92
- └─────────┬─────────┘
93
-
94
- │ Work complete, assessment written
95
-
96
-
97
- ┌───────────────────┐
98
- │ AUTOMATED GATE │◄─── Tests, lint, pre-flight checks
99
- │ (mechanical) │
100
- └─────────┬─────────┘
101
-
102
- ┌────┴────┐
103
- │ │
104
- PASS FAIL
105
- │ │
106
- ▼ └──────────────────────────────┐
107
- ┌───────────────────┐ │
108
- │ HUMAN REVIEW │◄─── Reviewer analyzes │
109
- │ (judgment) │ code/docs │
110
- └─────────┬─────────┘ │
111
- │ │
112
- ┌────┴────┐ │
113
- │ │ │
114
- APPROVE REJECT │
115
- │ │ │
116
- ▼ └──────────────────────────────┤
117
- ┌───────────────────┐ │
118
- │ NEXT STAGE │ │
119
- │ (continues) │ │
120
- └───────────────────┘ │
121
-
122
- ┌─────────────────────────────────────────────┘
123
-
124
-
125
- ┌───────────────────┐
126
- │ WORK_IN_PROGRESS │◄─── Fix issues, retry gate
127
- │ (fix & retry) │
128
- └───────────────────┘
129
- ```
130
-
131
- ### The Rejection Loop
132
-
133
- ```
134
- ┌─────────────────────────────────────────────────────────────────────────┐
135
- │ REJECTION LOOP │
136
- └─────────────────────────────────────────────────────────────────────────┘
137
-
138
- Attempt 1 Attempt 2
139
- ┌─────────────────────┐ ┌─────────────────────┐
140
- │ │ │ │
141
- │ Dev implements │ │ Dev fixes issues │
142
- │ ↓ │ │ ↓ │
143
- │ Tests GREEN │ │ Tests GREEN │
144
- │ ↓ │ │ ↓ │
145
- │ Reviewer reviews │ │ Reviewer reviews │
146
- │ ↓ │ │ ↓ │
147
- │ REJECTED (3 issues)│─────►│ APPROVED │
148
- │ │ │ ↓ │
149
- └─────────────────────┘ │ Continue to SM │
150
- │ │
151
- └─────────────────────┘
152
-
153
- The loop continues until:
154
- - All Critical/Major issues resolved
155
- - Reviewer approves
156
- - Maximum retry limit (organizational choice)
157
- ```
158
-
159
- ## Implementation
160
-
161
- ### Gate Type 1: Automated Gates
162
-
163
- Mechanical checks that must pass before human review begins.
164
-
165
- **Example: Reviewer Pre-flight**
166
-
167
- ```yaml
168
- # Reviewer spawns pre-flight check before analysis
169
- Task:
170
- subagent_type: "reviewer-preflight"
171
- description: "Gather pre-flight data"
172
- prompt: |
173
- STORY_ID: 5-2
174
- REPOS: api,frontend
175
- BRANCH: feature/5-2-implement-feature
176
- PR_NUMBER: 42
177
-
178
- # Pre-flight returns:
179
- # - Test results (must be GREEN)
180
- # - Lint results (must be clean or documented exceptions)
181
- # - Code smell analysis
182
- # - Diff statistics
183
- ```
184
-
185
- **Gate Condition:** Pre-flight checks pass. If tests fail or critical lint issues exist, gate blocks progression.
186
-
187
- **Example: TEA RED Verification**
188
-
189
- ```yaml
190
- # TEA handoff verifies tests are RED (failing)
191
- # From tea-handoff.md L42-76
192
-
193
- 1. Spawn testing-runner subagent
194
- 2. Verify tests FAIL as expected
195
- 3. If all GREEN → BLOCKED (tests don't exercise new code)
196
- 4. If RED → PASS (ready for Dev)
197
- ```
198
-
199
- ### Gate Type 2: Human Review Gates
200
-
201
- Require expert judgment from a designated reviewer agent.
202
-
203
- **Example: Reviewer Approval/Rejection**
204
-
205
- The Reviewer agent implements an adversarial review gate:
206
-
207
- ```markdown
208
- ## Reviewer Assessment
209
-
210
- **PR:** #42
211
- **Verdict:** APPROVED | REJECTED
212
-
213
- **Code Review Evidence:**
214
- - **Data flow traced:** userId from handler.go:47 → repo.go:89 (parameterized, safe)
215
- - **Pattern observed:** Proper mutex usage in mock_client.go:45-60
216
- - **Error handling:** API failures caught at service.go:112
217
-
218
- **Issues Found:** (if REJECTED)
219
- | Severity | Issue | Location | Fix Required |
220
- |----------|-------|----------|--------------|
221
- | Critical | SQL injection | query.go:23 | Use parameterized query |
222
- | Major | Missing null check | handler.go:55 | Add validation |
223
-
224
- **Handoff:** To SM for finish (APPROVED) | Back to Dev (REJECTED)
225
- ```
226
-
227
- **Gate Condition:** Reviewer verdict is APPROVED. If REJECTED, workflow returns to Dev with documented issues.
228
-
229
- ### Gate Type 3: User Decision Gates
230
-
231
- Interactive prompts that pause workflow for user input. **Requires Reflector pattern:**
232
-
233
- 1. Output CYCLIST marker first (enables Cyclist UI integration)
234
- 2. Then use AskUserQuestion tool
235
-
236
- **Example: Reflector-Aware Story Selection**
237
-
238
- ```markdown
239
- <!-- CYCLIST:CHOICES:story -->
240
- ```
241
-
242
- ```yaml
243
- # SM presents story options to user (after outputting marker)
244
- AskUserQuestion:
245
- questions:
246
- - question: "Which story shall we work on?"
247
- header: "Story"
248
- multiSelect: false
249
- options:
250
- - label: "5-2: Implement feature X (3 pts)"
251
- description: "Add new capability to API"
252
- - label: "5-3: Fix bug Y (2 pts)"
253
- description: "Address reported issue"
254
- - label: "5-4: Refactor Z (5 pts)"
255
- description: "Technical debt reduction"
256
- ```
257
-
258
- **Gate Condition:** User selects an option. Workflow pauses until response received.
259
-
260
- **Example: Confirmation Before Destructive Action**
261
-
262
- ```markdown
263
- <!-- CYCLIST:QUESTION:yesno -->
264
- ```
265
-
266
- ```yaml
267
- # Before Jira claim or branch deletion (after outputting marker)
268
- AskUserQuestion:
269
- questions:
270
- - question: "Confirm claiming MSSCI-11374 and creating branch?"
271
- header: "Confirm"
272
- multiSelect: false
273
- options:
274
- - label: "Yes, proceed"
275
- description: "Claim ticket and create feature branch"
276
- - label: "No, cancel"
277
- description: "Abort setup and return to story selection"
278
- ```
279
-
280
- **Reflector Markers:**
281
- - `<!-- CYCLIST:CHOICES:{category} -->` - Multiple choice selection
282
- - `<!-- CYCLIST:QUESTION:yesno -->` - Yes/No confirmation
283
- - `<!-- CYCLIST:QUESTION:open -->` - Free-text input
284
-
285
- ### Gate Type 4: Plan Approval Gates
286
-
287
- Present proposed approach for user confirmation before execution.
288
-
289
- **Example: EnterPlanMode for Complex Work**
290
-
291
- ```yaml
292
- # Agent enters plan mode for non-trivial implementation
293
- EnterPlanMode:
294
- # Triggers transition to planning state
295
- # Agent then:
296
- # 1. Explores codebase
297
- # 2. Designs approach
298
- # 3. Writes plan to designated file
299
- # 4. Calls ExitPlanMode for user approval
300
-
301
- # In plan mode, agent writes:
302
- ## Implementation Plan
303
-
304
- ### Approach
305
- 1. Create new service layer component
306
- 2. Add repository methods for data access
307
- 3. Wire up HTTP handlers
308
- 4. Add comprehensive tests
309
-
310
- ### Files to Modify
311
- - internal/service/feature.go (new)
312
- - internal/repository/feature.go (new)
313
- - internal/handler/feature.go (new)
314
- - internal/handler/routes.go (modify)
315
-
316
- ### Risks
317
- - May require database migration
318
- - Performance impact on existing queries
319
- ```
320
-
321
- **Gate Condition:** User approves plan via ExitPlanMode acceptance. If rejected, agent revises approach.
322
-
323
- ### The Assessment-First Protocol
324
-
325
- **Critical Pattern:** All agents must write their assessment BEFORE spawning the handoff subagent.
326
-
327
- ```
328
- ┌─────────────────────────────────────────────────────────────────────────┐
329
- │ ASSESSMENT-FIRST PROTOCOL │
330
- └─────────────────────────────────────────────────────────────────────────┘
331
-
332
- CORRECT SEQUENCE:
333
-
334
- ┌─────────────────┐
335
- │ Agent works │
336
- └────────┬────────┘
337
-
338
-
339
- ┌─────────────────┐
340
- │ Write Assessment│◄─── Agent writes to session file FIRST
341
- │ to session file │
342
- └────────┬────────┘
343
-
344
-
345
- ┌─────────────────┐
346
- │ Spawn handoff │◄─── Then spawns subagent
347
- │ subagent │
348
- └────────┬────────┘
349
-
350
-
351
- ┌─────────────────┐
352
- │ Subagent verifies│◄─── Subagent checks assessment exists
353
- │ assessment exists│ (grep "## {Agent} Assessment")
354
- └────────┬────────┘
355
-
356
-
357
- ┌─────────────────┐
358
- │ Subagent routes │◄─── Routes based on verdict
359
- │ based on verdict│
360
- └─────────────────┘
361
-
362
-
363
- WRONG (Anti-pattern):
364
-
365
- Agent → Spawn subagent → Subagent writes assessment
366
-
367
- This fails because:
368
- - Subagent may miss critical context
369
- - No verification step
370
- - Assessment quality suffers
371
- ```
372
-
373
- **Verification Code** (from handoff subagents):
374
-
375
- ```bash
376
- # Step 0: Verify assessment exists
377
- grep -q "## Reviewer Assessment" .session/{STORY_ID}-session.md
378
-
379
- # If NOT found: STOP and escalate
380
- # If found: Continue with routing
381
- ```
382
-
383
- ### Verdict Verification
384
-
385
- Handoff subagents verify they were called with the correct verdict:
386
-
387
- ```yaml
388
- # reviewer-handoff-approve.md L35-36
389
- Step 2: Verify verdict is "APPROVED"
390
- - Read assessment section
391
- - Confirm verdict field says "APPROVED"
392
- - If "REJECTED": STOP - wrong subagent called, escalate
393
-
394
- # reviewer-handoff-reject.md L39
395
- Step 2: Verify verdict is "REJECTED"
396
- - Read assessment section
397
- - Confirm verdict field says "REJECTED"
398
- - If "APPROVED": STOP - wrong subagent called, escalate
399
- ```
400
-
401
- ### Context-Aware Routing
402
-
403
- After gate passage, check context usage before invoking next agent:
404
-
405
- ```bash
406
- # Check context usage
407
- $CLAUDE_PROJECT_DIR/scripts/core/check-context.sh --human
408
-
409
- # Routing decision:
410
- # If < 60%: Invoke next agent directly in this session
411
- # If > 60%: Tell user to start fresh session with next agent
412
- ```
413
-
414
- This prevents context overflow in long sessions by creating natural break points.
415
-
416
- ## When to Use
417
-
418
- ### Ideal Scenarios
419
-
420
- | Scenario | Gate Type | Why |
421
- |----------|-----------|-----|
422
- | Before merging code | Human Review | Expert judgment on quality |
423
- | Before destructive operations | User Decision | Confirmation prevents accidents |
424
- | Complex multi-file changes | Plan Approval | Validate approach before execution |
425
- | Before production deployment | Automated + Human | Multiple verification layers |
426
- | Story point estimation | User Decision | Human judgment on complexity |
427
-
428
- ### Decision Heuristic
429
-
430
- ```
431
- Does the action...
432
- ├── Affect production data or systems?
433
- │ └── YES → Automated + Human Review gates
434
- ├── Involve irreversible changes?
435
- │ └── YES → User Decision gate (confirmation)
436
- ├── Require choosing between approaches?
437
- │ └── YES → Plan Approval or User Decision gate
438
- ├── Need expert judgment on quality?
439
- │ └── YES → Human Review gate
440
- └── Have mechanical pass/fail criteria?
441
- └── YES → Automated gate (tests, lint)
442
- ```
443
-
444
- ### Gate Placement in TDD Flow
445
-
446
- ```
447
- ┌─────────────────────────────────────────────────────────────────────────┐
448
- │ GATES IN TDD FLOW │
449
- └─────────────────────────────────────────────────────────────────────────┘
450
-
451
- SM (setup)
452
-
453
- ├── [User Decision Gate] Story selection
454
- ├── [User Decision Gate] Confirm Jira claim
455
-
456
-
457
- TEA (RED)
458
-
459
- ├── [Automated Gate] Tests must be RED (failing)
460
-
461
-
462
- Dev (GREEN)
463
-
464
- ├── [Automated Gate] Tests must be GREEN (passing)
465
- ├── [Automated Gate] Lint must pass
466
-
467
-
468
- Reviewer
469
-
470
- ├── [Automated Gate] Pre-flight checks
471
- ├── [Human Review Gate] Code review verdict
472
- │ │
473
- │ ┌────┴────┐
474
- │ APPROVE REJECT
475
- │ │ │
476
- │ ▼ └──► Back to Dev (loop)
477
-
478
-
479
- SM (finish)
480
-
481
- ├── [User Decision Gate] Confirm archive
482
-
483
-
484
- DONE
485
- ```
486
-
487
- ## Error Recovery
488
-
489
- ### Retry Pattern
490
-
491
- All handoff subagents follow this pattern:
492
-
493
- ```
494
- 1. Log the failure
495
- - What step failed
496
- - Error message
497
- - Current state
498
-
499
- 2. Diagnose
500
- - What specifically went wrong?
501
- - Is this retryable?
502
-
503
- 3. Adjust (max 2 retries)
504
- - Try alternative approach
505
- - Use fallback path
506
-
507
- 4. Escalate
508
- - Report structured error
509
- - Let calling agent decide
510
- ```
511
-
512
- ### Escalation Format
513
-
514
- When gates cannot be passed:
515
-
516
- ```markdown
517
- GATE BLOCKED
518
-
519
- Gate: [which gate]
520
- Step failed: [step number and name]
521
- Error: [error message]
522
- Diagnosis: [what went wrong]
523
-
524
- Current state:
525
- - Session: .session/{STORY_ID}-session.md
526
- - Phase: [current phase]
527
- - Last successful step: [step]
528
-
529
- Recommended action: [what calling agent should do]
530
- ```
531
-
532
- ### Common Failures
533
-
534
- | Failure | Gate | Recovery |
535
- |---------|------|----------|
536
- | Assessment missing | Any handoff | Agent must write assessment first |
537
- | Wrong verdict | Reviewer handoff | Call correct subagent (approve vs reject) |
538
- | Tests all GREEN | TEA handoff | TEA must verify tests exercise new code |
539
- | No issues documented | Rejection handoff | Reviewer must document specific issues |
540
- | Context overflow | Any routing | Start fresh session |
541
- | Jira unavailable | SM setup | Proceed without Jira, document for later |
542
-
543
- ### Partial Gate Passage
544
-
545
- When some checks pass but others fail:
546
-
547
- ```markdown
548
- ## Gate Results
549
-
550
- ### Passed (2/3)
551
- - Tests: GREEN (all passing)
552
- - Lint: CLEAN (no issues)
553
-
554
- ### Failed (1/3)
555
- - Pre-flight security scan: BLOCKED
556
- - Issue: Hardcoded credentials detected
557
- - Location: config/secrets.go:23
558
- - Action: Remove and use environment variables
559
-
560
- ### Decision
561
- Gate BLOCKED. Address security issue before proceeding.
562
- ```
563
-
564
- ## Anti-Patterns
565
-
566
- ### Skipping the Assessment Step
567
-
568
- **Wrong:**
569
- ```
570
- Agent completes work
571
-
572
- Spawns handoff subagent immediately
573
-
574
- Subagent has no assessment to verify
575
-
576
- Gate is effectively bypassed
577
- ```
578
-
579
- **Correct:**
580
- ```
581
- Agent completes work
582
-
583
- Writes assessment to session file
584
-
585
- Spawns handoff subagent
586
-
587
- Subagent verifies assessment exists
588
-
589
- Gate functions properly
590
- ```
591
-
592
- ### Rubber-Stamp Approvals
593
-
594
- **Wrong:**
595
- ```markdown
596
- ## Reviewer Assessment
597
-
598
- **Verdict:** APPROVED
599
-
600
- Tests pass, looks fine.
601
- ```
602
-
603
- No evidence of actual review. Gate provides false confidence.
604
-
605
- **Correct:**
606
- ```markdown
607
- ## Reviewer Assessment
608
-
609
- **Verdict:** APPROVED
610
-
611
- **Evidence:**
612
- - Traced userId from handler.go:47 through to repo.go:89 (parameterized query, safe)
613
- - Verified error handling at service.go:112 catches API failures
614
- - Checked null guards at handler.go:55-60
615
-
616
- **Security:** Auth check at handler.go:47 verifies admin role.
617
- **Performance:** Single query at repo.go:89, no N+1 issues.
618
- ```
619
-
620
- ### Silent Rejections
621
-
622
- **Wrong:**
623
- ```markdown
624
- ## Reviewer Assessment
625
-
626
- **Verdict:** REJECTED
627
-
628
- Code needs work.
629
- ```
630
-
631
- No actionable information for Dev to fix issues.
632
-
633
- **Correct:**
634
- ```markdown
635
- ## Reviewer Assessment
636
-
637
- **Verdict:** REJECTED
638
-
639
- **Issues Found:**
640
-
641
- | Severity | Issue | Location | Fix Required |
642
- |----------|-------|----------|--------------|
643
- | Critical | SQL injection vulnerability | query.go:23 | Use parameterized query |
644
- | Major | Missing error handling | service.go:45 | Add try-catch block |
645
- | Minor | Inconsistent naming | model.go:12 | Rename to camelCase |
646
-
647
- **What Passed:**
648
- - Test coverage adequate
649
- - Performance acceptable
650
- ```
651
-
652
- ### Bypassing Gates Under Pressure
653
-
654
- **Wrong:**
655
- ```
656
- "We need to ship today, skip the review"
657
-
658
- Gate bypassed
659
-
660
- Bug ships to production
661
-
662
- 3am incident response
663
- ```
664
-
665
- **Correct:**
666
- ```
667
- "We need to ship today"
668
-
669
- Expedited review (still goes through gate)
670
-
671
- Reviewer prioritizes critical checks
672
-
673
- Gate passes or blocks appropriately
674
-
675
- Quality maintained
676
- ```
677
-
678
- ### No Rejection Loop Limit
679
-
680
- **Wrong:**
681
- ```
682
- Rejection #1 → Dev fixes → Rejection #2 → Dev fixes →
683
- Rejection #3 → Dev fixes → Rejection #4 → Dev fixes →
684
- (infinite loop, no escalation)
685
- ```
686
-
687
- **Correct:**
688
- ```
689
- Rejection #1 → Dev fixes → Rejection #2 → Dev fixes →
690
- Rejection #3 → ESCALATE to Architect/SM for design review
691
- ```
692
-
693
- Set organizational policy for maximum rejection loops (typically 2-3).
694
-
695
- ## Comparison with Related Patterns
696
-
697
- | Pattern | Use When | Key Difference |
698
- |---------|----------|----------------|
699
- | **TDD Flow** | Sequential workflow | Approval gates ARE the transitions |
700
- | **Helper Delegation** | Mechanical work | Subagents execute gate checks |
701
- | **Fan-out/Fan-in** | Parallel work | Gates sync parallel results |
702
- | **Approval Gates** | Decision points | Explicit pass/fail verification |
703
-
704
- ### Pattern Integration
705
-
706
- Approval gates integrate with other patterns:
707
-
708
- ```
709
- TDD Flow uses approval gates at each transition:
710
- SM ──[gate]──► TEA ──[gate]──► Dev ──[gate]──► Reviewer ──[gate]──► SM
711
-
712
- Helper delegation executes gate checks:
713
- Reviewer (Opus) ──► reviewer-preflight (Haiku) ──► returns gate status
714
-
715
- Fan-out aggregation triggers approval gate:
716
- [Parallel checks] ──► Aggregate ──[gate]──► Continue if all pass
717
- ```
718
-
719
- ## Implementation Checklist
720
-
721
- When implementing approval gates:
722
-
723
- - [ ] Identify decision points requiring verification
724
- - [ ] Choose appropriate gate type (automated, human, user, plan)
725
- - [ ] Implement assessment-first protocol
726
- - [ ] Add verdict verification in handoff subagents
727
- - [ ] Define pass/fail criteria clearly
728
- - [ ] Document rejection reasons (for human gates)
729
- - [ ] Implement retry pattern with escalation
730
- - [ ] Set maximum rejection loop limit
731
- - [ ] Add context-aware routing after gates
732
- - [ ] Test gate blocking behavior
733
-
734
- ## Related Patterns
735
-
736
- - **TDD Flow Pattern** (`tdd-flow-pattern.md`): Sequential workflow that uses gates at each transition
737
- - **Helper Delegation Pattern** (`helper-delegation-pattern.md`): Subagents that execute gate checks
738
- - **Fan-out/Fan-in Pattern** (`fan-out-fan-in-pattern.md`): Parallel execution that aggregates through gates
739
-
740
- ## References
741
-
742
- ### Agent Definitions (Gate Implementers)
743
- - Reviewer: `agents/reviewer.md` - Primary approval gate (L9-25 adversarial mindset, L188-228 assessment templates)
744
- - SM: `agents/sm.md` - Status gates and scale routing (L82-93, L359-365)
745
- - Dev: `agents/dev.md` - Self-review checklist (L137-144)
746
- - TEA: `agents/tea.md` - Chore bypass criteria (L96-104)
747
-
748
- ### Handoff Subagents (Gate Executors)
749
- - Approval routing: `agents/reviewer-handoff-approve.md` (L26-39)
750
- - Rejection routing: `agents/reviewer-handoff-reject.md` (L30-43)
751
- - RED verification: `agents/tea-handoff.md` (L42-76)
752
- - GREEN verification: `agents/dev-handoff.md`
753
-
754
- ### Claude Code Tools
755
- - `AskUserQuestion`: Interactive user decision gates (requires CYCLIST marker via Reflector)
756
- - `EnterPlanMode` / `ExitPlanMode`: Plan approval gates
757
- - `Task` with `subagent_type`: Delegated gate execution
758
-
759
- ### Reflector Hook
760
- - `question_reflector_check.py`: Enforces CYCLIST marker before AskUserQuestion
761
- - Markers: `<!-- CYCLIST:CHOICES:... -->`, `<!-- CYCLIST:QUESTION:yesno|open -->`
762
-
763
- ---
764
-
765
- *Last verified: 2026-01-06*
766
- *Pennyfarthing v4.0.0*