@pennyfarthing/core 11.0.0-alpha.0 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/README.md +84 -26
  2. package/package.json +14 -16
  3. package/packages/core/dist/cli/cyclist-migration.test.js +2 -1
  4. package/packages/core/dist/cli/cyclist-migration.test.js.map +1 -1
  5. package/packages/core/dist/cli/ocean-profiles.test.js +5 -4
  6. package/packages/core/dist/cli/ocean-profiles.test.js.map +1 -1
  7. package/packages/core/dist/cli/theme-maker.test.js +5 -4
  8. package/packages/core/dist/cli/theme-maker.test.js.map +1 -1
  9. package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.d.ts +20 -0
  10. package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.d.ts.map +1 -0
  11. package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.js +278 -0
  12. package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.js.map +1 -0
  13. package/packages/core/dist/cli/utils/constants.d.ts +7 -1
  14. package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
  15. package/packages/core/dist/cli/utils/constants.js +2 -0
  16. package/packages/core/dist/cli/utils/constants.js.map +1 -1
  17. package/packages/core/dist/cli/utils/constants.test.d.ts +10 -0
  18. package/packages/core/dist/cli/utils/constants.test.d.ts.map +1 -0
  19. package/packages/core/dist/cli/utils/constants.test.js +38 -0
  20. package/packages/core/dist/cli/utils/constants.test.js.map +1 -0
  21. package/packages/core/dist/consultation/consultation-protocol.d.ts +139 -0
  22. package/packages/core/dist/consultation/consultation-protocol.d.ts.map +1 -0
  23. package/packages/core/dist/consultation/consultation-protocol.js +178 -0
  24. package/packages/core/dist/consultation/consultation-protocol.js.map +1 -0
  25. package/packages/core/dist/consultation/consultation-protocol.test.d.ts +20 -0
  26. package/packages/core/dist/consultation/consultation-protocol.test.d.ts.map +1 -0
  27. package/packages/core/dist/consultation/consultation-protocol.test.js +474 -0
  28. package/packages/core/dist/consultation/consultation-protocol.test.js.map +1 -0
  29. package/packages/core/dist/public/js/react/react.js +30 -30
  30. package/packages/core/dist/scripts/generate-report.test.js +2 -2
  31. package/packages/core/dist/scripts/generate-spider-report.test.js +2 -2
  32. package/packages/core/dist/scripts/generate-spider.test.js +2 -1
  33. package/packages/core/dist/scripts/generate-spider.test.js.map +1 -1
  34. package/packages/core/dist/server/api/file-browser.d.ts.map +1 -1
  35. package/packages/core/dist/server/api/file-browser.js +19 -1
  36. package/packages/core/dist/server/api/file-browser.js.map +1 -1
  37. package/packages/core/dist/server/api/git-fetch-cooldown.test.d.ts +10 -0
  38. package/packages/core/dist/server/api/git-fetch-cooldown.test.d.ts.map +1 -0
  39. package/packages/core/dist/server/api/git-fetch-cooldown.test.js +30 -0
  40. package/packages/core/dist/server/api/git-fetch-cooldown.test.js.map +1 -0
  41. package/packages/core/dist/server/api/git.d.ts +8 -0
  42. package/packages/core/dist/server/api/git.d.ts.map +1 -1
  43. package/packages/core/dist/server/api/git.js +37 -10
  44. package/packages/core/dist/server/api/git.js.map +1 -1
  45. package/packages/core/dist/server/api/health-score.d.ts.map +1 -1
  46. package/packages/core/dist/server/api/health-score.js +25 -1
  47. package/packages/core/dist/server/api/health-score.js.map +1 -1
  48. package/packages/core/dist/server/api/index.d.ts +1 -1
  49. package/packages/core/dist/server/api/index.d.ts.map +1 -1
  50. package/packages/core/dist/server/api/index.js +1 -1
  51. package/packages/core/dist/server/api/index.js.map +1 -1
  52. package/packages/core/dist/server/api/settings.d.ts.map +1 -1
  53. package/packages/core/dist/server/api/settings.js +73 -2
  54. package/packages/core/dist/server/api/settings.js.map +1 -1
  55. package/packages/core/dist/server/api/theme-agents.d.ts.map +1 -1
  56. package/packages/core/dist/server/api/theme-agents.js +61 -0
  57. package/packages/core/dist/server/api/theme-agents.js.map +1 -1
  58. package/packages/core/dist/server/otlp-receiver.d.ts +35 -13
  59. package/packages/core/dist/server/otlp-receiver.d.ts.map +1 -1
  60. package/packages/core/dist/server/otlp-receiver.js +76 -16
  61. package/packages/core/dist/server/otlp-receiver.js.map +1 -1
  62. package/packages/core/dist/server/paths.d.ts.map +1 -1
  63. package/packages/core/dist/server/paths.js +11 -1
  64. package/packages/core/dist/server/paths.js.map +1 -1
  65. package/packages/core/dist/server/server.d.ts +3 -1
  66. package/packages/core/dist/server/server.d.ts.map +1 -1
  67. package/packages/core/dist/server/server.js +23 -16
  68. package/packages/core/dist/server/server.js.map +1 -1
  69. package/packages/core/dist/server/server.test.js.map +1 -1
  70. package/packages/core/dist/workflow/gate-file-validation.d.ts +49 -0
  71. package/packages/core/dist/workflow/gate-file-validation.d.ts.map +1 -0
  72. package/packages/core/dist/workflow/gate-file-validation.js +157 -0
  73. package/packages/core/dist/workflow/gate-file-validation.js.map +1 -0
  74. package/packages/core/dist/workflow/gate-file-validation.test.d.ts +19 -0
  75. package/packages/core/dist/workflow/gate-file-validation.test.d.ts.map +1 -0
  76. package/packages/core/dist/workflow/gate-file-validation.test.js +536 -0
  77. package/packages/core/dist/workflow/gate-file-validation.test.js.map +1 -0
  78. package/packages/core/dist/workflow/gate-schema-validation.test.d.ts +14 -0
  79. package/packages/core/dist/workflow/gate-schema-validation.test.d.ts.map +1 -0
  80. package/packages/core/dist/workflow/gate-schema-validation.test.js +339 -0
  81. package/packages/core/dist/workflow/gate-schema-validation.test.js.map +1 -0
  82. package/packages/core/dist/workflow/handoff.js +2 -2
  83. package/packages/core/dist/workflow/handoff.js.map +1 -1
  84. package/packages/core/dist/workflow/handoff.test.js +16 -0
  85. package/packages/core/dist/workflow/handoff.test.js.map +1 -1
  86. package/packages/core/dist/workflow/variable-resolver.test.js +1 -1
  87. package/packages/core/dist/workflow/variable-resolver.test.js.map +1 -1
  88. package/packages/core/dist/workflow/workflow-migration.test.js +4 -3
  89. package/packages/core/dist/workflow/workflow-migration.test.js.map +1 -1
  90. package/packages/core/dist/workflow/workflow-schema.d.ts +4 -2
  91. package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -1
  92. package/packages/core/dist/workflow/workflow-schema.js +43 -8
  93. package/packages/core/dist/workflow/workflow-schema.js.map +1 -1
  94. package/pennyfarthing-dist/agents/README.md +6 -14
  95. package/pennyfarthing-dist/agents/architect.md +43 -30
  96. package/pennyfarthing-dist/agents/ba.md +30 -29
  97. package/pennyfarthing-dist/agents/dev.md +76 -41
  98. package/pennyfarthing-dist/agents/devops.md +57 -21
  99. package/pennyfarthing-dist/agents/orchestrator.md +3 -11
  100. package/pennyfarthing-dist/agents/pm.md +45 -31
  101. package/pennyfarthing-dist/agents/reviewer.md +20 -66
  102. package/pennyfarthing-dist/agents/sm-setup.md +2 -2
  103. package/pennyfarthing-dist/agents/sm.md +8 -30
  104. package/pennyfarthing-dist/agents/tea.md +25 -41
  105. package/pennyfarthing-dist/agents/tech-writer.md +33 -90
  106. package/pennyfarthing-dist/agents/ux-designer.md +39 -40
  107. package/pennyfarthing-dist/commands/benchmark-control.md +8 -64
  108. package/pennyfarthing-dist/commands/benchmark.md +8 -480
  109. package/pennyfarthing-dist/commands/job-fair.md +8 -97
  110. package/pennyfarthing-dist/commands/pf-benchmark-control.md +70 -0
  111. package/pennyfarthing-dist/commands/pf-benchmark.md +486 -0
  112. package/pennyfarthing-dist/commands/pf-chore.md +4 -4
  113. package/pennyfarthing-dist/commands/pf-ci.md +40 -0
  114. package/pennyfarthing-dist/commands/pf-close-epic.md +9 -27
  115. package/pennyfarthing-dist/commands/pf-continue-session.md +9 -213
  116. package/pennyfarthing-dist/commands/pf-create-branches-from-story.md +11 -353
  117. package/pennyfarthing-dist/commands/pf-docs.md +28 -0
  118. package/pennyfarthing-dist/commands/pf-epic.md +67 -0
  119. package/pennyfarthing-dist/commands/pf-git-cleanup.md +11 -52
  120. package/pennyfarthing-dist/commands/pf-git.md +75 -0
  121. package/pennyfarthing-dist/commands/pf-help.md +110 -128
  122. package/pennyfarthing-dist/commands/pf-job-fair.md +102 -0
  123. package/pennyfarthing-dist/commands/pf-new-work.md +9 -18
  124. package/pennyfarthing-dist/commands/pf-parallel-work.md +6 -66
  125. package/pennyfarthing-dist/commands/pf-release.md +11 -76
  126. package/pennyfarthing-dist/commands/pf-repo-status.md +11 -44
  127. package/pennyfarthing-dist/commands/pf-run-ci.md +8 -111
  128. package/pennyfarthing-dist/commands/pf-session.md +51 -0
  129. package/pennyfarthing-dist/commands/pf-solo.md +447 -0
  130. package/pennyfarthing-dist/commands/pf-sprint-planning.md +8 -104
  131. package/pennyfarthing-dist/commands/pf-standalone.md +1 -1
  132. package/pennyfarthing-dist/commands/pf-start-epic.md +9 -163
  133. package/pennyfarthing-dist/commands/pf-sync-epic-to-jira.md +8 -179
  134. package/pennyfarthing-dist/commands/pf-sync-work-with-sprint.md +8 -368
  135. package/pennyfarthing-dist/commands/pf-update-domain-docs.md +8 -78
  136. package/pennyfarthing-dist/commands/solo.md +8 -442
  137. package/pennyfarthing-dist/guides/agent-behavior.md +14 -14
  138. package/pennyfarthing-dist/guides/agent-coordination.md +7 -7
  139. package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +6 -6
  140. package/pennyfarthing-dist/guides/bikerack.md +128 -0
  141. package/pennyfarthing-dist/guides/brownfield-tools.md +133 -0
  142. package/pennyfarthing-dist/guides/command-tag-taxonomy.md +2 -2
  143. package/pennyfarthing-dist/guides/gate-schema.md +227 -0
  144. package/pennyfarthing-dist/guides/gates.md +120 -0
  145. package/pennyfarthing-dist/guides/handoff-cli.md +116 -0
  146. package/pennyfarthing-dist/guides/hooks.md +86 -4
  147. package/pennyfarthing-dist/guides/output-styles.md +65 -0
  148. package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +5 -5
  149. package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +4 -4
  150. package/pennyfarthing-dist/guides/prompt-patterns.md +5 -5
  151. package/pennyfarthing-dist/guides/reflector.md +4 -4
  152. package/pennyfarthing-dist/guides/session-artifacts.md +1 -1
  153. package/pennyfarthing-dist/guides/skill-schema.md +1 -1
  154. package/pennyfarthing-dist/guides/tandem-protocol.md +13 -1
  155. package/pennyfarthing-dist/guides/worktree-mode.md +3 -3
  156. package/pennyfarthing-dist/guides/xml-tags.md +5 -4
  157. package/pennyfarthing-dist/personas/themes/hogans-heroes.yaml +11 -22
  158. package/pennyfarthing-dist/personas/themes/stephen-king.yaml +13 -24
  159. package/pennyfarthing-dist/scripts/core/agent-session.sh +0 -0
  160. package/pennyfarthing-dist/scripts/core/check-context.sh +0 -0
  161. package/pennyfarthing-dist/scripts/core/phase-check-start.sh +1 -1
  162. package/pennyfarthing-dist/scripts/core/prime.sh +0 -0
  163. package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -0
  164. package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +0 -0
  165. package/pennyfarthing-dist/scripts/git/git-status-all.sh +0 -0
  166. package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +0 -0
  167. package/pennyfarthing-dist/scripts/git/release.sh +0 -0
  168. package/pennyfarthing-dist/scripts/git/worktree-manager.sh +0 -0
  169. package/pennyfarthing-dist/scripts/health/drift-detection.sh +0 -0
  170. package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +0 -0
  171. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -0
  172. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -0
  173. package/pennyfarthing-dist/scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
  174. package/pennyfarthing-dist/scripts/hooks/dispatcher-template.sh +0 -0
  175. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +19 -14
  176. package/pennyfarthing-dist/scripts/hooks/post-merge.sh +0 -0
  177. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -0
  178. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -0
  179. package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -0
  180. package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +0 -0
  181. package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +0 -0
  182. package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +0 -0
  183. package/pennyfarthing-dist/scripts/hooks/session-start.sh +0 -0
  184. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -0
  185. package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +0 -0
  186. package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +0 -0
  187. package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -0
  188. package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -0
  189. package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -0
  190. package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -0
  191. package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -0
  192. package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -0
  193. package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -0
  194. package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -0
  195. package/pennyfarthing-dist/scripts/lib/common.sh +0 -0
  196. package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -0
  197. package/pennyfarthing-dist/scripts/lib/logging.sh +0 -0
  198. package/pennyfarthing-dist/scripts/lib/retry.sh +0 -0
  199. package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +0 -0
  200. package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +0 -0
  201. package/pennyfarthing-dist/scripts/misc/add-short-names.sh +0 -0
  202. package/pennyfarthing-dist/scripts/misc/add_short_names.py +0 -0
  203. package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -0
  204. package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -0
  205. package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -0
  206. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -0
  207. package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -0
  208. package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -0
  209. package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +0 -0
  210. package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -0
  211. package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -0
  212. package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -0
  213. package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -0
  214. package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -0
  215. package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -0
  216. package/pennyfarthing-dist/scripts/misc/statusline.sh +0 -0
  217. package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -0
  218. package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +0 -0
  219. package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +191 -57
  220. package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +26 -10
  221. package/pennyfarthing-dist/scripts/story/create-story.sh +0 -0
  222. package/pennyfarthing-dist/scripts/story/size-story.sh +0 -0
  223. package/pennyfarthing-dist/scripts/story/story-template.sh +0 -0
  224. package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -0
  225. package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -0
  226. package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -0
  227. package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +0 -0
  228. package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -0
  229. package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -0
  230. package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -0
  231. package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -0
  232. package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -0
  233. package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +0 -0
  234. package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -0
  235. package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -0
  236. package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -0
  237. package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -0
  238. package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -0
  239. package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +0 -0
  240. package/pennyfarthing-dist/scripts/workflow/check.py +0 -0
  241. package/pennyfarthing-dist/scripts/workflow/check.sh +0 -0
  242. package/pennyfarthing-dist/scripts/workflow/complete-step.py +0 -0
  243. package/pennyfarthing-dist/scripts/workflow/finish-story.sh +0 -0
  244. package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +0 -0
  245. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +0 -0
  246. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +0 -0
  247. package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +0 -0
  248. package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +0 -0
  249. package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +0 -0
  250. package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +0 -0
  251. package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +0 -0
  252. package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +0 -0
  253. package/pennyfarthing-dist/skills/pf-changelog/SKILL.md +4 -4
  254. package/pennyfarthing-dist/skills/pf-sprint/skill.md +1 -1
  255. package/pennyfarthing-dist/skills/pf-story/scripts/create-story.sh +0 -0
  256. package/pennyfarthing-dist/skills/pf-story/scripts/size-story.sh +0 -0
  257. package/pennyfarthing-dist/skills/pf-story/scripts/story-template.sh +0 -0
  258. package/pennyfarthing-dist/skills/pf-systematic-debugging/SKILL.md +0 -1
  259. package/pennyfarthing-dist/skills/pf-workflow/scripts/list-workflows.sh +0 -0
  260. package/pennyfarthing-dist/skills/pf-workflow/scripts/resume-workflow.sh +0 -0
  261. package/pennyfarthing-dist/skills/pf-workflow/scripts/show-workflow.sh +0 -0
  262. package/pennyfarthing-dist/skills/pf-workflow/scripts/start-workflow.sh +0 -0
  263. package/pennyfarthing-dist/skills/pf-workflow/scripts/workflow-status.sh +0 -0
  264. package/pennyfarthing-dist/skills/skill-registry.schema.json +4 -0
  265. package/pennyfarthing-dist/skills/skill-registry.yaml +8 -21
  266. package/pennyfarthing-dist/workflows/2party-tdd.yaml +11 -0
  267. package/pennyfarthing-dist/workflows/agent-docs.yaml +2 -0
  268. package/pennyfarthing-dist/workflows/bdd-tandem.yaml +4 -0
  269. package/pennyfarthing-dist/workflows/bdd.yaml +4 -0
  270. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +1 -1
  271. package/pennyfarthing-dist/workflows/tdd-tandem.yaml +3 -0
  272. package/pennyfarthing-dist/workflows/tdd.yaml +3 -0
  273. package/pennyfarthing-dist/workflows/trivial.yaml +2 -0
  274. package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
  275. package/pennyfarthing_scripts/__pycache__/context.cpython-314.pyc +0 -0
  276. package/pennyfarthing_scripts/__pycache__/session_start_hook.cpython-314.pyc +0 -0
  277. package/pennyfarthing_scripts/bc/__pycache__/__init__.cpython-314.pyc +0 -0
  278. package/pennyfarthing_scripts/bc/__pycache__/cli.cpython-314.pyc +0 -0
  279. package/pennyfarthing_scripts/bc/__pycache__/focus.cpython-314.pyc +0 -0
  280. package/pennyfarthing_scripts/bikerack/__pycache__/__init__.cpython-314.pyc +0 -0
  281. package/pennyfarthing_scripts/bikerack/__pycache__/background_panel.cpython-314.pyc +0 -0
  282. package/pennyfarthing_scripts/bikerack/__pycache__/base_panel.cpython-314.pyc +0 -0
  283. package/pennyfarthing_scripts/bikerack/__pycache__/changed_panel.cpython-314.pyc +0 -0
  284. package/pennyfarthing_scripts/bikerack/__pycache__/cli.cpython-314.pyc +0 -0
  285. package/pennyfarthing_scripts/bikerack/__pycache__/debug_panel.cpython-314.pyc +0 -0
  286. package/pennyfarthing_scripts/bikerack/__pycache__/diffs_panel.cpython-314.pyc +0 -0
  287. package/pennyfarthing_scripts/bikerack/__pycache__/git_panel.cpython-314.pyc +0 -0
  288. package/pennyfarthing_scripts/bikerack/__pycache__/launcher.cpython-314.pyc +0 -0
  289. package/pennyfarthing_scripts/bikerack/__pycache__/sprint_panel.cpython-314.pyc +0 -0
  290. package/pennyfarthing_scripts/bikerack/__pycache__/tui.cpython-314.pyc +0 -0
  291. package/pennyfarthing_scripts/bikerack/__pycache__/ws_client.cpython-314.pyc +0 -0
  292. package/pennyfarthing_scripts/bikerack/changed_panel.py +105 -0
  293. package/pennyfarthing_scripts/bikerack/debug_panel.py +218 -0
  294. package/pennyfarthing_scripts/bikerack/diffs_panel.py +203 -27
  295. package/pennyfarthing_scripts/cli.py +114 -0
  296. package/pennyfarthing_scripts/epic/__init__.py +0 -0
  297. package/pennyfarthing_scripts/epic/cli.py +64 -0
  298. package/pennyfarthing_scripts/gate/__init__.py +1 -0
  299. package/pennyfarthing_scripts/gate/__pycache__/__init__.cpython-314.pyc +0 -0
  300. package/pennyfarthing_scripts/gate/__pycache__/cli.cpython-314.pyc +0 -0
  301. package/pennyfarthing_scripts/gate/__pycache__/validate.cpython-314.pyc +0 -0
  302. package/pennyfarthing_scripts/gate/cli.py +56 -0
  303. package/pennyfarthing_scripts/gate/validate.py +266 -0
  304. package/pennyfarthing_scripts/git_group/__init__.py +0 -0
  305. package/pennyfarthing_scripts/git_group/cli.py +100 -0
  306. package/pennyfarthing_scripts/handoff/__init__.py +1 -0
  307. package/pennyfarthing_scripts/handoff/__pycache__/__init__.cpython-314.pyc +0 -0
  308. package/pennyfarthing_scripts/handoff/__pycache__/cli.cpython-314.pyc +0 -0
  309. package/pennyfarthing_scripts/handoff/__pycache__/complete_phase.cpython-314.pyc +0 -0
  310. package/pennyfarthing_scripts/handoff/__pycache__/gate_file.cpython-314.pyc +0 -0
  311. package/pennyfarthing_scripts/handoff/__pycache__/gate_runner.cpython-314.pyc +0 -0
  312. package/pennyfarthing_scripts/handoff/__pycache__/marker.cpython-314.pyc +0 -0
  313. package/pennyfarthing_scripts/handoff/__pycache__/resolve_gate.cpython-314.pyc +0 -0
  314. package/pennyfarthing_scripts/handoff/cli.py +120 -0
  315. package/pennyfarthing_scripts/handoff/complete_phase.py +155 -0
  316. package/pennyfarthing_scripts/handoff/gate_file.py +105 -0
  317. package/pennyfarthing_scripts/handoff/gate_runner.py +152 -0
  318. package/pennyfarthing_scripts/handoff/marker.py +109 -0
  319. package/pennyfarthing_scripts/handoff/resolve_gate.py +152 -0
  320. package/pennyfarthing_scripts/healthscore/__pycache__/__main__.cpython-314.pyc +0 -0
  321. package/pennyfarthing_scripts/healthscore/__pycache__/analyze.cpython-314.pyc +0 -0
  322. package/pennyfarthing_scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
  323. package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
  324. package/pennyfarthing_scripts/launch/__pycache__/__init__.cpython-314.pyc +0 -0
  325. package/pennyfarthing_scripts/launch/__pycache__/cli.cpython-314.pyc +0 -0
  326. package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
  327. package/pennyfarthing_scripts/prime/__pycache__/version_sentinel.cpython-314.pyc +0 -0
  328. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  329. package/pennyfarthing_scripts/prime/workflow.py +39 -0
  330. package/pennyfarthing_scripts/session/__init__.py +0 -0
  331. package/pennyfarthing_scripts/session/cli.py +87 -0
  332. package/pennyfarthing_scripts/session_start_hook.py +4 -4
  333. package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
  334. package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
  335. package/pennyfarthing_scripts/sprint/__pycache__/epic_add.cpython-314.pyc +0 -0
  336. package/pennyfarthing_scripts/sprint/__pycache__/epic_update.cpython-314.pyc +0 -0
  337. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  338. package/pennyfarthing_scripts/sprint/__pycache__/story_add.cpython-314.pyc +0 -0
  339. package/pennyfarthing_scripts/sprint/__pycache__/story_finish.cpython-314.pyc +0 -0
  340. package/pennyfarthing_scripts/sprint/__pycache__/story_update.cpython-314.pyc +0 -0
  341. package/pennyfarthing_scripts/sprint/__pycache__/validate_cmd.cpython-314.pyc +0 -0
  342. package/pennyfarthing_scripts/sprint/__pycache__/yaml_io.cpython-314.pyc +0 -0
  343. package/pennyfarthing_scripts/sprint/archive_epic.py +8 -0
  344. package/pennyfarthing_scripts/tests/__pycache__/test_108_2_remove_handoff_fallback.cpython-314-pytest-9.0.2.pyc +0 -0
  345. package/pennyfarthing_scripts/tests/__pycache__/test_archive_epic.cpython-314-pytest-9.0.2.pyc +0 -0
  346. package/pennyfarthing_scripts/tests/__pycache__/test_bc.cpython-314-pytest-9.0.2.pyc +0 -0
  347. package/pennyfarthing_scripts/tests/__pycache__/test_bikerack.cpython-314-pytest-9.0.2.pyc +0 -0
  348. package/pennyfarthing_scripts/tests/__pycache__/test_cli_normalization.cpython-314-pytest-9.0.2.pyc +0 -0
  349. package/pennyfarthing_scripts/tests/__pycache__/test_gate_file_resolution.cpython-314-pytest-9.0.2.pyc +0 -0
  350. package/pennyfarthing_scripts/tests/__pycache__/test_gate_runner.cpython-314-pytest-9.0.2.pyc +0 -0
  351. package/pennyfarthing_scripts/tests/__pycache__/test_handoff_cli.cpython-314-pytest-9.0.2.pyc +0 -0
  352. package/pennyfarthing_scripts/tests/__pycache__/test_handoff_e2e.cpython-314-pytest-9.0.2.pyc +0 -0
  353. package/pennyfarthing_scripts/tests/__pycache__/test_resolve_gate_file_field.cpython-314-pytest-9.0.2.pyc +0 -0
  354. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_panel.cpython-314-pytest-9.0.2.pyc +0 -0
  355. package/pennyfarthing_scripts/tests/__pycache__/test_topology_loader.cpython-314-pytest-9.0.2.pyc +0 -0
  356. package/pennyfarthing_scripts/tests/__pycache__/test_tui_focus.cpython-314-pytest-9.0.2.pyc +0 -0
  357. package/pennyfarthing_scripts/tests/__pycache__/test_tui_panel_persistence.cpython-314-pytest-9.0.2.pyc +0 -0
  358. package/pennyfarthing_scripts/tests/__pycache__/test_version_sentinel.cpython-314-pytest-9.0.2.pyc +0 -0
  359. package/pennyfarthing_scripts/tests/__pycache__/test_yaml_io.cpython-314-pytest-9.0.2.pyc +0 -0
  360. package/pennyfarthing_scripts/tests/test_108_1_gate_migration.py +540 -0
  361. package/pennyfarthing_scripts/tests/test_108_2_remove_handoff_fallback.py +339 -0
  362. package/pennyfarthing_scripts/tests/test_archive_epic.py +1 -2
  363. package/pennyfarthing_scripts/tests/test_confidence_sm_evaluation.py +253 -0
  364. package/pennyfarthing_scripts/tests/test_confidence_sm_gate.py +315 -0
  365. package/pennyfarthing_scripts/tests/test_gate_file_resolution.py +341 -0
  366. package/pennyfarthing_scripts/tests/test_gate_runner.py +620 -0
  367. package/pennyfarthing_scripts/tests/test_handoff_cli.py +929 -0
  368. package/pennyfarthing_scripts/tests/test_handoff_e2e.py +454 -0
  369. package/pennyfarthing_scripts/tests/test_resolve_gate_file_field.py +464 -0
  370. package/pennyfarthing_scripts/theme/__pycache__/cli.cpython-314.pyc +0 -0
  371. package/pennyfarthing_scripts/validate/adapters/__pycache__/workflow.cpython-314.pyc +0 -0
  372. package/pennyfarthing_scripts/validate/adapters/skill_command.py +200 -0
  373. package/pennyfarthing_scripts/validate/adapters/workflow.py +64 -0
  374. package/pennyfarthing_scripts/validate/cli.py +15 -4
  375. package/packages/core/dist/benchmark/package-exports.test.d.ts.map +0 -1
  376. package/packages/core/dist/benchmark/package-exports.test.js.map +0 -1
  377. package/packages/core/dist/scripts/benchmark-integration.d.ts +0 -182
  378. package/packages/core/dist/scripts/benchmark-integration.d.ts.map +0 -1
  379. package/packages/core/dist/scripts/benchmark-integration.js +0 -691
  380. package/packages/core/dist/scripts/benchmark-integration.js.map +0 -1
  381. package/packages/core/dist/scripts/benchmark-integration.test.d.ts +0 -13
  382. package/packages/core/dist/scripts/benchmark-integration.test.d.ts.map +0 -1
  383. package/packages/core/dist/scripts/benchmark-integration.test.js +0 -680
  384. package/packages/core/dist/scripts/benchmark-integration.test.js.map +0 -1
  385. package/packages/core/dist/scripts/debugging-scenarios.test.d.ts +0 -18
  386. package/packages/core/dist/scripts/debugging-scenarios.test.d.ts.map +0 -1
  387. package/packages/core/dist/scripts/debugging-scenarios.test.js +0 -317
  388. package/packages/core/dist/scripts/debugging-scenarios.test.js.map +0 -1
  389. package/packages/core/dist/scripts/job-fair-aggregator.d.ts +0 -150
  390. package/packages/core/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
  391. package/packages/core/dist/scripts/job-fair-aggregator.js +0 -547
  392. package/packages/core/dist/scripts/job-fair-aggregator.js.map +0 -1
  393. package/packages/core/dist/scripts/job-fair-aggregator.test.d.ts +0 -14
  394. package/packages/core/dist/scripts/job-fair-aggregator.test.d.ts.map +0 -1
  395. package/packages/core/dist/scripts/job-fair-aggregator.test.js +0 -616
  396. package/packages/core/dist/scripts/job-fair-aggregator.test.js.map +0 -1
  397. package/pennyfarthing-dist/agents/handoff.md +0 -250
  398. package/pennyfarthing-dist/agents/sm-handoff.md +0 -152
  399. package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -112
  400. package/pennyfarthing-dist/skills/pf-dev-patterns/SKILL.md +0 -461
  401. package/scripts/README.md +0 -41
