@pennyfarthing/core 11.2.1 → 11.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/README.md +100 -40
  2. package/package.json +1 -1
  3. package/packages/core/dist/cli/commands/doctor.d.ts.map +1 -1
  4. package/packages/core/dist/cli/commands/doctor.js +121 -28
  5. package/packages/core/dist/cli/commands/doctor.js.map +1 -1
  6. package/packages/core/dist/cli/utils/settings.d.ts +0 -4
  7. package/packages/core/dist/cli/utils/settings.d.ts.map +1 -1
  8. package/packages/core/dist/cli/utils/settings.js +31 -26
  9. package/packages/core/dist/cli/utils/settings.js.map +1 -1
  10. package/packages/core/dist/consultation/dialogue-manager.d.ts +1 -1
  11. package/packages/core/dist/consultation/dialogue-manager.d.ts.map +1 -1
  12. package/packages/core/dist/consultation/dialogue-manager.js +1 -1
  13. package/packages/core/dist/consultation/dialogue-manager.js.map +1 -1
  14. package/packages/core/dist/consultation/dialogue-manager.test.js.map +1 -1
  15. package/packages/core/dist/consultation/tandem-metrics.test.js.map +1 -1
  16. package/packages/core/dist/public/css/react.css +1 -1
  17. package/packages/core/dist/public/js/react/react.js +9 -9
  18. package/packages/core/dist/server/api/git.d.ts.map +1 -1
  19. package/packages/core/dist/server/api/git.js +0 -1
  20. package/packages/core/dist/server/api/git.js.map +1 -1
  21. package/packages/core/dist/server/api/index.d.ts +2 -0
  22. package/packages/core/dist/server/api/index.d.ts.map +1 -1
  23. package/packages/core/dist/server/api/index.js +2 -0
  24. package/packages/core/dist/server/api/index.js.map +1 -1
  25. package/packages/core/dist/server/api/project-info.d.ts +11 -0
  26. package/packages/core/dist/server/api/project-info.d.ts.map +1 -0
  27. package/packages/core/dist/server/api/project-info.js +18 -0
  28. package/packages/core/dist/server/api/project-info.js.map +1 -0
  29. package/packages/core/dist/server/otlp-receiver.d.ts.map +1 -1
  30. package/packages/core/dist/server/otlp-receiver.js +18 -1
  31. package/packages/core/dist/server/otlp-receiver.js.map +1 -1
  32. package/packages/core/dist/server/otlp-receiver.test.js +1 -1
  33. package/packages/core/dist/server/otlp-receiver.test.js.map +1 -1
  34. package/packages/core/dist/server/server.d.ts.map +1 -1
  35. package/packages/core/dist/server/server.js +3 -2
  36. package/packages/core/dist/server/server.js.map +1 -1
  37. package/packages/core/dist/server/server.test.d.ts +1 -1
  38. package/packages/core/dist/server/server.test.js +8 -8
  39. package/packages/core/dist/server/settings.d.ts +1 -0
  40. package/packages/core/dist/server/settings.d.ts.map +1 -1
  41. package/packages/core/dist/server/settings.js +13 -0
  42. package/packages/core/dist/server/settings.js.map +1 -1
  43. package/packages/core/dist/workflow/team-lifecycle.d.ts +169 -0
  44. package/packages/core/dist/workflow/team-lifecycle.d.ts.map +1 -0
  45. package/packages/core/dist/workflow/team-lifecycle.js +217 -0
  46. package/packages/core/dist/workflow/team-lifecycle.js.map +1 -0
  47. package/packages/core/dist/workflow/team-lifecycle.test.d.ts +20 -0
  48. package/packages/core/dist/workflow/team-lifecycle.test.d.ts.map +1 -0
  49. package/packages/core/dist/workflow/team-lifecycle.test.js +966 -0
  50. package/packages/core/dist/workflow/team-lifecycle.test.js.map +1 -0
  51. package/packages/core/dist/workflow/workflow-team-templates.test.d.ts +17 -0
  52. package/packages/core/dist/workflow/workflow-team-templates.test.d.ts.map +1 -0
  53. package/packages/core/dist/workflow/workflow-team-templates.test.js +275 -0
  54. package/packages/core/dist/workflow/workflow-team-templates.test.js.map +1 -0
  55. package/pennyfarthing-dist/agents/dev.md +15 -2
  56. package/pennyfarthing-dist/agents/reviewer.md +17 -4
  57. package/pennyfarthing-dist/agents/sm-finish.md +1 -1
  58. package/pennyfarthing-dist/agents/sm-setup.md +7 -7
  59. package/pennyfarthing-dist/agents/sm.md +12 -12
  60. package/pennyfarthing-dist/agents/tea.md +2 -2
  61. package/pennyfarthing-dist/agents/testing-runner.md +1 -1
  62. package/pennyfarthing-dist/commands/pf-architect.md +1 -1
  63. package/pennyfarthing-dist/commands/pf-ba.md +1 -1
  64. package/pennyfarthing-dist/commands/pf-chore.md +2 -2
  65. package/pennyfarthing-dist/commands/pf-dev.md +1 -1
  66. package/pennyfarthing-dist/commands/pf-devops.md +1 -1
  67. package/pennyfarthing-dist/commands/pf-epic.md +6 -6
  68. package/pennyfarthing-dist/commands/pf-git.md +10 -10
  69. package/pennyfarthing-dist/commands/pf-health-check.md +1 -1
  70. package/pennyfarthing-dist/commands/pf-help.md +12 -12
  71. package/pennyfarthing-dist/commands/pf-orchestrator.md +1 -1
  72. package/pennyfarthing-dist/commands/pf-pm.md +1 -1
  73. package/pennyfarthing-dist/commands/pf-prime.md +8 -8
  74. package/pennyfarthing-dist/commands/pf-reviewer.md +1 -1
  75. package/pennyfarthing-dist/commands/pf-session.md +7 -7
  76. package/pennyfarthing-dist/commands/pf-sm.md +1 -1
  77. package/pennyfarthing-dist/commands/pf-sprint.md +7 -7
  78. package/pennyfarthing-dist/commands/pf-tea.md +1 -1
  79. package/pennyfarthing-dist/commands/pf-tech-writer.md +1 -1
  80. package/pennyfarthing-dist/commands/pf-theme.md +9 -9
  81. package/pennyfarthing-dist/commands/pf-ux-designer.md +1 -1
  82. package/pennyfarthing-dist/commands/pf-work.md +1 -1
  83. package/pennyfarthing-dist/guides/agent-behavior.md +70 -19
  84. package/pennyfarthing-dist/guides/agent-coordination.md +10 -10
  85. package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +6 -6
  86. package/pennyfarthing-dist/guides/agent-template-tactical.md +1 -1
  87. package/pennyfarthing-dist/guides/bell-mode.md +1 -1
  88. package/pennyfarthing-dist/guides/bikerack.md +10 -10
  89. package/pennyfarthing-dist/guides/brownfield-tools.md +24 -24
  90. package/pennyfarthing-dist/guides/command-tag-taxonomy.md +1 -1
  91. package/pennyfarthing-dist/guides/gate-schema.md +2 -2
  92. package/pennyfarthing-dist/guides/gates.md +3 -3
  93. package/pennyfarthing-dist/guides/handoff-cli.md +8 -8
  94. package/pennyfarthing-dist/guides/hooks.md +27 -27
  95. package/pennyfarthing-dist/guides/prime.md +2 -2
  96. package/pennyfarthing-dist/guides/reflector.md +1 -1
  97. package/pennyfarthing-dist/guides/skill-schema.md +6 -6
  98. package/pennyfarthing-dist/guides/tandem-protocol.md +3 -3
  99. package/pennyfarthing-dist/guides/workflow-schema.md +1 -1
  100. package/pennyfarthing-dist/guides/worktree-mode.md +3 -3
  101. package/pennyfarthing-dist/guides/xml-tags.md +8 -8
  102. package/pennyfarthing-dist/scripts/README.md +4 -4
  103. package/pennyfarthing-dist/scripts/core/agent-session.sh +2 -5
  104. package/pennyfarthing-dist/scripts/core/check-context.sh +1 -1
  105. package/pennyfarthing-dist/scripts/core/pf.sh +5 -0
  106. package/pennyfarthing-dist/scripts/core/phase-check-start.sh +2 -5
  107. package/pennyfarthing-dist/scripts/core/prime.sh +2 -25
  108. package/pennyfarthing-dist/scripts/git/README.md +14 -14
  109. package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +2 -3
  110. package/pennyfarthing-dist/scripts/git/git-status-all.sh +2 -3
  111. package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +2 -3
  112. package/pennyfarthing-dist/scripts/git/worktree-manager.sh +2 -4
  113. package/pennyfarthing-dist/scripts/hooks/README.md +6 -6
  114. package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +3 -3
  115. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +3 -3
  116. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +3 -3
  117. package/pennyfarthing-dist/scripts/hooks/cyclist-pretooluse-hook.sh +3 -3
  118. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +5 -4
  119. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +2 -1
  120. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +3 -3
  121. package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +3 -3
  122. package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +3 -3
  123. package/pennyfarthing-dist/scripts/hooks/session-start.sh +3 -3
  124. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +3 -3
  125. package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +3 -3
  126. package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +3 -4
  127. package/pennyfarthing-dist/scripts/lib/env.sh +34 -0
  128. package/pennyfarthing-dist/scripts/lib/run-pf.sh +39 -0
  129. package/pennyfarthing-dist/scripts/misc/README.md +1 -1
  130. package/pennyfarthing-dist/scripts/misc/statusline.sh +3 -3
  131. package/pennyfarthing-dist/scripts/sprint/README.md +21 -21
  132. package/pennyfarthing-dist/scripts/workflow/README.md +2 -2
  133. package/pennyfarthing-dist/scripts/workflow/finish-story.sh +2 -16
  134. package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +3 -3
  135. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +3 -3
  136. package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +3 -3
  137. package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +3 -3
  138. package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +3 -3
  139. package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +3 -3
  140. package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +3 -3
  141. package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +3 -3
  142. package/pennyfarthing-dist/skills/pf-bc/examples.md +23 -23
  143. package/pennyfarthing-dist/skills/pf-bc/skill.md +17 -17
  144. package/pennyfarthing-dist/skills/pf-bc/usage.md +8 -8
  145. package/pennyfarthing-dist/skills/pf-jira/SKILL.md +15 -15
  146. package/pennyfarthing-dist/skills/pf-jira/examples.md +48 -48
  147. package/pennyfarthing-dist/skills/pf-jira/usage.md +15 -15
  148. package/pennyfarthing-dist/skills/pf-sprint/examples.md +80 -80
  149. package/pennyfarthing-dist/skills/pf-sprint/skill.md +35 -35
  150. package/pennyfarthing-dist/skills/pf-sprint/usage.md +30 -30
  151. package/pennyfarthing-dist/skills/pf-theme/examples.md +15 -15
  152. package/pennyfarthing-dist/skills/pf-theme/skill.md +6 -6
  153. package/pennyfarthing-dist/skills/pf-theme/usage.md +5 -5
  154. package/pennyfarthing-dist/skills/pf-workflow/examples.md +27 -27
  155. package/pennyfarthing-dist/skills/pf-workflow/skill.md +11 -11
  156. package/pennyfarthing-dist/skills/pf-workflow/usage.md +11 -11
  157. package/pennyfarthing-dist/skills/skill-registry.yaml +19 -19
  158. package/pennyfarthing-dist/templates/settings.local.json.template +11 -11
  159. package/pennyfarthing-dist/workflows/bdd-team.yaml +89 -0
  160. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +1 -1
  161. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +1 -1
  162. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +1 -1
  163. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +1 -1
  164. package/pennyfarthing-dist/workflows/project-setup/steps/step-01-discover.md +47 -0
  165. package/pennyfarthing-dist/workflows/tdd-team.yaml +80 -0
  166. package/pennyfarthing_scripts/__init__.py +1 -1
  167. package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  168. package/pennyfarthing_scripts/__pycache__/bellmode_hook.cpython-314.pyc +0 -0
  169. package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
  170. package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
  171. package/pennyfarthing_scripts/__pycache__/context.cpython-314.pyc +0 -0
  172. package/pennyfarthing_scripts/__pycache__/hooks.cpython-314.pyc +0 -0
  173. package/pennyfarthing_scripts/__pycache__/jira_bidirectional_sync.cpython-314.pyc +0 -0
  174. package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
  175. package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
  176. package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
  177. package/pennyfarthing_scripts/__pycache__/output.cpython-314.pyc +0 -0
  178. package/pennyfarthing_scripts/__pycache__/patch_mode.cpython-314.pyc +0 -0
  179. package/pennyfarthing_scripts/__pycache__/pretooluse_hook.cpython-314.pyc +0 -0
  180. package/pennyfarthing_scripts/__pycache__/schema_validation_hook.cpython-314.pyc +0 -0
  181. package/pennyfarthing_scripts/__pycache__/session_start_hook.cpython-314.pyc +0 -0
  182. package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
  183. package/pennyfarthing_scripts/bc/__pycache__/__init__.cpython-314.pyc +0 -0
  184. package/pennyfarthing_scripts/bc/__pycache__/cli.cpython-314.pyc +0 -0
  185. package/pennyfarthing_scripts/bc/__pycache__/focus.cpython-314.pyc +0 -0
  186. package/pennyfarthing_scripts/bc/__pycache__/split.cpython-314.pyc +0 -0
  187. package/pennyfarthing_scripts/bc/cli.py +2 -2
  188. package/pennyfarthing_scripts/bellmode_hook.py +2 -5
  189. package/pennyfarthing_scripts/bikerack/__pycache__/__init__.cpython-314.pyc +0 -0
  190. package/pennyfarthing_scripts/bikerack/__pycache__/__main__.cpython-314.pyc +0 -0
  191. package/pennyfarthing_scripts/bikerack/__pycache__/audit_log_panel.cpython-314.pyc +0 -0
  192. package/pennyfarthing_scripts/bikerack/__pycache__/background_panel.cpython-314.pyc +0 -0
  193. package/pennyfarthing_scripts/bikerack/__pycache__/base_panel.cpython-314.pyc +0 -0
  194. package/pennyfarthing_scripts/bikerack/__pycache__/changed_panel.cpython-314.pyc +0 -0
  195. package/pennyfarthing_scripts/bikerack/__pycache__/cli.cpython-314.pyc +0 -0
  196. package/pennyfarthing_scripts/bikerack/__pycache__/context_meter_footer.cpython-314.pyc +0 -0
  197. package/pennyfarthing_scripts/bikerack/__pycache__/debug_panel.cpython-314.pyc +0 -0
  198. package/pennyfarthing_scripts/bikerack/__pycache__/diffs_panel.cpython-314.pyc +0 -0
  199. package/pennyfarthing_scripts/bikerack/__pycache__/events.cpython-314.pyc +0 -0
  200. package/pennyfarthing_scripts/bikerack/__pycache__/git_panel.cpython-314.pyc +0 -0
  201. package/pennyfarthing_scripts/bikerack/__pycache__/launcher.cpython-314.pyc +0 -0
  202. package/pennyfarthing_scripts/bikerack/__pycache__/portrait.cpython-314.pyc +0 -0
  203. package/pennyfarthing_scripts/bikerack/__pycache__/portrait_resolver.cpython-314.pyc +0 -0
  204. package/pennyfarthing_scripts/bikerack/__pycache__/progress_panel.cpython-314.pyc +0 -0
  205. package/pennyfarthing_scripts/bikerack/__pycache__/sprint_panel.cpython-314.pyc +0 -0
  206. package/pennyfarthing_scripts/bikerack/__pycache__/story_detail_data.cpython-314.pyc +0 -0
  207. package/pennyfarthing_scripts/bikerack/__pycache__/story_detail_screen.cpython-314.pyc +0 -0
  208. package/pennyfarthing_scripts/bikerack/__pycache__/tui.cpython-314.pyc +0 -0
  209. package/pennyfarthing_scripts/bikerack/__pycache__/ws_client.cpython-314.pyc +0 -0
  210. package/pennyfarthing_scripts/bikerack/audit_log_panel.py +48 -6
  211. package/pennyfarthing_scripts/bikerack/launcher.py +6 -6
  212. package/pennyfarthing_scripts/bikerack/progress_panel.py +0 -1
  213. package/pennyfarthing_scripts/bikerack/sprint_panel.py +1 -1
  214. package/pennyfarthing_scripts/bikerack/story_detail_data.py +4 -1
  215. package/pennyfarthing_scripts/bikerack/story_detail_screen.py +2 -1
  216. package/pennyfarthing_scripts/bikerack/tui.py +12 -2
  217. package/pennyfarthing_scripts/bikerack/ws_client.py +2 -2
  218. package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
  219. package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
  220. package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
  221. package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
  222. package/pennyfarthing_scripts/codemarkers/__pycache__/__init__.cpython-314.pyc +0 -0
  223. package/pennyfarthing_scripts/codemarkers/__pycache__/__main__.cpython-314.pyc +0 -0
  224. package/pennyfarthing_scripts/codemarkers/__pycache__/analyze.cpython-314.pyc +0 -0
  225. package/pennyfarthing_scripts/codemarkers/__pycache__/cli.cpython-314.pyc +0 -0
  226. package/pennyfarthing_scripts/codemarkers/__pycache__/formatters.cpython-314.pyc +0 -0
  227. package/pennyfarthing_scripts/codemarkers/__pycache__/models.cpython-314.pyc +0 -0
  228. package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
  229. package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
  230. package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
  231. package/pennyfarthing_scripts/common/__pycache__/themes.cpython-314.pyc +0 -0
  232. package/pennyfarthing_scripts/common/config.py +29 -2
  233. package/pennyfarthing_scripts/complexity/__pycache__/__init__.cpython-314.pyc +0 -0
  234. package/pennyfarthing_scripts/complexity/__pycache__/__main__.cpython-314.pyc +0 -0
  235. package/pennyfarthing_scripts/complexity/__pycache__/analyze.cpython-314.pyc +0 -0
  236. package/pennyfarthing_scripts/complexity/__pycache__/cli.cpython-314.pyc +0 -0
  237. package/pennyfarthing_scripts/complexity/__pycache__/formatters.cpython-314.pyc +0 -0
  238. package/pennyfarthing_scripts/complexity/__pycache__/models.cpython-314.pyc +0 -0
  239. package/pennyfarthing_scripts/consultation/__pycache__/__init__.cpython-314.pyc +0 -0
  240. package/pennyfarthing_scripts/consultation/__pycache__/cli.cpython-314.pyc +0 -0
  241. package/pennyfarthing_scripts/consultation/cli.py +3 -3
  242. package/pennyfarthing_scripts/context.py +3 -3
  243. package/pennyfarthing_scripts/deadcode/__pycache__/__init__.cpython-314.pyc +0 -0
  244. package/pennyfarthing_scripts/deadcode/__pycache__/__main__.cpython-314.pyc +0 -0
  245. package/pennyfarthing_scripts/deadcode/__pycache__/analyze.cpython-314.pyc +0 -0
  246. package/pennyfarthing_scripts/deadcode/__pycache__/cli.cpython-314.pyc +0 -0
  247. package/pennyfarthing_scripts/deadcode/__pycache__/formatters.cpython-314.pyc +0 -0
  248. package/pennyfarthing_scripts/deadcode/__pycache__/models.cpython-314.pyc +0 -0
  249. package/pennyfarthing_scripts/dependencies/__pycache__/__init__.cpython-314.pyc +0 -0
  250. package/pennyfarthing_scripts/dependencies/__pycache__/__main__.cpython-314.pyc +0 -0
  251. package/pennyfarthing_scripts/dependencies/__pycache__/analyze.cpython-314.pyc +0 -0
  252. package/pennyfarthing_scripts/dependencies/__pycache__/cli.cpython-314.pyc +0 -0
  253. package/pennyfarthing_scripts/dependencies/__pycache__/formatters.cpython-314.pyc +0 -0
  254. package/pennyfarthing_scripts/dependencies/__pycache__/models.cpython-314.pyc +0 -0
  255. package/pennyfarthing_scripts/epic/__pycache__/__init__.cpython-314.pyc +0 -0
  256. package/pennyfarthing_scripts/epic/__pycache__/cli.cpython-314.pyc +0 -0
  257. package/pennyfarthing_scripts/gate/__pycache__/__init__.cpython-314.pyc +0 -0
  258. package/pennyfarthing_scripts/gate/__pycache__/cli.cpython-314.pyc +0 -0
  259. package/pennyfarthing_scripts/gate/__pycache__/validate.cpython-314.pyc +0 -0
  260. package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
  261. package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
  262. package/pennyfarthing_scripts/git/__pycache__/hooks_installer.cpython-314.pyc +0 -0
  263. package/pennyfarthing_scripts/git/__pycache__/repos.cpython-314.pyc +0 -0
  264. package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
  265. package/pennyfarthing_scripts/git/__pycache__/worktree.cpython-314.pyc +0 -0
  266. package/pennyfarthing_scripts/git/hooks_installer.py +2 -3
  267. package/pennyfarthing_scripts/git/status_all.py +1 -1
  268. package/pennyfarthing_scripts/git/worktree.py +2 -2
  269. package/pennyfarthing_scripts/git_group/__pycache__/__init__.cpython-314.pyc +0 -0
  270. package/pennyfarthing_scripts/git_group/__pycache__/cli.cpython-314.pyc +0 -0
  271. package/pennyfarthing_scripts/handoff/__pycache__/__init__.cpython-314.pyc +0 -0
  272. package/pennyfarthing_scripts/handoff/__pycache__/cli.cpython-314.pyc +0 -0
  273. package/pennyfarthing_scripts/handoff/__pycache__/complete_phase.cpython-314.pyc +0 -0
  274. package/pennyfarthing_scripts/handoff/__pycache__/gate_file.cpython-314.pyc +0 -0
  275. package/pennyfarthing_scripts/handoff/__pycache__/gate_runner.cpython-314.pyc +0 -0
  276. package/pennyfarthing_scripts/handoff/__pycache__/marker.cpython-314.pyc +0 -0
  277. package/pennyfarthing_scripts/handoff/__pycache__/phase_check.cpython-314.pyc +0 -0
  278. package/pennyfarthing_scripts/handoff/__pycache__/resolve_gate.cpython-314.pyc +0 -0
  279. package/pennyfarthing_scripts/healthscore/__pycache__/__init__.cpython-314.pyc +0 -0
  280. package/pennyfarthing_scripts/healthscore/__pycache__/__main__.cpython-314.pyc +0 -0
  281. package/pennyfarthing_scripts/healthscore/__pycache__/analyze.cpython-314.pyc +0 -0
  282. package/pennyfarthing_scripts/healthscore/__pycache__/cli.cpython-314.pyc +0 -0
  283. package/pennyfarthing_scripts/healthscore/__pycache__/formatters.cpython-314.pyc +0 -0
  284. package/pennyfarthing_scripts/healthscore/__pycache__/models.cpython-314.pyc +0 -0
  285. package/pennyfarthing_scripts/hooks/__init__.py +8 -3
  286. package/pennyfarthing_scripts/hooks/__pycache__/__init__.cpython-314.pyc +0 -0
  287. package/pennyfarthing_scripts/hooks/__pycache__/bell_mode.cpython-314.pyc +0 -0
  288. package/pennyfarthing_scripts/hooks/__pycache__/cli.cpython-314.pyc +0 -0
  289. package/pennyfarthing_scripts/hooks/__pycache__/context_breaker.cpython-314.pyc +0 -0
  290. package/pennyfarthing_scripts/hooks/__pycache__/context_warning.cpython-314.pyc +0 -0
  291. package/pennyfarthing_scripts/hooks/__pycache__/cyclist_pretooluse.cpython-314.pyc +0 -0
  292. package/pennyfarthing_scripts/hooks/__pycache__/pre_edit_check.cpython-314.pyc +0 -0
  293. package/pennyfarthing_scripts/hooks/__pycache__/reflector_check.cpython-314.pyc +0 -0
  294. package/pennyfarthing_scripts/hooks/__pycache__/schema_validation.cpython-314.pyc +0 -0
  295. package/pennyfarthing_scripts/hooks/__pycache__/session_start.cpython-314.pyc +0 -0
  296. package/pennyfarthing_scripts/hooks/__pycache__/session_stop.cpython-314.pyc +0 -0
  297. package/pennyfarthing_scripts/hooks/__pycache__/sprint_yaml_validation.cpython-314.pyc +0 -0
  298. package/pennyfarthing_scripts/hooks/__pycache__/statusline.cpython-314.pyc +0 -0
  299. package/pennyfarthing_scripts/hooks/bell_mode.py +0 -1
  300. package/pennyfarthing_scripts/hooks/pre_edit_check.py +0 -1
  301. package/pennyfarthing_scripts/hooks/reflector_check.py +1 -2
  302. package/pennyfarthing_scripts/hooks/schema_validation.py +0 -1
  303. package/pennyfarthing_scripts/hooks/session_start.py +6 -8
  304. package/pennyfarthing_scripts/hooks/statusline.py +10 -1
  305. package/pennyfarthing_scripts/hotspots/__pycache__/__init__.cpython-314.pyc +0 -0
  306. package/pennyfarthing_scripts/hotspots/__pycache__/__main__.cpython-314.pyc +0 -0
  307. package/pennyfarthing_scripts/hotspots/__pycache__/analyze.cpython-314.pyc +0 -0
  308. package/pennyfarthing_scripts/hotspots/__pycache__/cli.cpython-314.pyc +0 -0
  309. package/pennyfarthing_scripts/hotspots/__pycache__/formatters.cpython-314.pyc +0 -0
  310. package/pennyfarthing_scripts/hotspots/__pycache__/models.cpython-314.pyc +0 -0
  311. package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
  312. package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
  313. package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
  314. package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
  315. package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
  316. package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
  317. package/pennyfarthing_scripts/jira/__pycache__/create.cpython-314.pyc +0 -0
  318. package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
  319. package/pennyfarthing_scripts/jira/__pycache__/operations.cpython-314.pyc +0 -0
  320. package/pennyfarthing_scripts/jira/__pycache__/reconcile.cpython-314.pyc +0 -0
  321. package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
  322. package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
  323. package/pennyfarthing_scripts/launch/__pycache__/__init__.cpython-314.pyc +0 -0
  324. package/pennyfarthing_scripts/launch/__pycache__/cli.cpython-314.pyc +0 -0
  325. package/pennyfarthing_scripts/migration/__pycache__/__init__.cpython-314.pyc +0 -0
  326. package/pennyfarthing_scripts/migration/__pycache__/session.cpython-314.pyc +0 -0
  327. package/pennyfarthing_scripts/migration/__pycache__/skill.cpython-314.pyc +0 -0
  328. package/pennyfarthing_scripts/migration/__pycache__/step.cpython-314.pyc +0 -0
  329. package/pennyfarthing_scripts/migration/__pycache__/validate.cpython-314.pyc +0 -0
  330. package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
  331. package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
  332. package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
  333. package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
  334. package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
  335. package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
  336. package/pennyfarthing_scripts/prime/__pycache__/heatmap.cpython-314.pyc +0 -0
  337. package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
  338. package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
  339. package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
  340. package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
  341. package/pennyfarthing_scripts/prime/__pycache__/tiers.cpython-314.pyc +0 -0
  342. package/pennyfarthing_scripts/prime/__pycache__/version_sentinel.cpython-314.pyc +0 -0
  343. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  344. package/pennyfarthing_scripts/prime/heatmap.py +3 -15
  345. package/pennyfarthing_scripts/session/__pycache__/__init__.cpython-314.pyc +0 -0
  346. package/pennyfarthing_scripts/session/__pycache__/cli.cpython-314.pyc +0 -0
  347. package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
  348. package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
  349. package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
  350. package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
  351. package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
  352. package/pennyfarthing_scripts/sprint/__pycache__/epic_add.cpython-314.pyc +0 -0
  353. package/pennyfarthing_scripts/sprint/__pycache__/epic_update.cpython-314.pyc +0 -0
  354. package/pennyfarthing_scripts/sprint/__pycache__/import_epic.cpython-314.pyc +0 -0
  355. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  356. package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
  357. package/pennyfarthing_scripts/sprint/__pycache__/story_add.cpython-314.pyc +0 -0
  358. package/pennyfarthing_scripts/sprint/__pycache__/story_finish.cpython-314.pyc +0 -0
  359. package/pennyfarthing_scripts/sprint/__pycache__/story_update.cpython-314.pyc +0 -0
  360. package/pennyfarthing_scripts/sprint/__pycache__/validate_cmd.cpython-314.pyc +0 -0
  361. package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
  362. package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
  363. package/pennyfarthing_scripts/sprint/__pycache__/yaml_io.cpython-314.pyc +0 -0
  364. package/pennyfarthing_scripts/sprint/cli.py +121 -0
  365. package/pennyfarthing_scripts/sprint/loader.py +154 -3
  366. package/pennyfarthing_scripts/sprint/story_update.py +7 -0
  367. package/pennyfarthing_scripts/story/__pycache__/__init__.cpython-314.pyc +0 -0
  368. package/pennyfarthing_scripts/story/__pycache__/__main__.cpython-314.pyc +0 -0
  369. package/pennyfarthing_scripts/story/__pycache__/cli.cpython-314.pyc +0 -0
  370. package/pennyfarthing_scripts/story/__pycache__/create.cpython-314.pyc +0 -0
  371. package/pennyfarthing_scripts/story/__pycache__/size.cpython-314.pyc +0 -0
  372. package/pennyfarthing_scripts/story/__pycache__/template.cpython-314.pyc +0 -0
  373. package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
  374. package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
  375. package/pennyfarthing_scripts/tests/__pycache__/test_108_2_remove_handoff_fallback.cpython-314-pytest-9.0.2.pyc +0 -0
  376. package/pennyfarthing_scripts/tests/__pycache__/test_archive_epic.cpython-314-pytest-9.0.2.pyc +0 -0
  377. package/pennyfarthing_scripts/tests/__pycache__/test_bc.cpython-314-pytest-9.0.2.pyc +0 -0
  378. package/pennyfarthing_scripts/tests/__pycache__/test_bikerack.cpython-314-pytest-9.0.2.pyc +0 -0
  379. package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
  380. package/pennyfarthing_scripts/tests/__pycache__/test_cli_modules.cpython-314-pytest-9.0.2.pyc +0 -0
  381. package/pennyfarthing_scripts/tests/__pycache__/test_cli_normalization.cpython-314-pytest-9.0.2.pyc +0 -0
  382. package/pennyfarthing_scripts/tests/__pycache__/test_codemarkers.cpython-314-pytest-9.0.2.pyc +0 -0
  383. package/pennyfarthing_scripts/tests/__pycache__/test_common.cpython-314-pytest-9.0.2.pyc +0 -0
  384. package/pennyfarthing_scripts/tests/__pycache__/test_epic_shard_validation.cpython-314-pytest-9.0.2.pyc +0 -0
  385. package/pennyfarthing_scripts/tests/__pycache__/test_gate_file_resolution.cpython-314-pytest-9.0.2.pyc +0 -0
  386. package/pennyfarthing_scripts/tests/__pycache__/test_gate_runner.cpython-314-pytest-9.0.2.pyc +0 -0
  387. package/pennyfarthing_scripts/tests/__pycache__/test_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
  388. package/pennyfarthing_scripts/tests/__pycache__/test_handoff_cli.cpython-314-pytest-9.0.2.pyc +0 -0
  389. package/pennyfarthing_scripts/tests/__pycache__/test_handoff_e2e.cpython-314-pytest-9.0.2.pyc +0 -0
  390. package/pennyfarthing_scripts/tests/__pycache__/test_healthscore.cpython-314-pytest-9.0.2.pyc +0 -0
  391. package/pennyfarthing_scripts/tests/__pycache__/test_jira_package.cpython-314-pytest-9.0.2.pyc +0 -0
  392. package/pennyfarthing_scripts/tests/__pycache__/test_package_structure.cpython-314-pytest-9.0.2.pyc +0 -0
  393. package/pennyfarthing_scripts/tests/__pycache__/test_patch_mode.cpython-314-pytest-9.0.2.pyc +0 -0
  394. package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
  395. package/pennyfarthing_scripts/tests/__pycache__/test_resolve_gate_file_field.cpython-314-pytest-9.0.2.pyc +0 -0
  396. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_package.cpython-314-pytest-9.0.2.pyc +0 -0
  397. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_panel.cpython-314-pytest-9.0.2.pyc +0 -0
  398. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
  399. package/pennyfarthing_scripts/tests/__pycache__/test_story_add.cpython-314-pytest-9.0.2.pyc +0 -0
  400. package/pennyfarthing_scripts/tests/__pycache__/test_story_package.cpython-314-pytest-9.0.2.pyc +0 -0
  401. package/pennyfarthing_scripts/tests/__pycache__/test_story_update.cpython-314-pytest-9.0.2.pyc +0 -0
  402. package/pennyfarthing_scripts/tests/__pycache__/test_tiers.cpython-314-pytest-9.0.2.pyc +0 -0
  403. package/pennyfarthing_scripts/tests/__pycache__/test_token_counting.cpython-314-pytest-9.0.2.pyc +0 -0
  404. package/pennyfarthing_scripts/tests/__pycache__/test_topology_loader.cpython-314-pytest-9.0.2.pyc +0 -0
  405. package/pennyfarthing_scripts/tests/__pycache__/test_tui_focus.cpython-314-pytest-9.0.2.pyc +0 -0
  406. package/pennyfarthing_scripts/tests/__pycache__/test_tui_panel_persistence.cpython-314-pytest-9.0.2.pyc +0 -0
  407. package/pennyfarthing_scripts/tests/__pycache__/test_validate_cmd.cpython-314-pytest-9.0.2.pyc +0 -0
  408. package/pennyfarthing_scripts/tests/__pycache__/test_version_sentinel.cpython-314-pytest-9.0.2.pyc +0 -0
  409. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_check.cpython-314-pytest-9.0.2.pyc +0 -0
  410. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_list_team.cpython-314-pytest-9.0.2.pyc +0 -0
  411. package/pennyfarthing_scripts/tests/__pycache__/test_yaml_io.cpython-314-pytest-9.0.2.pyc +0 -0
  412. package/pennyfarthing_scripts/tests/test_bikerack.py +26 -26
  413. package/pennyfarthing_scripts/tests/test_dialogue_manager.py +0 -1
  414. package/pennyfarthing_scripts/tests/test_workflow_list_team.py +147 -0
  415. package/pennyfarthing_scripts/theme/__pycache__/__init__.cpython-314.pyc +0 -0
  416. package/pennyfarthing_scripts/theme/__pycache__/cli.cpython-314.pyc +0 -0
  417. package/pennyfarthing_scripts/validate/__pycache__/__init__.cpython-314.pyc +0 -0
  418. package/pennyfarthing_scripts/validate/__pycache__/cli.cpython-314.pyc +0 -0
  419. package/pennyfarthing_scripts/validate/adapters/__pycache__/__init__.cpython-314.pyc +0 -0
  420. package/pennyfarthing_scripts/validate/adapters/__pycache__/agent.cpython-314.pyc +0 -0
  421. package/pennyfarthing_scripts/validate/adapters/__pycache__/schema.cpython-314.pyc +0 -0
  422. package/pennyfarthing_scripts/validate/adapters/__pycache__/skill_command.cpython-314.pyc +0 -0
  423. package/pennyfarthing_scripts/validate/adapters/__pycache__/sprint.cpython-314.pyc +0 -0
  424. package/pennyfarthing_scripts/validate/adapters/__pycache__/tandem_awareness.cpython-314.pyc +0 -0
  425. package/pennyfarthing_scripts/validate/adapters/__pycache__/team_mode.cpython-314.pyc +0 -0
  426. package/pennyfarthing_scripts/validate/adapters/__pycache__/workflow.cpython-314.pyc +0 -0
  427. package/pennyfarthing_scripts/validate/adapters/team_mode.py +323 -0
  428. package/pennyfarthing_scripts/workflow/__pycache__/__init__.cpython-314.pyc +0 -0
  429. package/pennyfarthing_scripts/workflow/__pycache__/cli.cpython-314.pyc +0 -0
  430. package/pennyfarthing_scripts/workflow/__pycache__/helpers.cpython-314.pyc +0 -0
  431. package/pennyfarthing_scripts/workflow/__pycache__/scale.cpython-314.pyc +0 -0
  432. package/pennyfarthing_scripts/workflow/__pycache__/state.cpython-314.pyc +0 -0
  433. package/pennyfarthing_scripts/workflow/__pycache__/team_lifecycle.cpython-314.pyc +0 -0
  434. package/pennyfarthing_scripts/workflow/cli.py +15 -14
  435. package/pennyfarthing_scripts/workflow/state.py +0 -1
  436. package/pennyfarthing_scripts/workflow/team_lifecycle.py +3 -4
  437. package/packages/core/dist/cli/cyclist-migration.test.d.ts +0 -16
  438. package/packages/core/dist/cli/cyclist-migration.test.d.ts.map +0 -1
  439. package/packages/core/dist/cli/cyclist-migration.test.js +0 -229
  440. package/packages/core/dist/cli/cyclist-migration.test.js.map +0 -1
  441. package/packages/core/dist/scripts/benchmark-integration.d.ts +0 -182
  442. package/packages/core/dist/scripts/benchmark-integration.d.ts.map +0 -1
  443. package/packages/core/dist/scripts/benchmark-integration.js +0 -691
  444. package/packages/core/dist/scripts/benchmark-integration.js.map +0 -1
  445. package/packages/core/dist/scripts/job-fair-aggregator.d.ts +0 -150
  446. package/packages/core/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
  447. package/packages/core/dist/scripts/job-fair-aggregator.js +0 -547
  448. package/packages/core/dist/scripts/job-fair-aggregator.js.map +0 -1
  449. package/packages/core/dist/scripts/theme-detail.test.d.ts.map +0 -1
  450. package/packages/core/dist/scripts/theme-detail.test.js.map +0 -1
  451. package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
  452. package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  453. package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
  454. package/pennyfarthing_scripts/__pycache__/sprint.cpython-314.pyc +0 -0
  455. package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
  456. package/pennyfarthing_scripts/consultation/__pycache__/dialogue_manager.cpython-314.pyc +0 -0
  457. package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
  458. package/pennyfarthing_scripts/jira/__pycache__/mappings.cpython-314.pyc +0 -0
  459. package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
  460. package/pennyfarthing_scripts/migration/__pycache__/__main__.cpython-314.pyc +0 -0
  461. package/pennyfarthing_scripts/migration/__pycache__/cli.cpython-314.pyc +0 -0
  462. package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
  463. package/pennyfarthing_scripts/tests/__pycache__/test_108_1_gate_migration.cpython-314-pytest-9.0.2.pyc +0 -0
  464. package/pennyfarthing_scripts/tests/__pycache__/test_confidence_sm_evaluation.cpython-314-pytest-9.0.2.pyc +0 -0
  465. package/pennyfarthing_scripts/tests/__pycache__/test_confidence_sm_gate.cpython-314-pytest-9.0.2.pyc +0 -0
  466. package/pennyfarthing_scripts/tests/__pycache__/test_dialogue_manager.cpython-314-pytest-9.0.2.pyc +0 -0
  467. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_cli.cpython-314-pytest-9.0.2.pyc +0 -0
