@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
@@ -9,7 +9,7 @@ Uncategorized utilities and one-off scripts.
9
9
  | `deploy.sh` | Deployment script |
10
10
  | `doctor-dogfood.sh` | Health check for framework/orchestrator development setup |
11
11
  | `run-ci.sh` | Run CI locally |
12
- | `pf hooks statusline` | Status line configuration |
12
+ | `pf.sh hooks statusline` | Status line configuration |
13
13
  | `uninstall.sh` | Uninstall Pennyfarthing from project |
14
14
  | `backlog.sh` | Backlog operations |
15
15
  | `repo-utils.sh` | Multi-repo utilities |
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env bash
2
- # DEPRECATED: This script is a shim. Logic has moved to Python.
3
- # Use: pf hooks statusline
4
- exec pf hooks statusline
2
+ # Shim: delegates to Python CLI via uv run no global pf install needed.
3
+ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/../lib/run-pf.sh"
4
+ exec_pf hooks statusline
@@ -1,35 +1,35 @@
1
1
  # Sprint Scripts
2
2
 
3
- Sprint management is handled by the Python CLI: `pf sprint [COMMAND]`.
3
+ Sprint management is handled by the Python CLI: `pf.sh sprint [COMMAND]`.
4
4
 
5
5
  ## Commands
6
6
 
7
7
  | Command | Purpose |
8
8
  |---------|---------|
9
- | `pf sprint status` | Show current sprint status and metrics |
10
- | `pf sprint backlog` | List available stories grouped by epic |
11
- | `pf sprint info` | Sprint info as JSON (for Cyclist sidebar) |
12
- | `pf sprint metrics` | Sprint velocity and progress metrics |
13
- | `pf sprint check <id>` | Check story/epic availability (JSON) |
14
- | `pf sprint future` | Show future initiatives and epics |
15
- | `pf sprint new` | Initialize a new sprint |
16
- | `pf sprint validate <file>` | Validate sprint YAML structure |
17
- | `pf sprint archive <id>` | Archive a completed story |
18
- | `pf sprint work <id>` | Start work on a story |
19
- | `pf sprint story field <id> <field>` | Get a story field value |
20
- | `pf sprint epic field <id> <field>` | Get an epic field value |
21
- | `pf sprint epic promote <id>` | Move epic from future to current sprint |
22
- | `pf sprint epic show <id>` | Show epic details |
23
- | `pf sprint epic cancel <id>` | Cancel an epic |
24
- | `pf sprint epic archive` | Archive completed epics |
9
+ | `pf.sh sprint status` | Show current sprint status and metrics |
10
+ | `pf.sh sprint backlog` | List available stories grouped by epic |
11
+ | `pf.sh sprint info` | Sprint info as JSON (for Cyclist sidebar) |
12
+ | `pf.sh sprint metrics` | Sprint velocity and progress metrics |
13
+ | `pf.sh sprint check <id>` | Check story/epic availability (JSON) |
14
+ | `pf.sh sprint future` | Show future initiatives and epics |
15
+ | `pf.sh sprint new` | Initialize a new sprint |
16
+ | `pf.sh sprint validate <file>` | Validate sprint YAML structure |
17
+ | `pf.sh sprint archive <id>` | Archive a completed story |
18
+ | `pf.sh sprint work <id>` | Start work on a story |
19
+ | `pf.sh sprint story field <id> <field>` | Get a story field value |
20
+ | `pf.sh sprint epic field <id> <field>` | Get an epic field value |
21
+ | `pf.sh sprint epic promote <id>` | Move epic from future to current sprint |
22
+ | `pf.sh sprint epic show <id>` | Show epic details |
23
+ | `pf.sh sprint epic cancel <id>` | Cancel an epic |
24
+ | `pf.sh sprint epic archive` | Archive completed epics |
25
25
 
26
26
  ## Usage
27
27
 