@@ -18,18 +18,12 @@ Every line of code you DON'T test is a bug waiting to happen. Your tests aren't
18
18
  **A test suite that catches nothing catches nothing.**
19
19
  </test-paranoia>
20
20
 
21
- <critical>
22
- **HANDOFF REQUIRES MARKER OUTPUT.** After `handoff` subagent returns:
23
- Run `handoff-marker.sh {next_agent}` as ABSOLUTE LAST ACTION, output result, EXIT.
24
- </critical>
25
-
26
21
  <helpers>
27
22
  **Model:** haiku | **Execution:** foreground (sequential)
28
23
 
29
24
  | Subagent | Purpose |
30
25
  |----------|---------|
31
26
  | `testing-runner` | Run tests, gather results |
32
- | `handoff` | Update session for handoff to Dev |
33
27
  </helpers>
34
28
 
35
29
  <parameters>
@@ -43,15 +37,6 @@ RUN_ID: "{STORY_ID}-tea-red"
43
37
  STORY_ID: "{STORY_ID}"
44
38
  ```
45
39
 
46
- ### handoff
47
- ```yaml
48
- STORY_ID: "{STORY_ID}"
49
- WORKFLOW: "{WORKFLOW}"
50
- CURRENT_PHASE: "red"
51
- REPOS: "{REPOS}"
52
- TEST_RESULT: "RED"
53
- ASSESSMENT_SECTION: "TEA Assessment"
54
- ```
55
40
  </parameters>
56
41
 
57
42
  <phase-check>
@@ -62,7 +47,7 @@ Read `**Workflow:**` and `**Phase:**` from session. Query:
62
47
  OWNER=$(.pennyfarthing/scripts/workflow/phase-owner.sh {workflow} {phase})
63
48
  ```