@@ -5,7 +5,7 @@
5
5
  ### List Workflows
6
6
 
7
7
  ```bash
8
- pf workflow list
8
+ pf.sh workflow list
9
9
  ```
10
10
 
11
11
  No arguments. Returns table of workflows with type, phases/steps count, modes, default flag, description.
@@ -13,7 +13,7 @@ No arguments. Returns table of workflows with type, phases/steps count, modes, d
13
13
  ### Show Workflow
14
14
 
15
15
  ```bash
16
- pf workflow show [NAME]
16
+ pf.sh workflow show [NAME]
17
17
  ```
18
18
 
19
19
  | Arg | Required | Description |
@@ -31,7 +31,7 @@ Warning: Only do this when story requirements have fundamentally changed. Switch
31
31
  ### Start Stepped Workflow
32
32
 
33
33
  ```bash
34
- pf workflow start <NAME> [--mode <MODE>]
34
+ pf.sh workflow start <NAME> [--mode <MODE>]
35
35
  ```
36
36
 
37
37
  | Arg/Option | Required | Description |
@@ -44,7 +44,7 @@ Creates a new session and begins at step 1.
44
44
  ### Resume Stepped Workflow
45
45
 
46
46
  ```bash
47
- pf workflow resume [NAME]
47
+ pf.sh workflow resume [NAME]
48
48
  ```