28
28
  ```bash
29
- pf sprint status
30
- pf sprint backlog
31
- pf sprint future epic-55
32
- pf sprint epic promote epic-41
29
+ pf.sh sprint status
30
+ pf.sh sprint backlog
31
+ pf.sh sprint future epic-55
32
+ pf.sh sprint epic promote epic-41
33
33
  ```
34
34
 
35
35
  ## Ownership
@@ -6,7 +6,7 @@ Scripts for workflow mechanics, phase transitions, and quality gates.
6
6
 
7
7
  | Script | Purpose |
8
8
  |--------|---------|
9
- | `finish-story.sh` | **DEPRECATED** — forwards to `pf sprint story finish` |
9
+ | `finish-story.sh` | **DEPRECATED** — forwards to `pf.sh sprint story finish` |
10
10
  | `fix-session-phase.sh` | Repair session file phase state |
11
11
  | `check.sh` | Quality gates runner (lint, type check, tests) |
12
12
  | `list-workflows.sh` | List available workflows |
@@ -18,7 +18,7 @@ Scripts for workflow mechanics, phase transitions, and quality gates.
18
18
  ## Usage
19
19
 
20
20
  ```bash
21
- pf sprint story finish MSSCI-12345
21
+ pf.sh sprint story finish MSSCI-12345
22
22
  .pennyfarthing/scripts/workflow/start-workflow.sh prd --mode create
23
23
  ```
24
24
 
@@ -1,20 +1,6 @@
1
1
  #!/bin/bash
2
2
  # DEPRECATED: Use `pf sprint story finish` instead.
3
- #
4
- # This shell script had a bug where yq paths targeted .epics[].stories[]
5
- # but the sprint YAML uses sharded epic files with .stories[] at root.
6
- # The Python implementation (pennyfarthing_scripts.sprint.story_finish)
7
- # correctly handles sharded YAML via read_sprint/write_sprint.
8
- #
9
- # Usage: finish-story.sh <story-id> [--dry-run]
10
-
11
3
  set -euo pipefail
12
-
13
4
  echo "DEPRECATED: finish-story.sh is deprecated. Forwarding to 'pf sprint story finish'." >&2
14
-
15
- ARGS=()
16
- for arg in "$@"; do
17
- ARGS+=("$arg")
18
- done
19
-
20
- exec pf sprint story finish "${ARGS[@]}"
5
+ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/../lib/run-pf.sh"
6
+ exec_pf sprint story finish "$@"
@@ -1,5 +1,5 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  # DEPRECATED: Use `pf workflow fix-phase` instead.
3
- # This shim forwards to the Python CLI for backward compatibility.
4
3
  echo "Warning: fix-session-phase.sh is deprecated. Use: pf workflow fix-phase $*" >&2
5
- exec pf workflow fix-phase "$@"
4
+ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/../lib/run-pf.sh"
5
+ exec_pf workflow fix-phase "$@"
@@ -1,5 +1,5 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  # DEPRECATED: Use `pf workflow type` instead.
3
- # This shim forwards to the Python CLI for backward compatibility.
4
3
  echo "Warning: get-workflow-type.sh is deprecated. Use: pf workflow type $*" >&2
5
- exec pf workflow type "$@"
4
+ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/../lib/run-pf.sh"
5
+ exec_pf workflow type "$@"
@@ -1,5 +1,5 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  # DEPRECATED: Use `pf workflow list` instead.
3
- # This shim forwards to the Python CLI for backward compatibility.
4
3
  echo "Warning: list-workflows.sh is deprecated. Use: pf workflow list" >&2
5
- exec pf workflow list "$@"
4
+ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/../lib/run-pf.sh"
5
+ exec_pf workflow list "$@"
@@ -1,5 +1,5 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  # DEPRECATED: Use `pf workflow phase-check` instead.
3
- # This shim forwards to the Python CLI for backward compatibility.
4
3
  echo "Warning: phase-owner.sh is deprecated. Use: pf workflow phase-check $*" >&2