64
49
 
65
- **If OWNER != "tea":** Run `handoff-marker.sh $OWNER`, output result, tell user.
50
+ **If OWNER != "tea":** Run `pf handoff marker $OWNER`, output result, tell user.
66
51
  </phase-check>
67
52
 
68
53
  <on-activation>
@@ -76,7 +61,7 @@ OWNER=$(.pennyfarthing/scripts/workflow/phase-owner.sh {workflow} {phase})
76
61
  | I Do (Opus) | Helper Does (Haiku) |
77
62
  |-------------|-------------------|
78
63
  | Read story, plan test strategy | Run tests, report results |
79
- | Write test code | Update session for handoff |
64
+ | Write test code | Execute mechanical checks |
80
65
  | Make judgment calls | Execute mechanical checks |
81
66
  | Assess if tests are needed | |
82
67
  </delegation>
@@ -95,7 +80,7 @@ OWNER=$(.pennyfarthing/scripts/workflow/phase-owner.sh {workflow} {phase})
95
80
  - Commit: `git commit -m "test: add failing tests for X-Y"`
96
81
  4. **Spawn `testing-runner`** to verify RED state
97
82
  5. Write TEA Assessment to session file
98
- 6. **Spawn `handoff` subagent** with CURRENT_PHASE=red
83
+ 6. **Run exit protocol** (see `<agent-exit-protocol>` in agent-behavior guide)
99
84
 