49
49
 
50
50
  | Arg | Required | Description |
@@ -54,7 +54,7 @@ pf workflow resume [NAME]
54
54
  ### Workflow Status
55
55
 
56
56
  ```bash
57
- pf workflow status
57
+ pf.sh workflow status
58
58
  ```
59
59
 
60
60
  No arguments. Shows current step, progress percentage, mode.
@@ -62,7 +62,7 @@ No arguments. Shows current step, progress percentage, mode.
62
62
  ### Fix Session Phase
63
63
 
64
64
  ```bash
65
- pf workflow fix-phase <STORY_ID> <TARGET_PHASE> [--dry-run]
65
+ pf.sh workflow fix-phase <STORY_ID> <TARGET_PHASE> [--dry-run]
66
66
  ```
67
67
 
68
68
  | Arg/Option | Required | Description |
@@ -83,7 +83,7 @@ Updates `**Phase:**` field, `**Phase Started:**` timestamp, and handoff history
83
83
  ### Complete Step
84
84
 
85
85
  ```bash
86
- pf workflow complete-step [NAME] [--step N]
86
+ pf.sh workflow complete-step [NAME] [--step N]
87
87
  ```
88
88
 
89
89
  | Arg/Option | Required | Description |
@@ -100,7 +100,7 @@ Advances session: increments step, updates completed list, recalculates percenta
100
100
  ### Check Workflow State
