@pennyfarthing/core 9.2.0 → 9.4.0

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