@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
@@ -1,16 +0,0 @@
1
- /**
2
- * Story 11-3: Cyclist Migration Tests
3
- *
4
- * These tests verify the Cyclist Electron GUI is correctly migrated
5
- * into the pnpm workspace as @pennyfarthing/cyclist.
6
- * Tests are designed to FAIL until the migration is complete.
7
- *
8
- * Acceptance Criteria:
9
- * 1. packages/cyclist/ contains Cyclist source
10
- * 2. Dependencies use workspace:* for internal packages
11
- * 3. Portrait resolution uses @pennyfarthing/shared
12
- * 4. Electron app starts and shows portraits
13
- * 5. Dogfooding scenario works (portraits load from pennyfarthing-dist/)
14
- */
15
- export {};
16
- //# sourceMappingURL=cyclist-migration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cyclist-migration.test.d.ts","sourceRoot":"","sources":["../../src/cli/cyclist-migration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
@@ -1,229 +0,0 @@
1
- /**
2
- * Story 11-3: Cyclist Migration Tests
3
- *
4
- * These tests verify the Cyclist Electron GUI is correctly migrated
5
- * into the pnpm workspace as @pennyfarthing/cyclist.
6
- * Tests are designed to FAIL until the migration is complete.
7
- *
8
- * Acceptance Criteria:
9
- * 1. packages/cyclist/ contains Cyclist source
10
- * 2. Dependencies use workspace:* for internal packages
11
- * 3. Portrait resolution uses @pennyfarthing/shared
12
- * 4. Electron app starts and shows portraits
13
- * 5. Dogfooding scenario works (portraits load from pennyfarthing-dist/)
14
- */
15
- import { describe, it } from 'node:test';
16
- import assert from 'node:assert';
17
- import { existsSync, readFileSync, readdirSync } from 'node:fs';
18
- import { join } from 'node:path';
19
- import { findMonorepoRoot } from './utils/files.js';
20
- const __dirname = import.meta.dirname;
21
- const PROJECT_ROOT = findMonorepoRoot(__dirname);
22
- describe('Story 11-3: Cyclist Migration into Monorepo', () => {
23
- describe('AC1: packages/cyclist/ contains Cyclist source', () => {
24
- it('should have packages/cyclist directory', () => {
25
- const cyclistDir = join(PROJECT_ROOT, 'packages', 'cyclist');
26
- assert.ok(existsSync(cyclistDir), 'packages/cyclist/ directory must exist');
27
- });
28
- it('should have packages/cyclist/src directory', () => {
29
- const srcDir = join(PROJECT_ROOT, 'packages', 'cyclist', 'src');
30
- assert.ok(existsSync(srcDir), 'packages/cyclist/src/ directory must exist');
31
- });
32
- it('should have packages/cyclist/src/main.ts (Electron main process)', () => {
33
- const mainTs = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'main.ts');
34
- assert.ok(existsSync(mainTs), 'packages/cyclist/src/main.ts must exist');
35
- });
36
- it('should have packages/cyclist/src/paths.ts (path resolution)', () => {
37
- const pathsTs = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'paths.ts');
38
- assert.ok(existsSync(pathsTs), 'packages/cyclist/src/paths.ts must exist');
39
- });
40
- it('should have packages/cyclist/src/public directory', () => {
41
- const publicDir = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'public');
42
- assert.ok(existsSync(publicDir), 'packages/cyclist/src/public/ directory must exist');
43
- });
44
- it('should have packages/cyclist/package.json', () => {
45
- const packageJson = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
46
- assert.ok(existsSync(packageJson), 'packages/cyclist/package.json must exist');
47
- });
48
- it('should have @pennyfarthing/cyclist as package name', () => {
49
- const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
50
- if (!existsSync(packageJsonPath)) {
51
- assert.fail('packages/cyclist/package.json must exist first');
52
- }
53
- const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
54
- assert.strictEqual(pkg.name, '@pennyfarthing/cyclist', 'Package name must be @pennyfarthing/cyclist');
55
- });
56
- it('should have packages/cyclist/tsconfig.json', () => {
57
- const tsconfig = join(PROJECT_ROOT, 'packages', 'cyclist', 'tsconfig.json');
58
- assert.ok(existsSync(tsconfig), 'packages/cyclist/tsconfig.json must exist');
59
- });
60
- });
61
- describe('AC2: Dependencies use workspace:* for internal packages', () => {
62
- it('should have @pennyfarthing/shared as workspace dependency', () => {
63
- const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
64
- if (!existsSync(packageJsonPath)) {
65
- assert.fail('packages/cyclist/package.json must exist first');
66
- }
67
- const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
68
- const deps = pkg.dependencies || {};
69
- assert.ok(deps['@pennyfarthing/shared'], 'packages/cyclist should depend on @pennyfarthing/shared');
70
- // Dependency can use workspace:* or a version range
71
- assert.ok(deps['@pennyfarthing/shared'].includes('workspace') || /^\^?\d/.test(deps['@pennyfarthing/shared']), '@pennyfarthing/shared dependency should use workspace protocol or version range');
72
- });
73
- it('should NOT have pennyfarthing GitHub dependency', () => {
74
- const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
75
- if (!existsSync(packageJsonPath)) {
76
- assert.fail('packages/cyclist/package.json must exist first');
77
- }
78
- const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
79
- const deps = pkg.dependencies || {};
80
- assert.ok(!deps['pennyfarthing'] || !deps['pennyfarthing'].includes('github'), 'packages/cyclist should NOT have GitHub pennyfarthing dependency (use workspace instead)');
81
- });
82
- it('should be listed in pnpm-workspace.yaml packages', () => {
83
- const workspaceYamlPath = join(PROJECT_ROOT, 'pnpm-workspace.yaml');
84
- const content = readFileSync(workspaceYamlPath, 'utf-8');
85
- // packages/* pattern should include packages/cyclist
86
- assert.ok(content.includes('packages/*') || content.includes('packages/cyclist'), 'pnpm-workspace.yaml should include packages/cyclist (via packages/* pattern)');
87
- });
88
- });
89
- describe('AC3: Portrait resolution uses shared resolver pattern', () => {
90
- // Note: paths.ts inlines the shared resolver functions for standalone npm distribution
91
- // This is valid - we test for the functions existing, not the import pattern
92
- it('should have resolvePennyfarthingDist function', () => {
93
- const pathsPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'paths.ts');
94
- if (!existsSync(pathsPath)) {
95
- assert.fail('packages/cyclist/src/paths.ts must exist first');
96
- }
97
- const content = readFileSync(pathsPath, 'utf-8');
98
- assert.ok(content.includes('resolvePennyfarthingDist'), 'paths.ts should have resolvePennyfarthingDist function (inlined or imported)');
99
- });
100
- it('should have getPortraitPaths function', () => {
101
- const pathsPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'paths.ts');
102
- if (!existsSync(pathsPath)) {
103
- assert.fail('packages/cyclist/src/paths.ts must exist first');
104
- }
105
- const content = readFileSync(pathsPath, 'utf-8');
106
- assert.ok(content.includes('getPortraitPaths'), 'paths.ts should have getPortraitPaths function (inlined or imported)');
107
- });
108
- it('should NOT have hardcoded pennyfarthing path in getPortraitsDir', () => {
109
- const pathsPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'paths.ts');
110
- if (!existsSync(pathsPath)) {
111
- assert.fail('packages/cyclist/src/paths.ts must exist first');
112
- }
113
- const content = readFileSync(pathsPath, 'utf-8');
114
- // Should not contain the old hardcoded path logic (join calls, not comments)
115
- // Old pattern was: join(..., 'pennyfarthing', 'pennyfarthing-dist')
116
- const hasOldPattern = content.includes("join(__dirname, 'pennyfarthing', 'pennyfarthing-dist')") ||
117
- content.includes('join(__dirname, "pennyfarthing", "pennyfarthing-dist")');
118
- assert.ok(!hasOldPattern, 'paths.ts should NOT have hardcoded pennyfarthing path - use shared resolver instead');
119
- });
120
- it('should depend on @pennyfarthing/shared in package.json', () => {
121
- const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
122
- if (!existsSync(packageJsonPath)) {
123
- assert.fail('packages/cyclist/package.json must exist first');
124
- }
125
- const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
126
- const deps = pkg.dependencies || {};
127
- assert.ok(deps['@pennyfarthing/shared'], 'packages/cyclist should depend on @pennyfarthing/shared');
128
- });
129
- });
130
- describe('AC4: Electron app starts and shows portraits', () => {
131
- // Note: Full build verification requires pnpm install which needs workspace resolution
132
- // These tests verify the package configuration is correct for building
133
- it('should have Electron dependency', () => {
134
- const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
135
- if (!existsSync(packageJsonPath)) {
136
- assert.fail('packages/cyclist/package.json must exist first');
137
- }
138
- const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
139
- const devDeps = pkg.devDependencies || {};
140
- assert.ok(devDeps['electron'], 'packages/cyclist should have electron as devDependency');
141
- });
142
- it('should have build script in package.json', () => {
143
- const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
144
- if (!existsSync(packageJsonPath)) {
145
- assert.fail('packages/cyclist/package.json must exist first');
146
- }
147
- const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
148
- assert.ok(pkg.scripts?.build, 'packages/cyclist should have a build script');
149
- });
150
- it('should have main entry point configured', () => {
151
- const packageJsonPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'package.json');
152
- if (!existsSync(packageJsonPath)) {
153
- assert.fail('packages/cyclist/package.json must exist first');
154
- }
155
- const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
156
- assert.ok(pkg.main, 'packages/cyclist should have a main entry point');
157
- });
158
- });
159
- describe('AC5: Dogfooding scenario works', () => {
160
- it('should resolve portraits from pennyfarthing-dist in monorepo', () => {
161
- // This test validates that portrait resolution works in the monorepo context
162
- const pennyfarthingDist = join(PROJECT_ROOT, 'pennyfarthing-dist');
163
- assert.ok(existsSync(pennyfarthingDist), 'pennyfarthing-dist/ should exist at monorepo root for dogfooding');
164
- });
165
- it('should have portraits directory in pennyfarthing-dist', () => {
166
- const portraitsDir = join(PROJECT_ROOT, 'pennyfarthing-dist', 'personas', 'portraits');
167
- assert.ok(existsSync(portraitsDir), 'pennyfarthing-dist/personas/portraits/ should exist');
168
- });
169
- it('should have at least one theme with portraits', () => {
170
- const portraitsDir = join(PROJECT_ROOT, 'pennyfarthing-dist', 'personas', 'portraits');
171
- if (!existsSync(portraitsDir)) {
172
- assert.fail('portraits directory must exist first');
173
- }
174
- const themes = readdirSync(portraitsDir);
175
- assert.ok(themes.length > 0, 'Should have at least one theme directory in portraits');
176
- });
177
- it('should have paths.ts configured to use shared resolver', () => {
178
- // Verify paths.ts source code uses the shared resolver
179
- // Runtime verification requires pnpm install + build
180
- const pathsPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'paths.ts');
181
- if (!existsSync(pathsPath)) {
182
- assert.fail('packages/cyclist/src/paths.ts must exist');
183
- }
184
- const content = readFileSync(pathsPath, 'utf-8');
185
- assert.ok(content.includes('resolvePennyfarthingDist') && content.includes('getPortraitPaths'), 'paths.ts should use resolvePennyfarthingDist and getPortraitPaths from shared');
186
- });
187
- });
188
- describe('Build Integration', () => {
189
- // Note: Full TypeScript compilation requires pnpm install to resolve workspace dependencies
190
- // These tests verify the build configuration is correct
191
- it('should have valid tsconfig.json extending base', () => {
192
- const tsconfigPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'tsconfig.json');
193
- if (!existsSync(tsconfigPath)) {
194
- assert.fail('packages/cyclist/tsconfig.json must exist');
195
- }
196
- const content = readFileSync(tsconfigPath, 'utf-8');
197
- const tsconfig = JSON.parse(content);
198
- assert.ok(tsconfig.extends?.includes('tsconfig.base.json'), 'tsconfig.json should extend ../../tsconfig.base.json');
199
- });
200
- it('should have outDir configured for dist', () => {
201
- const tsconfigPath = join(PROJECT_ROOT, 'packages', 'cyclist', 'tsconfig.json');
202
- if (!existsSync(tsconfigPath)) {
203
- assert.fail('packages/cyclist/tsconfig.json must exist');
204
- }
205
- const content = readFileSync(tsconfigPath, 'utf-8');
206
- const tsconfig = JSON.parse(content);
207
- assert.strictEqual(tsconfig.compilerOptions?.outDir, 'dist', 'tsconfig.json should output to dist directory');
208
- });
209
- });
210
- describe('Source File Completeness', () => {
211
- it('should have pennyfarthing.ts (persona/theme loading)', () => {
212
- const pennyfarthingTs = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'pennyfarthing.ts');
213
- assert.ok(existsSync(pennyfarthingTs), 'packages/cyclist/src/pennyfarthing.ts must exist');
214
- });
215
- it('should have server.ts (Express server)', () => {
216
- const serverTs = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'server.ts');
217
- assert.ok(existsSync(serverTs), 'packages/cyclist/src/server.ts must exist');
218
- });
219
- it('should have api/ directory', () => {
220
- const apiDir = join(PROJECT_ROOT, 'packages', 'cyclist', 'src', 'api');
221
- assert.ok(existsSync(apiDir), 'packages/cyclist/src/api/ directory must exist');
222
- });
223
- it('should have tests/ directory', () => {
224
- const testsDir = join(PROJECT_ROOT, 'packages', 'cyclist', 'tests');
225
- assert.ok(existsSync(testsDir), 'packages/cyclist/tests/ directory must exist');
226
- });
227
- });
228
- });
229
- //# sourceMappingURL=cyclist-migration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cyclist-migration.test.js","sourceRoot":"","sources":["../../src/cli/cyclist-migration.test.ts"],"names":[],"mappings":"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"}
@@ -1,182 +0,0 @@
1
- /**
2
- * Benchmark Integration Module
3
- *
4
- * Story 11-8: Integrate with Benchmark Output
5
- * Story 12-6: Update for local results (Epic 12 migration)
6
- *
7
- * Correlates Chernoff faces and OCEAN profiles with benchmark performance data.
8
- * Reads benchmark results from internal/results/ directory (or BENCHMARK_PATH env var).
9
- */
10
- export interface OceanScores {
11
- O: number;
12
- C: number;
13
- E: number;
14
- A: number;
15
- N: number;
16
- }
17
- export interface BenchmarkResult {
18
- theme: string;
19
- role: string;
20
- character: string;
21
- scenario: string;
22
- mean: number;
23
- stdDev: number;
24
- delta: number;
25
- cohensD?: number;
26
- n: number;
27
- scores: number[];
28
- ocean: OceanScores;
29
- face: string;
30
- benchmarkMissing?: boolean;
31
- }
32
- export interface CorrelationResult {
33
- O: {
34
- effect: number;
35
- direction: 'positive' | 'negative' | 'none';
36
- };
37
- C: {
38
- effect: number;
39
- direction: 'positive' | 'negative' | 'none';
40
- };
41
- E: {
42
- effect: number;
43
- direction: 'positive' | 'negative' | 'none';
44
- };
45
- A: {
46
- effect: number;
47
- direction: 'positive' | 'negative' | 'none';
48
- };
49
- N: {
50
- effect: number;
51
- direction: 'positive' | 'negative' | 'none';
52
- };
53
- strongest: {
54
- dimension: keyof OceanScores;
55
- effect: number;
56
- };
57
- }
58
- export interface OptimalProfile {
59
- ocean: OceanScores;
60
- reasoning: string;
61
- }
62
- export interface RoleRecommendations {
63
- role: string;
64
- topThemes: Array<{
65
- theme: string;
66
- character: string;
67
- score: number;
68
- ocean: OceanScores;
69
- }>;
70
- avoidThemes: Array<{
71
- theme: string;
72
- character: string;
73
- score: number;
74
- }>;
75
- insight: string;
76
- }
77
- export interface PerformerResult {
78
- theme: string;
79
- character: string;
80
- score: number;
81
- delta: number;
82
- ocean: OceanScores;
83
- face: string;
84
- }
85
- export interface QueryOptions {
86
- scenario?: string;
87
- role?: string;
88
- filter?: string;
89
- ocean?: string;
90
- limit?: number;
91
- minScore?: number;
92
- sortBy?: 'score' | 'delta' | 'name';
93
- }
94
- export interface BenchmarkReportResult {
95
- markdown: string;
96
- data: {
97
- performers: PerformerResult[];
98
- correlation: CorrelationResult;
99
- recommendations: RoleRecommendations;
100
- errorCorrelation?: OceanErrorCorrelation;
101
- };
102
- }
103
- export interface ErrorTypeCell {
104
- correlation: number;
105
- arrow: string;
106
- }
107
- export interface OceanErrorCorrelation {
108
- matrix: {
109
- [dimension: string]: {
110
- reasoning: ErrorTypeCell;
111
- planning: ErrorTypeCell;
112
- execution: ErrorTypeCell;
113
- };
114
- };
115
- strongest: {
116
- dimension: string;
117
- errorType: string;
118
- correlation: number;
119
- };
120
- }
121
- export interface JudgeScore {
122
- detection_by_type?: {
123
- reasoning: number;
124
- planning: number;
125
- execution: number;
126
- };
127
- }
128
- export interface BenchmarkResultWithOcean {
129
- ocean: OceanScores;
130
- mean: number;
131
- }
132
- /**
133
- * Load benchmark data from thunderdome results
134
- */
135
- export declare function loadBenchmarkData(scenario: string, role: string): BenchmarkResult[];
136
- /**
137
- * Get benchmark result with face visualization attached
138
- */
139
- export declare function getBenchmarkWithFace(theme: string, role: string, scenario: string): BenchmarkResult | null;
140
- /**
141
- * Calculate OCEAN correlation with benchmark performance
142
- */
143
- export declare function calculateOceanCorrelation(scenario: string, role: string): CorrelationResult;
144
- /**
145
- * Generate markdown correlation report
146
- */
147
- export declare function generateCorrelationReport(scenario: string, role: string): string;
148
- /**
149
- * Get optimal OCEAN profile for a role based on benchmark data
150
- */
151
- export declare function getOptimalProfile(role: string): OptimalProfile;
152
- /**
153
- * Get role recommendations (top themes, themes to avoid)
154
- */
155
- export declare function getRoleRecommendations(role: string): RoleRecommendations;
156
- /**
157
- * Find top performers for a scenario/role with optional filters
158
- */
159
- export declare function findTopPerformers(options: QueryOptions): PerformerResult[];
160
- /**
161
- * General query interface for benchmark data
162
- */
163
- export declare function queryBenchmarks(options: QueryOptions): PerformerResult[];
164
- /**
165
- * Calculate OCEAN × error-type correlation matrix
166
- * Story 14-5: Correlates OCEAN dimensions with error detection rates
167
- */
168
- export declare function calculateErrorTypeCorrelation(results: BenchmarkResultWithOcean[], judgeScores: JudgeScore[]): OceanErrorCorrelation;
169
- /**
170
- * Generate markdown heat map for OCEAN × error-type correlations
171
- * Story 14-5: Produces 5×3 matrix with directional arrows and effect sizes
172
- */
173
- export declare function generateOceanErrorHeatMap(correlation: OceanErrorCorrelation): string;
174
- /**
175
- * Generate complete benchmark report with faces and correlations
176
- */
177
- export declare function generateBenchmarkReport(options: {
178
- scenario: string;
179
- role: string;
180
- includeErrorTypeCorrelation?: boolean;
181
- }): BenchmarkReportResult;
182
- //# sourceMappingURL=benchmark-integration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark-integration.d.ts","sourceRoot":"","sources":["../../src/scripts/benchmark-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2BH,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;KAAE,CAAC;IACnE,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;KAAE,CAAC;IACnE,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;KAAE,CAAC;IACnE,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;KAAE,CAAC;IACnE,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;KAAE,CAAC;IACnE,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IAC1F,WAAW,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QACJ,UAAU,EAAE,eAAe,EAAE,CAAC;QAC9B,WAAW,EAAE,iBAAiB,CAAC;QAC/B,eAAe,EAAE,mBAAmB,CAAC;QACrC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;KAC1C,CAAC;CACH;AAGD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG;YACnB,SAAS,EAAE,aAAa,CAAC;YACzB,QAAQ,EAAE,aAAa,CAAC;YACxB,SAAS,EAAE,aAAa,CAAC;SAC1B,CAAC;KACH,CAAC;IACF,SAAS,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,iBAAiB,CAAC,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AA6ND;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CA0BnF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,IAAI,CA0CxB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,iBAAiB,CAwBnB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CA6BhF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAkC9D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CA2DxE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,EAAE,CAuC1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,EAAE,CA6CxE;AAyED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,wBAAwB,EAAE,EACnC,WAAW,EAAE,UAAU,EAAE,GACxB,qBAAqB,CAiCvB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,qBAAqB,GAAG,MAAM,CAqCpF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,GAAG,qBAAqB,CAwExB"}