101
101
 
102
102
  ```bash
103
- pf workflow check [--json]
103
+ pf.sh workflow check [--json]
104
104
  ```
105
105
 
106
106
  | Option | Description |
@@ -112,7 +112,7 @@ Returns current story ID, phase, workflow, and state.
112
112
  ### Check Phase Owner
113
113
 
114
114
  ```bash
115
- pf workflow phase-check <WORKFLOW_NAME> <PHASE>
115
+ pf.sh workflow phase-check <WORKFLOW_NAME> <PHASE>
116
116
  ```
117
117
 
118
118
  | Arg | Required | Description |
@@ -125,7 +125,7 @@ Returns the agent name that owns the phase.
125
125
  ### Get Workflow Type
126
126
 
127
127
  ```bash
128
- pf workflow type <WORKFLOW_NAME>
128
+ pf.sh workflow type <WORKFLOW_NAME>
129
129
  ```
130
130
 
131
131
  | Arg | Required | Description |
@@ -137,7 +137,7 @@ Returns `phased`, `stepped`, or `procedural`.
137
137
  ### Emit Handoff Marker
138
138
 
139
139
  ```bash
140
- pf workflow handoff <NEXT_AGENT>
140
+ pf.sh workflow handoff <NEXT_AGENT>
141
141
  ```