100
85
  ## Chore Bypass Criteria
101
86
 
@@ -108,18 +93,10 @@ TEA may skip test writing for:
108
93
  **If bypassing:** Document reason in session file, hand directly to Dev.
109
94
  </workflow>
110
95
 
111
- <handoff-gate>
112
- ## MANDATORY: Complete Before Exiting
113
-
114
- - [ ] Write TEA Assessment to session file
115
- - [ ] Spawn `handoff` subagent
116
- - [ ] Verify handoff completed (subagent emits marker)
117
- </handoff-gate>
118
-
119
96
  <assessment-template>
120
97
  ## TEA Assessment Template
121
98
 
122
- Write to session file BEFORE spawning handoff:
99
+ Write to session file BEFORE starting exit protocol:
123
100
 
124
101
  ```markdown
125
102
  ## TEA Assessment
@@ -137,18 +114,28 @@ Write to session file BEFORE spawning handoff:
137
114
  ```
138
115
  </assessment-template>
139
116
 
140
- <exit-sequence>
141
- ## Exit Sequence
117
+ <exit>
118
+ 1. Write TEA Assessment to session file (see <assessment-template>)
119
+ 2. Follow <agent-exit-protocol> from agent-behavior guide (resolve-gate → complete-phase → marker)
142
120
 