5
- exec pf workflow phase-check "$@"
4
+ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/../lib/run-pf.sh"
5
+ exec_pf workflow phase-check "$@"
@@ -1,5 +1,5 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  # DEPRECATED: Use `pf workflow resume` instead.
3
- # This shim forwards to the Python CLI for backward compatibility.
4
3
  echo "Warning: resume-workflow.sh is deprecated. Use: pf workflow resume $*" >&2
5
- exec pf workflow resume "$@"
4
+ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/../lib/run-pf.sh"
5
+ exec_pf workflow resume "$@"
@@ -1,5 +1,5 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  # DEPRECATED: Use `pf workflow show` instead.
3
- # This shim forwards to the Python CLI for backward compatibility.
4
3
  echo "Warning: show-workflow.sh is deprecated. Use: pf workflow show $*" >&2
5
- exec pf workflow show "$@"
4
+ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/../lib/run-pf.sh"
5
+ exec_pf workflow show "$@"
@@ -1,5 +1,5 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  # DEPRECATED: Use `pf workflow start` instead.
3
- # This shim forwards to the Python CLI for backward compatibility.
4
3
  echo "Warning: start-workflow.sh is deprecated. Use: pf workflow start $*" >&2
5
- exec pf workflow start "$@"
4
+ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/../lib/run-pf.sh"
5
+ exec_pf workflow start "$@"
@@ -1,5 +1,5 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
  # DEPRECATED: Use `pf workflow status` instead.
3
- # This shim forwards to the Python CLI for backward compatibility.
4
3
  echo "Warning: workflow-status.sh is deprecated. Use: pf workflow status $*" >&2
5
- exec pf workflow status "$@"
4
+ source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)/../lib/run-pf.sh"
5
+ exec_pf workflow status "$@"
@@ -4,80 +4,80 @@
4
4
 
5
5
  ```bash
6
6
  # Focus on Sprint panel
7
- pf bc sprint
7
+ pf.sh bc sprint
8
8
 
9
9
  # Focus on Diffs panel
10
- pf bc diffs
10
+ pf.sh bc diffs
11
11
 
12
12
  # Focus on Acceptance Criteria
13
- pf bc ac
13
+ pf.sh bc ac
14
14
 
15
15
  # Focus on Git panel
16
- pf bc git
16
+ pf.sh bc git
17
17
 
18
18
  # Preview without changing
19
- pf bc sprint --dry-run
19
+ pf.sh bc sprint --dry-run
20
20
  ```
21
21
 
22
22
  ## Clearing Focus
23
23
 
24
24
  ```bash
25
25
  # Remove focus setting
26
- pf bc reset
26
+ pf.sh bc reset
27
27
 
28
28
  # Preview
29
- pf bc reset --dry-run
29
+ pf.sh bc reset --dry-run
30
30
  ```
31
31
 
32
32
  ## Named Layouts
33
33
 
34
34
  ```bash
35
35
  # Save current layout as "normal"
36
- pf bc save normal
36
+ pf.sh bc save normal
37
37
 
38
38
  # Save current layout as "review"
39
- pf bc save review
39
+ pf.sh bc save review
40
40
 
41
41
  # Save current layout as "debug"
42
- pf bc save debug
42
+ pf.sh bc save debug
43
43
 
44
44
  # List all saved layouts
45
- pf bc list
45
+ pf.sh bc list
46
46
 
47
47
  # Switch to review layout
48
- pf bc load review
48
+ pf.sh bc load review
49
49
 
50
50
  # Switch back to normal
51
- pf bc load normal
51
+ pf.sh bc load normal
52
52
 
53
53
  # Delete a specific layout
54
- pf bc clear review
54
+ pf.sh bc clear review
55
55
 
56
56
  # Delete all layouts
57
- pf bc clear-all
57
+ pf.sh bc clear-all
58
58
  ```
59
59
 
60
60
  ## Common Workflows
61
61
 
62
62
  ### During code review
63
63
  ```bash
64
- pf bc save normal # Save current layout first
65
- pf bc diffs # Focus on diffs
64
+ pf.sh bc save normal # Save current layout first
65
+ pf.sh bc diffs # Focus on diffs
66
66
  # ... do review ...
67
- pf bc load normal # Restore normal layout
67
+ pf.sh bc load normal # Restore normal layout
68
68
  ```