142
142
 
143
143
  | Arg | Required | Description |
@@ -243,15 +243,15 @@ skills:
243
243
  prerequisites: []
244
244
  examples:
245
245
  - context: Checking sprint status
246
- invocation: /sprint
246
+ invocation: /pf-sprint
247
247
  - context: Finding available stories
248
- invocation: /sprint backlog
248
+ invocation: /pf-sprint backlog
249
249
  - context: Adding a story
250
- invocation: /sprint story add epic-76 "My story" 3
250
+ invocation: /pf-sprint story add epic-76 "My story" 3
251
251
  - context: Sizing guidelines
252
- invocation: /sprint story size
252
+ invocation: /pf-sprint story size
253
253
  - context: Adding an epic
254
- invocation: /sprint epic add epic-85 "New epic"
254
+ invocation: /pf-sprint epic add epic-85 "New epic"
255
255
  anti_patterns:
256
256
  - Don't manually edit sprint YAML - use scripts
257
257
  related_skills: [pf-jira]
@@ -278,7 +278,7 @@ skills:
278
278
 
279
279
  pf-story:
280
280
  name: pf-story
281
- description: "DEPRECATED: Use /sprint story instead. Story commands consolidated under /sprint."
281
+ description: "DEPRECATED: Use /pf-sprint story instead. Story commands consolidated under /pf-sprint."
282
282
  category: project-management