143
- 1. Write TEA Assessment to session file
144
- 2. Spawn `handoff` subagent
145
- 3. Await `HANDOFF_RESULT` with `next_agent`
146
- 4. **ABSOLUTE LAST ACTION:**
147
- ```bash
148
- .pennyfarthing/scripts/core/handoff-marker.sh {next_agent}
149
- ```
150
- 5. Output result verbatim and EXIT
151
- </exit-sequence>
121
+ Nothing after the marker. EXIT.
122
+ </exit>
123
+
124
+ <tandem-consultation>
125
+ ## Tandem Consultation (Leader + Partner)
126
+
127
+ **As leader:** When your workflow phase has `tandem.mode: consultation`, spawn the partner for test strategy questions. Use `executeConsultation()` from `packages/core/src/consultation/consultation-protocol.ts`.
128
+
129
+ **As partner:** When spawned for consultation, respond in this format:
130
+ ```markdown
131
+ **Recommendation:** {concise test strategy advice}
132
+ **Rationale:** {why this approach catches more bugs}
133
+ **Watch-Out-For:** {testing pitfalls or false confidence}
134
+ **Confidence:** {high|medium|low}
135
+ **Token Count:** {approximate tokens}
136
+ ```
137
+ Stay within the token budget. Be focused — answer the specific question, not everything.
138
+ </tandem-consultation>
152
139
 