69
69
 
70
70
  ### Debugging session
71
71
  ```bash
72
- pf bc save normal
73
- pf bc debug # Focus debug panel
72
+ pf.sh bc save normal
73
+ pf.sh bc debug # Focus debug panel
74
74
  # ... debug ...
75
- pf bc reset # Clear focus
75
+ pf.sh bc reset # Clear focus
76
76
  ```
77
77
 
78
78
  ### Sprint planning
79
79
  ```bash
80
- pf bc sprint # Focus sprint panel
80
+ pf.sh bc sprint # Focus sprint panel
81
81
  # ... review backlog ...
82
- pf bc reset
82
+ pf.sh bc reset
83
83
  ```
@@ -16,28 +16,28 @@ Set or clear the focused panel in Cyclist/BikeRack. Save and restore named layou
16
16
 
17
17
  | Command | CLI | Purpose |
18
18
  |---------|-----|---------|
19
- | `/bc sprint` | `pf bc sprint [--dry-run]` | Focus Sprint panel |
20
- | `/bc git` | `pf bc git [--dry-run]` | Focus Git panel |
21
- | `/bc diffs` | `pf bc diffs [--dry-run]` | Focus Diffs panel |
22
- | `/bc todo` | `pf bc todo [--dry-run]` | Focus Todo panel |
23
- | `/bc workflow` | `pf bc workflow [--dry-run]` | Focus Workflow panel |
24
- | `/bc background` | `pf bc background [--dry-run]` | Focus Background panel |
25
- | `/bc audit-log` | `pf bc audit-log [--dry-run]` | Focus Audit Log panel |
26
- | `/bc changed` | `pf bc changed [--dry-run]` | Focus Changed panel |
27
- | `/bc ac` | `pf bc ac [--dry-run]` | Focus Acceptance Criteria panel |
28
- | `/bc debug` | `pf bc debug [--dry-run]` | Focus Debug panel |
29
- | `/bc settings` | `pf bc settings [--dry-run]` | Focus Settings panel |
30
- | `/bc reset` | `pf bc reset [--dry-run]` | Clear focus setting |
19
+ | `/bc sprint` | `pf.sh bc sprint [--dry-run]` | Focus Sprint panel |
20
+ | `/bc git` | `pf.sh bc git [--dry-run]` | Focus Git panel |
21
+ | `/bc diffs` | `pf.sh bc diffs [--dry-run]` | Focus Diffs panel |
22
+ | `/bc todo` | `pf.sh bc todo [--dry-run]` | Focus Todo panel |
23
+ | `/bc workflow` | `pf.sh bc workflow [--dry-run]` | Focus Workflow panel |
24
+ | `/bc background` | `pf.sh bc background [--dry-run]` | Focus Background panel |
25
+ | `/bc audit-log` | `pf.sh bc audit-log [--dry-run]` | Focus Audit Log panel |
26
+ | `/bc changed` | `pf.sh bc changed [--dry-run]` | Focus Changed panel |
27
+ | `/bc ac` | `pf.sh bc ac [--dry-run]` | Focus Acceptance Criteria panel |
28
+ | `/bc debug` | `pf.sh bc debug [--dry-run]` | Focus Debug panel |
29
+ | `/bc settings` | `pf.sh bc settings [--dry-run]` | Focus Settings panel |
30
+ | `/bc reset` | `pf.sh bc reset [--dry-run]` | Clear focus setting |
31
31
 
32
32
  ### Named Layouts
33
33
 
34
34
  | Command | CLI | Purpose |
35
35
  |---------|-----|---------|