283
283
  tags: [stories, sizing, workflow, deprecated]
284
284
  version: "2.0.0"
@@ -287,12 +287,12 @@ skills:
287
287
  prerequisites: []
288
288
  examples:
289
289
  - context: Creating new stories
290
- invocation: /sprint story add
290
+ invocation: /pf-sprint story add
291
291
  - context: Sizing stories
292
- invocation: /sprint story size
292
+ invocation: /pf-sprint story size
293
293
  anti_patterns:
294
294
  - Don't create stories without acceptance criteria
295
- - Don't use /story directly - use /sprint story instead
295
+ - Don't use /story directly - use /pf-sprint story instead
296
296
  related_skills: [pf-sprint, pf-jira]
297
297
  keywords: [user-stories, estimation, points, acceptance-criteria]
298
298
 
@@ -324,15 +324,15 @@ skills:
324
324
  prerequisites: []
325
325
  examples:
326
326
  - context: Listing available themes
327
- invocation: /theme list
327
+ invocation: /pf-theme list
328
328
  - context: Showing current theme
329
- invocation: /theme show
329
+ invocation: /pf-theme show
330
330
  - context: Setting active theme
331
- invocation: /theme set discworld
331
+ invocation: /pf-theme set discworld
332
332
  - context: Creating a new theme
333
- invocation: /theme create my-theme --base discworld
333
+ invocation: /pf-theme create my-theme --base discworld
334
334
  - context: Interactive AI-driven theme wizard
335
- invocation: /theme maker
335
+ invocation: /pf-theme maker
336
336
  anti_patterns:
337
337
  - Don't edit config.local.yaml directly - use skill
338
338
  - Don't use deprecated /set-theme, /show-theme, /list-themes, /create-theme, /theme-maker
@@ -341,7 +341,7 @@ skills:
341
341
 
342
342
  pf-theme-creation:
343
343
  name: pf-theme-creation
344
- description: "DEPRECATED: Use /theme maker instead"
344
+ description: "DEPRECATED: Use /pf-theme maker instead"
345
345
  category: theming
346
346
  tags: [personas, themes, creation]
347
347
  version: "2.0.0"