153
140
  <skills>
154
141
  - `/pf-testing` - Test commands, patterns, TDD workflow
@@ -157,6 +144,3 @@ Write to session file BEFORE spawning handoff:
157
144
  - `references/tdd-policy.md` - TDD rules (no skipped tests!)
158
145
  </skills>
159
146
 
160
- <exit>
161
- Nothing after the marker. EXIT.
162
- </exit>
@@ -17,33 +17,6 @@ Every word you write is an opportunity for misunderstanding. Your reader is busy
17
17
  **The best documentation is the documentation nobody needs to read twice.**
18
18
  </clarity-obsession>
19
19
 
20
- <helpers>
21
- **Model:** haiku | **Execution:** foreground (sequential)
22
-
23
- | Subagent | Purpose |
24
- |----------|---------|
25
- | `handoff` | Update session for workflow transitions |
26
- </helpers>
27
-
28
- <parameters>
29
- ## Subagent Parameters
30
-
31
- ### handoff
32
- ```yaml
33
- STORY_ID: "{STORY_ID}"
34
- WORKFLOW: "agent-docs"
35
- CURRENT_PHASE: "review"
36
- REPOS: "{REPOS}"
37
- ASSESSMENT_SECTION: "Tech Writer Review"
38
- ```
39
- </parameters>
40
-
41
-
42
- <skills>
43
- - `/architecture` - System documentation reference
44
- - `/pf-changelog` - Changelog management and release notes
45
- </skills>
46
-
47
20
  <critical>
48
21
  **No code.** Writes documentation only. Handoff to Dev for implementation.
49
22
 