36
- | `/bc save <name>` | `pf bc save <name> [--dry-run]` | Save current layout from running server |
37
- | `/bc load <name>` | `pf bc load <name> [--dry-run]` | Load a saved layout |
38
- | `/bc list` | `pf bc list` | List all saved layouts |
39
- | `/bc clear <name>` | `pf bc clear <name> [--dry-run]` | Delete a saved layout |
40
- | `/bc clear-all` | `pf bc clear-all [--dry-run]` | Delete all saved layouts |
36
+ | `/bc save <name>` | `pf.sh bc save <name> [--dry-run]` | Save current layout from running server |
37
+ | `/bc load <name>` | `pf.sh bc load <name> [--dry-run]` | Load a saved layout |
38
+ | `/bc list` | `pf.sh bc list` | List all saved layouts |
39
+ | `/bc clear <name>` | `pf.sh bc clear <name> [--dry-run]` | Delete a saved layout |
40
+ | `/bc clear-all` | `pf.sh bc clear-all [--dry-run]` | Delete all saved layouts |
41
41
 
42
42
  ### Notes
43
43
 
@@ -5,7 +5,7 @@
5
5
  ### Set Focus
6
6
 
7
7
  ```bash
8
- pf bc <panel> [--dry-run]
8
+ pf.sh bc <panel> [--dry-run]
9
9
  ```
10
10
 
11
11
  | Arg/Option | Required | Description |
@@ -37,7 +37,7 @@ Output on error: `{"success": false, "error": "Invalid panel..."}`
37
37
  ### Clear Focus
38
38
 
39
39
  ```bash
40
- pf bc reset [--dry-run]
40
+ pf.sh bc reset [--dry-run]
41
41
  ```
42
42
 
43
43
  Removes the `focus` key from `.pennyfarthing/config.local.yaml`.
@@ -49,7 +49,7 @@ Removes the `focus` key from `.pennyfarthing/config.local.yaml`.
49
49
  ### Save Layout
50
50
 
51
51
  ```bash
52
- pf bc save <NAME> [--dry-run]
52
+ pf.sh bc save <NAME> [--dry-run]
53
53
  ```
54
54
 
55
55
  | Arg/Option | Required | Description |
@@ -57,14 +57,14 @@ pf bc save <NAME> [--dry-run]
57
57
  | `NAME` | Yes | Layout name to save as |
58
58
  | `--dry-run` | No | Preview without making changes |
59
59
 
60
- Fetches the active layout from the running Cyclist/BikeRack server (reads `.wheelhub-port`). Fails if no server is running.
60
+ Fetches the active layout from the running Cyclist/BikeRack server (reads `.bikerack-port`). Fails if no server is running.
61
61
 
62
62
  Output: `{"success": true, "name": "<name>", "panels": <count>}`
63
63
 
64
64
  ### Load Layout
65
65
 
66
66
  ```bash
67
- pf bc load <NAME> [--dry-run]
67
+ pf.sh bc load <NAME> [--dry-run]
68
68
  ```
69
69
 
70
70
  | Arg/Option | Required | Description |
@@ -77,7 +77,7 @@ Output: `{"success": true, "name": "<name>", "layout": {...}}`
77
77
  ### List Layouts
78
78
 
79
79
  ```bash
80
- pf bc list
80
+ pf.sh bc list
81
81
  ```
82
82
 
83
83
  No arguments. Output: `{"success": true, "layouts": ["normal", "review", ...]}`
@@ -85,7 +85,7 @@ No arguments. Output: `{"success": true, "layouts": ["normal", "review", ...]}`
85
85
  ### Delete Layout
86
86
 
87
87
  ```bash
88
- pf bc clear <NAME> [--dry-run]
88
+ pf.sh bc clear <NAME> [--dry-run]
89
89
  ```
90
90
 
91
91
  | Arg/Option | Required | Description |
@@ -96,7 +96,7 @@ pf bc clear <NAME> [--dry-run]
96
96
  ### Delete All Layouts
97
97
 
98
98
  ```bash
99
- pf bc clear-all [--dry-run]
99
+ pf.sh bc clear-all [--dry-run]
100
100
  ```
101
101
 
102
102
  | Option | Description |
@@ -11,7 +11,7 @@ Never fabricate or guess Jira IDs. Valid keys follow `MSSCI-XXXXX`. Old-style ID
11
11
  </critical>