@@ -350,7 +350,7 @@ skills:
350
350
  prerequisites: []
351
351
  examples:
352
352
  - context: Interactive theme wizard
353
- invocation: /theme maker
353
+ invocation: /pf-theme maker
354
354
  anti_patterns: []
355
355
  related_skills: [pf-theme]
356
356
  keywords: [personas, custom, generation, wizard]
@@ -365,11 +365,11 @@ skills:
365
365
  prerequisites: []
366
366
  examples:
367
367
  - context: Listing available workflows
368
- invocation: /workflow
368
+ invocation: /pf-workflow
369
369
  - context: Showing current workflow
370
- invocation: /workflow show
370
+ invocation: /pf-workflow show
371
371
  - context: Starting stepped workflow
372
- invocation: /workflow start architecture
372
+ invocation: /pf-workflow start architecture
373
373
  anti_patterns:
374
374
  - Don't switch workflows mid-story unless requirements fundamentally changed
375
375
  related_skills: [pf-sprint]
@@ -40,7 +40,7 @@
40
40
  "hooks": [
41
41
  {
42
42
  "type": "command",
43
- "command": "pf hooks session-start"
43
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks session-start"
44
44
  }
45
45
  ]
46
46
  },
@@ -68,7 +68,7 @@
68
68
  "hooks": [
69
69
  {
70
70
  "type": "command",
71
- "command": "pf hooks reflector-check"
71
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks reflector-check"
72
72
  }
73
73
  ]
74
74
  },
@@ -77,7 +77,7 @@
77
77
  "hooks": [
78
78
  {
79
79
  "type": "command",
80
- "command": "pf hooks session-stop"
80
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks session-stop"
81
81
  }
82
82
  ]
83
83
  }
@@ -88,7 +88,7 @@
88
88
  "hooks": [
89
89
  {
90
90
  "type": "command",
91
- "command": "pf hooks bell-mode"
91
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks bell-mode"
92
92
  }
93
93
  ]
94
94
  },
@@ -97,7 +97,7 @@
97
97
  "hooks": [
98
98
  {
99
99
  "type": "command",
100
- "command": "pf hooks sprint-yaml"
100
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks sprint-yaml"
101
101
  }
102
102
  ]
103
103
  }
@@ -108,7 +108,7 @@
108
108
  "hooks": [
109
109
  {
110
110
  "type": "command",
111
- "command": "pf hooks pre-edit-check"
111
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks pre-edit-check"
112
112
  }
113
113
  ]
114
114
  },
@@ -117,7 +117,7 @@
117
117
  "hooks": [
118
118
  {
119
119
  "type": "command",
120
- "command": "pf hooks schema-validation"
120
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks schema-validation"
121
121
  }
122
122
  ]
123
123
  },
@@ -126,7 +126,7 @@
126
126
  "hooks": [
127
127
  {
128
128
  "type": "command",
129
- "command": "pf hooks context-warning"
129
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks context-warning"
130
130
  }
131
131
  ]
132
132
  },
@@ -135,7 +135,7 @@
135
135
  "hooks": [
136
136
  {
137
137
  "type": "command",
138
- "command": "pf hooks context-breaker"
138
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks context-breaker"
139
139
  }
140
140
  ]
141
141
  },
@@ -143,7 +143,7 @@
143
143
  "hooks": [
144
144
  {
145
145
  "type": "command",
146
- "command": "pf hooks cyclist-pretooluse"
146
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks cyclist-pretooluse"
147
147
  }
148
148
  ]
149
149
  }
@@ -151,6 +151,6 @@
151
151
  },
152
152
  "statusLine": {
153
153
  "type": "command",
154
- "command": "pf hooks statusline"
154
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/core/pf.sh hooks statusline"
155
155
  }
156
156
  }
@@ -0,0 +1,89 @@
1
+ # BDD Team Workflow - BDD with Native Team Collaboration
2
+ #
3
+ # When to use: Best for UI/UX-heavy stories where sustained parallel
4
+ # collaboration during design and implementation provides more value than
5
+ # periodic tandem consultation. Use this instead of bdd-tandem when the
6
+ # designer-architect and dev-tester pairings need continuous interaction
7
+ # throughout their respective phases.
8
+ #
9
+ # Compared to bdd-tandem: Tandem spawns a Haiku subagent for a single
10
+ # request/response exchange. Team mode spawns full teammate sessions that
11
+ # work in parallel with the lead for the entire phase duration.
12
+ #
13
+ # Team pairings:
14
+ # - DESIGN phase: UX-Designer (lead) + Architect — Architect validates
15
+ # technical feasibility of design decisions in real-time
16
+ # - GREEN phase: Dev (lead) + TEA — TEA verifies tests stay green and
17
+ # flags regressions as Dev implements
18
+ #
19
+ # Fallback: When native teams are unavailable (non-interactive mode, feature
20
+ # flag off, or CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS not set), phases with
21
+ # team blocks fall back to solo execution. The lead agent works alone —
22
+ # consider using bdd-tandem as an alternative that works in all modes.
23
+ #
24
+ # Flow: SM → UX-Designer (+Architect) → TEA → Dev (+TEA) → Reviewer → SM
25
+
26
+ workflow:
27
+ name: bdd-team
28
+ description: BDD with native team collaboration — architect on design, TEA on green phase
29
+ version: "1.0.0"
30
+
31
+ phases:
32
+ - name: setup
33
+ agent: sm
34
+ output: [session_file, branches, story_context]
35
+
36
+ - name: design
37
+ agent: ux-designer
38
+ input: [session_file, story_context]
39
+ output: [design_spec, user_flows, wireframes, behavior_scenarios]
40
+ gate:
41
+ file: gates/design-review
42
+ type: design_review
43
+ condition: UX spec defines user flows and acceptance behaviors
44
+ team:
45
+ teammates:
46
+ - agent: architect
47
+ task: "Validate technical feasibility of design decisions. Flag constraints via SendMessage."
48
+
49
+ - name: red
50
+ agent: tea
51
+ input: [design_spec, behavior_scenarios, story_context]
52
+ output: [failing_tests]
53
+ gate:
54
+ file: gates/tests-fail
55
+ type: tests_fail
56
+ condition: Behavior scenarios have test coverage
57
+
58
+ - name: green
59
+ agent: dev
60
+ input: [failing_tests, design_spec, story_context]
61
+ output: [implementation, passing_tests]
62
+ gate:
63
+ file: gates/tests-pass
64
+ type: tests_pass
65
+ condition: All tests passing, UX spec implemented
66
+ team:
67
+ teammates:
68
+ - agent: tea
69
+ task: "Verify tests stay green and flag regressions as Dev implements."
70
+
71
+ - name: review
72
+ agent: reviewer
73
+ input: [implementation, passing_tests, design_spec]
74
+ output: [approval]
75
+ gate:
76
+ file: gates/approval
77
+ type: approval
78
+ condition: Code review approved, UX requirements met
79
+
80
+ - name: finish
81
+ agent: sm
82
+ input: [approval]
83
+ output: [archived_session, story_summary]
84
+
85
+ triggers:
86
+ tags: [team, bdd-team]
87
+ points:
88
+ min: 3
89
+ default: false
@@ -170,7 +170,7 @@ Display completion message:
170
170
 
171
171
  Next steps:
172
172
  - Use `/pf-sprint` to view the backlog
173
- - Use `pf sprint epic promote` to move to a sprint when ready
173
+ - Use `pf.sh sprint epic promote` to move to a sprint when ready
174
174
  ```
175
175
 
176
176
  ## SUCCESS CRITERIA:
@@ -32,7 +32,7 @@ Build a complete picture of uncommitted changes across ALL repos defined in `.cl
32
32
  **CRITICAL: Use the multi-repo script, not plain `git status`.**
33
33
 
34
34
  ```bash
35
- pf git status
35
+ pf.sh git status
36
36
  ```
37
37
 
38
38
  This shows branch, staged/unstaged changes, and unpushed commits for **all repos** defined in the project configuration.