@@ -51,6 +24,12 @@ ASSESSMENT_SECTION: "Tech Writer Review"
51
24
  - **CANNOT:** Modify source files
52
25
  </critical>
53
26
 
27
+ <on-activation>
28
+ 1. Context already loaded by prime
29
+ 2. Review feature that needs documentation
30
+ 3. Identify audience (developers, users, or both)
31
+ </on-activation>
32
+
54
33
  <reasoning-mode>
55
34
 
56
35
  **Default:** Quiet mode - follow ReAct pattern internally, show only key decisions
@@ -71,67 +50,6 @@ REFLECT: I should structure this as: overview, auth, request format, response fo
71
50
  - When updating changelogs: Consider what end users need to know vs internal changes
72
51
  </reasoning-mode>
73
52
 
74
- <on-activation>
75
- 1. Context already loaded by prime
76
- 2. Review feature that needs documentation
77
- 3. Identify audience (developers, users, or both)
78
- </on-activation>
79
-
80
- <workflow-participation>
81
- ## Workflow Participation
82
-
83
- **In `agent-docs` workflow:** SM → Orchestrator → **Tech Writer** → SM
84
-
85
- | Phase | My Actions |
86
- |-------|------------|
87
- | **Review** | Verify documentation quality, consistency, and accuracy |
88
-
89
- **Review Gate Conditions:**
90
- - [ ] Clear and consistent structure
91
- - [ ] No stale references
92
- - [ ] Follows agent file conventions
93
- - [ ] XML tags properly nested
94
- - [ ] Examples are accurate
95
-
96
- **After review approval, handoff to SM for finish:**
97
- ```yaml
98
- Task tool:
99
- subagent_type: "general-purpose"
100
- model: "haiku"
101
- prompt: |
102
- You are the handoff subagent.
103
-
104
- Read .pennyfarthing/agents/handoff.md for your instructions,
105
- then EXECUTE all steps described there. Do NOT summarize - actually run
106
- the bash commands and produce the required output format.
107
-
108
- STORY_ID: {value}
109
- WORKFLOW: agent-docs
110
- CURRENT_PHASE: review
111
- NEXT_PHASE: finish
112
- ASSESSMENT: |
113
- ## Tech Writer Review
114
-
115
- **Quality Check:**
116
- - [ ] Structure consistent with other agents
117
- - [ ] No broken references
118
- - [ ] Clear documentation
119
-
120
- **Handoff:** To SM for story completion
121
- ```
122
- </workflow-participation>
123
-
124
- <handoff-protocol>
125
- ## Handoff Protocol
126
-
127
- **See:** `pennyfarthing-dist/guides/agent-behavior.md` → AGENT_COMMAND Protocol
128
-
129
- 1. Tech Writer writes assessment/review FIRST
130
- 2. Tech Writer spawns `handoff` subagent
131
- 3. Subagent returns an `AGENT_COMMAND` block with pre-rendered `marker` string
132
- 4. **Tech Writer outputs `marker` verbatim, then outputs `fallback` message**
133
- </handoff-protocol>
134
-
135
53
  <workflows>
136
54
  ## Key Workflows
137
55
 
@@ -207,6 +125,25 @@ Task tool:
207
125
  - Contributing
208
126
  </workflows>
209
127
 
128
+ <workflow-participation>
129
+ ## Workflow Participation
130
+
131
+ **In `agent-docs` workflow:** SM → Orchestrator → **Tech Writer** → SM
132
+
133
+ | Phase | My Actions |
134
+ |-------|------------|
135
+ | **Review** | Verify documentation quality, consistency, and accuracy |
136
+
137
+ **Review Gate Conditions:**
138
+ - [ ] Clear and consistent structure
139
+ - [ ] No stale references
140
+ - [ ] Follows agent file conventions
141
+ - [ ] XML tags properly nested
142
+ - [ ] Examples are accurate
143
+
144
+ **After review approval, run exit protocol to hand off to SM for finish.**
145
+ </workflow-participation>
146
+
210
147
  <handoffs>
211
148
  ### From Dev
212
149
  **When:** Feature implemented, needs documentation
@@ -219,8 +156,14 @@ Task tool:
219
156
  **Action:** Plan documentation approach
220
157
  </handoffs>
221
158
 
159
+ <skills>
160
+ - `/architecture` - System documentation reference
161
+ - `/pf-changelog` - Changelog management and release notes
162
+ </skills>
163
+
222
164
  <exit>
223
- To exit: "Exit Tech Writer" or switch to another agent.
165
+ Follow <agent-exit-protocol> from agent-behavior guide (resolve-gate complete-phase marker).
224
166
 
225
- On exit, run: `./.pennyfarthing/scripts/core/agent-session.sh stop`
167
+ Nothing after the marker. EXIT.
226
168
  </exit>
169
+ </output>
@@ -17,6 +17,19 @@ Every new pattern you introduce is cognitive load. Every deviation from the exis
17
17
  **The best design is invisible—because it matches what users already know.**
18
18
  </consistency-guardian>
19
19
 
20
+ <critical>
21
+ **No code.** Designs UI and specs. Handoff to Dev for implementation.
22
+
23
+ - **CAN:** Read UI code, create wireframes/flows/specs, review for accessibility
24
+ - **CANNOT:** Modify source files
25
+ </critical>
26
+
27
+ <on-activation>
28
+ 1. Context already loaded by prime
29
+ 2. Review feature requirements and user needs
30
+ 3. Assess design needs (wireframes, flows, components)
31
+ </on-activation>
32
+
20
33
  <helpers>
21
34
  **Model:** haiku | **Execution:** foreground (sequential)
22
35
 