12
12
 
13
13
  <run>
14
- pf jira <command> [args]
14
+ pf.sh jira <command> [args]
15
15
  </run>
16
16
 
17
17
  <output>
@@ -22,20 +22,20 @@ Command-specific output. Most commands print status messages. Use `--dry-run` on
22
22
 
23
23
  | Command | CLI | Purpose |
24
24
  |---------|-----|---------|
25
- | `/pf-jira view <key>` | `pf jira view <key>` | View issue details |
26
- | `/pf-jira check <key>` | `pf jira check <key>` | Check availability |
27
- | `/pf-jira claim <key>` | `pf jira claim <key> [--dry-run]` | Assign to self + In Progress |
28
- | `/pf-jira move <key> <status>` | `pf jira move <key> "<status>" [--dry-run]` | Transition status |
29
- | `/pf-jira assign <key> <user>` | `pf jira assign <key> <user> [--dry-run]` | Assign to user |
30
- | `/pf-jira link <p> <c> [type]` | `pf jira link <parent> <child> [type] [--dry-run]` | Link two issues |
31
- | `/pf-jira search "<jql>"` | `pf jira search "<jql>"` | Search by JQL |
32
- | `/pf-jira create epic <id>` | `pf jira create epic <id> [--dry-run]` | Create epic + stories |
33
- | `/pf-jira create story <ek> <sid>` | `pf jira create story <epic-key> <story-id> [--dry-run]` | Create single story |
34
- | `/pf-jira create standalone` | `pf jira create standalone "<title>" [opts]` | Create standalone story |
35
- | `/pf-jira sync <epic>` | `pf jira sync <epic> [--transition] [--points] [--all] [--dry-run]` | Sync epic to Jira |
36
- | `/pf-jira bidirectional` | `pf jira bidirectional [opts]` | Bidirectional sync |
37
- | `/pf-jira reconcile` | `pf jira reconcile [--fix]` | Reconciliation report |
38
- | `/pf-jira sprint add <sid> <key>` | `pf jira sprint add <sprint-id> <issue-key> [--dry-run]` | Add issue to sprint |
25
+ | `/pf-jira view <key>` | `pf.sh jira view <key>` | View issue details |
26
+ | `/pf-jira check <key>` | `pf.sh jira check <key>` | Check availability |
27
+ | `/pf-jira claim <key>` | `pf.sh jira claim <key> [--dry-run]` | Assign to self + In Progress |
28
+ | `/pf-jira move <key> <status>` | `pf.sh jira move <key> "<status>" [--dry-run]` | Transition status |
29
+ | `/pf-jira assign <key> <user>` | `pf.sh jira assign <key> <user> [--dry-run]` | Assign to user |
30
+ | `/pf-jira link <p> <c> [type]` | `pf.sh jira link <parent> <child> [type] [--dry-run]` | Link two issues |
31
+ | `/pf-jira search "<jql>"` | `pf.sh jira search "<jql>"` | Search by JQL |
32
+ | `/pf-jira create epic <id>` | `pf.sh jira create epic <id> [--dry-run]` | Create epic + stories |
33
+ | `/pf-jira create story <ek> <sid>` | `pf.sh jira create story <epic-key> <story-id> [--dry-run]` | Create single story |
34
+ | `/pf-jira create standalone` | `pf.sh jira create standalone "<title>" [opts]` | Create standalone story |
35
+ | `/pf-jira sync <epic>` | `pf.sh jira sync <epic> [--transition] [--points] [--all] [--dry-run]` | Sync epic to Jira |
36
+ | `/pf-jira bidirectional` | `pf.sh jira bidirectional [opts]` | Bidirectional sync |
37
+ | `/pf-jira reconcile` | `pf.sh jira reconcile [--fix]` | Reconciliation report |
38
+ | `/pf-jira sprint add <sid> <key>` | `pf.sh jira sprint add <sprint-id> <issue-key> [--dry-run]` | Add issue to sprint |
39
39
 
40
40
  ### GitHub to Jira User Mapping
41
41