@@ -34,7 +34,7 @@ Git cleanup summary report including:
34
34
  ### 4.1 Final Git Status (All Repos)
35
35
 
36
36
  ```bash
37
- pf git status
37
+ pf.sh git status
38
38
  ```
39
39
 
40
40
  Expected: Clean working directory in all repos, or only intentionally skipped files.
@@ -68,7 +68,7 @@ To run git-cleanup again:
68
68
  Or for a quick status check across all repos:
69
69
 
70
70
  ```bash
71
- pf git status
71
+ pf.sh git status
72
72
  ```
73
73
 
74
74
  ---
@@ -20,6 +20,53 @@ Discover the project structure, detect repositories, identify tech stack, and ga
20
20
  - User-confirmed discovery ready for repos.yaml generation
21
21
  </output>
22
22
 
23
+ ## PRE-FLIGHT: Environment Check
24
+
25
+ Before discovery, verify the environment is clean.
26
+
27
+ ### Check for Global `pf` Installation
28
+
29
+ A globally installed `pf` CLI causes version drift between projects. All `pf`
30
+ invocations should go through `uv run` via the shell shims in `.pennyfarthing/scripts/`.
31
+
32
+ ```bash
33
+ # Check for global pf binary
34
+ which pf 2>/dev/null
35
+ ```
36
+
37
+ **If `which pf` returns a path**, the user has a stale global install. Guide them through removal:
38
+
39
+ 1. **Check the source** of the global install:
40
+ ```bash
41
+ which pf
42
+ head -3 "$(which pf)" 2>/dev/null
43
+ pip3 show pennyfarthing-scripts 2>/dev/null | grep -E "^(Version|Location|Editable)"
44
+ uv tool list 2>/dev/null | grep pennyfarthing
45
+ ```
46
+
47
+ 2. **Remove based on source:**
48
+
49
+ | Source | Command |
50
+ |--------|---------|
51
+ | `uv tool` | `uv tool uninstall pennyfarthing-scripts` |
52
+ | `pip` (Homebrew Python) | `pip3 uninstall pennyfarthing-scripts --break-system-packages -y` |
53
+ | `pip` (venv/system) | `pip3 uninstall pennyfarthing-scripts -y` |
54
+ | `pipx` | `pipx uninstall pennyfarthing-scripts` |
55
+
56
+ 3. **Verify removal:**
57
+ ```bash
58
+ hash -r # Clear shell cache
59
+ which pf 2>/dev/null && echo "STILL INSTALLED — check for multiple installs" || echo "Clean"
60
+ ```
61
+
62
+ 4. **Explain to user:** Pennyfarthing hooks use `uv run` to resolve `pf` from the
63
+ local project's `pyproject.toml`. This ensures each project runs its own version
64
+ of the CLI without cross-project contamination. No global install is needed.
65
+
66
+ **If `which pf` returns nothing**, the environment is clean — continue to discovery.
67
+
68
+ ---
69
+
23
70
  ## DISCOVERY TASKS
24
71
 
25
72
  ### 1. Detect Repository Structure
@@ -0,0 +1,80 @@
1
+ # TDD Team Workflow - TDD with Native Team Collaboration
2
+ #
3
+ # When to use: Best for 5+ point feature stories where sustained parallel
4
+ # collaboration provides more value than periodic tandem consultation.
5
+ # Use this instead of tdd-tandem when teammates need to work alongside the
6
+ # lead for the full phase — e.g., Architect reviewing patterns as Dev
7
+ # implements, not just answering a single question.
8
+ #
9
+ # Compared to tdd-tandem: Tandem spawns a Haiku subagent for a single
10
+ # request/response exchange. Team mode spawns full teammate sessions that
11
+ # work in parallel with the lead for the entire phase duration.
12
+ #
13
+ # Team pairings:
14
+ # - GREEN phase: Dev (lead) + Architect — Architect reviews implementation
15
+ # approach and patterns in real-time via SendMessage
16
+ # - REVIEW phase: Reviewer (lead) + Architect — Architect validates
17
+ # architectural patterns during code review
18
+ #
19
+ # Fallback: When native teams are unavailable (non-interactive mode, feature
20
+ # flag off, or CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS not set), phases with
21
+ # team blocks fall back to solo execution. The lead agent works alone —
22
+ # consider using tdd-tandem as an alternative that works in all modes.
23
+ #
24
+ # Flow: SM → TEA → Dev (+Architect) → Reviewer (+Architect) → SM
25
+
26
+ workflow:
27
+ name: tdd-team
28
+ description: TDD with native team collaboration — architect pairing on green and review phases
29
+ version: "1.0.0"
30
+
31
+ phases:
32
+ - name: setup
33
+ agent: sm
34
+ output: [session_file, branches, story_context]
35
+
36
+ - name: red
37
+ agent: tea
38
+ input: [session_file, story_context]
39
+ output: [failing_tests]
40
+ gate:
41
+ file: gates/tests-fail
42
+ type: tests_fail
43
+ condition: All acceptance criteria have test coverage
44
+
45
+ - name: green
46
+ agent: dev
47
+ input: [failing_tests, story_context]
48
+ output: [implementation, passing_tests]
49
+ gate:
50
+ file: gates/tests-pass
51
+ type: tests_pass
52
+ condition: All tests passing, no skipped tests
53
+ team:
54
+ teammates:
55
+ - agent: architect
56
+ task: "Review implementation approach and patterns. Send observations via SendMessage as Dev works."
57
+
58
+ - name: review
59
+ agent: reviewer
60
+ input: [implementation, passing_tests]
61
+ output: [approval]
62
+ gate:
63
+ file: gates/approval
64
+ type: approval
65
+ condition: Code review approved, no blocking issues
66
+ team:
67
+ teammates:
68
+ - agent: architect
69
+ task: "Validate architectural patterns and coupling. Flag concerns via SendMessage."
70
+
71
+ - name: finish
72
+ agent: sm
73
+ input: [approval]
74
+ output: [archived_session, story_summary]
75
+
76
+ triggers:
77
+ tags: [team, tdd-team]
78
+ points:
79
+ min: 5
80
+ default: false
@@ -14,4 +14,4 @@ Modules:
14
14
  swebench: SWE-bench patch parsing and scenario utilities
15
15
  """
16
16
 
17
- __version__ = "7.6.1"
17
+ __version__ = "8.1.0"
@@ -34,7 +34,7 @@ from pennyfarthing_scripts.bc.focus import (
34
34
  def _get_current_layout() -> dict | None:
35
35
  """Fetch the current layout from a running Cyclist or BikeRack server.
36
36
 
37
- Reads .wheelhub-port (shared by both Cyclist and BikeRack) and fetches
37
+ Reads .bikerack-port (shared by both Cyclist and BikeRack) and fetches
38
38
  the layout endpoint.
39
39
 
40
40
  Returns:
@@ -45,7 +45,7 @@ def _get_current_layout() -> dict | None:
45
45
  root = _get_root()
46
46
 
47
47
  candidates = [
48
- (root / ".wheelhub-port", "/api/settings/bikerack-layout"),
48
+ (root / ".bikerack-port", "/api/settings/bikerack-layout"),
49
49
  ]
50
50
 
51
51
  for port_file, endpoint in candidates:
@@ -7,11 +7,8 @@ This file will be removed in a future version.
7
7
  # Re-export public API from new location for existing tests/imports
8
8
  from pennyfarthing_scripts.hooks.bell_mode import ( # noqa: F401
9
9
  _check_tandem_files as check_tandem_files,
10
- _get_latest_observation as get_latest_observation,
11
- _get_tandem_mtime as get_tandem_mtime,
12
- _read_bell_queue as read_bell_queue,
13
- _read_tandem_observations as read_tandem_observations,
14
- _save_tandem_mtime as save_tandem_mtime,
10
+ )
11
+ from pennyfarthing_scripts.hooks.bell_mode import (
15
12
  main,
16
13
  )
17
14