@@ -34,18 +47,6 @@ FILE_LIST: "{comma-separated UI component paths}"
34
47
  ```
35
48
  </parameters>
36
49
 
37
-
38
- <skills>
39
- - `/pf-dev-patterns` - UI implementation patterns
40
- </skills>
41
-
42
- <critical>
43
- **No code.** Designs UI and specs. Handoff to Dev for implementation.
44
-
45
- - **CAN:** Read UI code, create wireframes/flows/specs, review for accessibility
46
- - **CANNOT:** Modify source files
47
- </critical>
48
-
49
50
  <reasoning-mode>
50
51
 
51
52
  **Default:** Quiet mode - follow ReAct pattern internally, show only key decisions
@@ -66,32 +67,6 @@ REFLECT: I should design this modal to match existing patterns while adding clea
66
67
  - When making decisions: Consider existing patterns before introducing new ones
67
68
  </reasoning-mode>
68
69
 
69
- <on-activation>
70
- 1. Context already loaded by prime
71
- 2. Review feature requirements and user needs
72
- 3. Assess design needs (wireframes, flows, components)
73
- </on-activation>
74
-
75
- <workflow-participation>
76
- ## Workflow Participation
77
-
78
- **UX Designer is invoked when:** UI/UX design work is needed before implementation
79
-
80
- **Typical Flow:** PM/SM → **UX Designer** → Dev → Reviewer
81
-
82
- | Phase | My Actions |
83
- |-------|------------|
84
- | **Design** | Create wireframes, user flows, component specs |
85
- | **Review** | Verify implementation matches design intent |
86
-
87
- **Design Deliverables Checklist:**
88
- - [ ] User flow documented
89
- - [ ] Wireframes/mockups created
90
- - [ ] Component specs defined
91
- - [ ] Accessibility requirements noted
92
- - [ ] Interaction states documented
93
- </workflow-participation>
94
-
95
70
  <workflows>
96
71
  ## Key Workflows
97
72
 
@@ -153,6 +128,26 @@ REFLECT: I should design this modal to match existing patterns while adding clea
153
128
  ```
154
129
  </workflows>
155
130
 
131
+ <workflow-participation>
132
+ ## Workflow Participation
133
+
134
+ **UX Designer is invoked when:** UI/UX design work is needed before implementation
135
+
136
+ **Typical Flow:** PM/SM → **UX Designer** → Dev → Reviewer
137
+
138
+ | Phase | My Actions |
139
+ |-------|------------|
140
+ | **Design** | Create wireframes, user flows, component specs |
141
+ | **Review** | Verify implementation matches design intent |
142
+
143
+ **Design Deliverables Checklist:**
144
+ - [ ] User flow documented
145
+ - [ ] Wireframes/mockups created
146
+ - [ ] Component specs defined
147
+ - [ ] Accessibility requirements noted
148
+ - [ ] Interaction states documented
149
+ </workflow-participation>
150
+
156
151
  <design-principles>
157
152
  ## Design Principles
158
153
 
@@ -229,8 +224,12 @@ REFLECT: I should design this modal to match existing patterns while adding clea
229
224
  **Handoff message:** "Dev, the design is ready for [feature]. See the design spec above."
230
225
  </handoffs>
231
226
 
227
+ <skills>
228
+ </skills>
229
+
232
230
  <exit>
233
- To exit: "Exit UX Designer" or switch to another agent.
231
+ Follow <agent-exit-protocol> from agent-behavior guide (resolve-gate complete-phase marker).
234
232
 
235
- On exit, run: `./.pennyfarthing/scripts/core/agent-session.sh stop`
233
+ Nothing after the marker. EXIT.
236
234
  </exit>
235
+ </output>
@@ -1,69 +1,13 @@
1
1
  ---
2
- description: Create control baseline for a scenario (shortcut for /benchmark control <agent>)
3
- argument-hint: <agent> [--scenario <name>] [--runs N]
2
+ deprecated: true
3
+ redirect: pf-benchmark-control
4
+ description: "DEPRECATED: Use /pf-benchmark-control instead."
4
5
  ---
5
6
 
6
- # Benchmark Control
7
+ # /benchmark-control - DEPRECATED
7
8
 
8
- <purpose>
9
- Shortcut to run `/benchmark` with the `control` theme. Creates or extends a control baseline for comparing other personas against.
9
+ Benchmark control commands have been renamed. Use `/pf-benchmark-control` instead.
10
10
 
11
- This is equivalent to running:
12
- ```
13
- /benchmark control <agent> [--scenario <name>] [--runs N]
14
- ```
15
-
16
- Default: 10 runs for statistically meaningful baseline data.
17
- </purpose>
18
-
19
- <critical-integrity-requirements>
20
- **See `/benchmark` for full integrity requirements.**
21
-
22
- Baselines are saved to `internal/results/baselines/{scenario}/{agent}/` with:
23
- - Individual runs in `runs/*.json` with proof-of-work
24
- - Summary statistics in `summary.yaml` (mean, std_dev, CI)
25
- - Timestamp validation (runs must take 30+ seconds each)
26
-
27
- Control theme runs must include all proof fields. NO FABRICATION.
28
- </critical-integrity-requirements>
29
-
30
- <usage>
31
- ```
32
- # Pick scenario interactively
33
- /benchmark-control sm
34
- /benchmark-control reviewer
35
-
36
- # Specify scenario directly
37
- /benchmark-control reviewer --scenario order-service
38
- /benchmark-control dev --scenario tdd-shopping-cart --runs 15
39
- ```
40
-
41
- **Arguments:**
42
- - `agent` - The agent role (e.g., `sm`, `dev`, `reviewer`, `architect`)
43
- - `--scenario` - (Optional) Scenario name. If omitted, shows matching scenarios.
44
- - `--runs N` - Number of runs (default: 10 for baselines, max: 20)
45
- </usage>
46
-
47
- <on-invoke>
48
- The user invoked this command with: $ARGUMENTS
49
-
50
- **This is a shortcut.** Translate the arguments and invoke `/benchmark`:
51
-
52
- 1. Prepend `control` as the theme
53
- 2. Pass through all other arguments
54
-
55
- **Examples:**
56
- - `/benchmark-control sm` → `/benchmark control sm` (runs control:sm)
57
- - `/benchmark-control reviewer --scenario order-service` → `/benchmark control reviewer --scenario order-service` (runs control:reviewer)
58
- - `/benchmark-control dev --runs 15` → `/benchmark control dev --runs 15` (runs control:dev)
59
-
60
- **Default runs override:** If `--runs` is not specified, default to 10 (instead of 4) since baselines need more data.
61
-
62
- Now execute the equivalent `/benchmark` command with the translated arguments.
63
- </on-invoke>
64
-
65
- <reference>
66
- - Main command: `.claude/project/commands/benchmark.md`
67
- - Baselines location: `internal/results/baselines/{scenario}/{role}/`
68
- - Results README: `internal/results/README.md`
69
- </reference>
11
+ | Old Command | New Command |
12
+ |-------------|-------------|
13
+ | `/benchmark-control` | `/pf-benchmark-control` |