fraim-framework 2.0.56 → 2.0.58

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 (224) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/bin/fraim-mcp.js +14 -0
  3. package/bin/fraim.js +23 -0
  4. package/dist/src/cli/commands/init-project.js +10 -4
  5. package/dist/src/cli/commands/mcp.js +65 -0
  6. package/dist/src/cli/setup/mcp-config-generator.js +19 -16
  7. package/dist/src/fraim/issue-tracking/ado-provider.js +304 -0
  8. package/dist/src/fraim/issue-tracking/factory.js +63 -0
  9. package/dist/src/fraim/issue-tracking/github-provider.js +200 -0
  10. package/dist/src/fraim/issue-tracking/types.js +7 -0
  11. package/dist/src/fraim/issue-tracking-config.js +83 -0
  12. package/dist/src/local-mcp-server/stdio-server.js +207 -0
  13. package/dist/src/utils/workflow-parser.js +81 -0
  14. package/package.json +17 -12
  15. package/registry/scripts/pdf-styles.css +172 -0
  16. package/registry/scripts/prep-issue.sh +46 -4
  17. package/registry/scripts/profile-server.ts +131 -130
  18. package/registry/stubs/workflows/customer-development/user-survey-dispatch.md +1 -1
  19. package/registry/stubs/workflows/customer-development/users-to-target.md +1 -1
  20. package/registry/stubs/workflows/product-building/design.md +1 -1
  21. package/registry/stubs/workflows/product-building/implement.md +1 -1
  22. package/Claude.md +0 -1
  23. package/dist/registry/ai-manager-rules/customer-development-phases/phase1-customer-profiling.md +0 -101
  24. package/dist/registry/ai-manager-rules/customer-development-phases/phase2-platform-discovery.md +0 -235
  25. package/dist/registry/ai-manager-rules/customer-development-phases/phase3-prospect-qualification.md +0 -243
  26. package/dist/registry/ai-manager-rules/customer-development-phases/phase4-inventory-compilation.md +0 -206
  27. package/dist/registry/ai-manager-rules/design-phases/design-completeness-review.md +0 -73
  28. package/dist/registry/ai-manager-rules/design-phases/design-design.md +0 -145
  29. package/dist/registry/ai-manager-rules/implement-phases/implement-code.md +0 -283
  30. package/dist/registry/ai-manager-rules/implement-phases/implement-completeness-review.md +0 -120
  31. package/dist/registry/ai-manager-rules/implement-phases/implement-regression.md +0 -173
  32. package/dist/registry/ai-manager-rules/implement-phases/implement-repro.md +0 -104
  33. package/dist/registry/ai-manager-rules/implement-phases/implement-scoping.md +0 -100
  34. package/dist/registry/ai-manager-rules/implement-phases/implement-smoke.md +0 -237
  35. package/dist/registry/ai-manager-rules/implement-phases/implement-spike.md +0 -121
  36. package/dist/registry/ai-manager-rules/implement-phases/implement-validate.md +0 -375
  37. package/dist/registry/ai-manager-rules/retrospective.md +0 -116
  38. package/dist/registry/ai-manager-rules/shared-phases/address-pr-feedback.md +0 -188
  39. package/dist/registry/ai-manager-rules/shared-phases/submit-pr.md +0 -202
  40. package/dist/registry/ai-manager-rules/shared-phases/wait-for-pr-review.md +0 -170
  41. package/dist/registry/ai-manager-rules/spec-phases/spec-competitor-analysis.md +0 -105
  42. package/dist/registry/ai-manager-rules/spec-phases/spec-completeness-review.md +0 -66
  43. package/dist/registry/ai-manager-rules/spec-phases/spec-spec.md +0 -139
  44. package/dist/registry/ai-manager-rules/user-survey-phases/phase1-survey-scoping.md +0 -60
  45. package/dist/registry/ai-manager-rules/user-survey-phases/phase2-survey-build-linkedin.md +0 -23
  46. package/dist/registry/ai-manager-rules/user-survey-phases/phase3-survey-build-reddit.md +0 -22
  47. package/dist/registry/ai-manager-rules/user-survey-phases/phase4-survey-build-x.md +0 -21
  48. package/dist/registry/ai-manager-rules/user-survey-phases/phase5-survey-build-facebook.md +0 -19
  49. package/dist/registry/ai-manager-rules/user-survey-phases/phase6-survey-build-custom.md +0 -15
  50. package/dist/registry/ai-manager-rules/user-survey-phases/phase7-survey-dispatch.md +0 -45
  51. package/dist/registry/providers/ado.json +0 -19
  52. package/dist/registry/providers/github.json +0 -19
  53. package/dist/registry/scripts/cleanup-branch.js +0 -287
  54. package/dist/registry/scripts/evaluate-code-quality.js +0 -66
  55. package/dist/registry/scripts/exec-with-timeout.js +0 -142
  56. package/dist/registry/scripts/generate-engagement-emails.js +0 -705
  57. package/dist/registry/scripts/newsletter-helpers.js +0 -671
  58. package/dist/registry/scripts/profile-server.js +0 -388
  59. package/dist/registry/scripts/run-thank-you-workflow.js +0 -92
  60. package/dist/registry/scripts/send-newsletter-simple.js +0 -85
  61. package/dist/registry/scripts/send-thank-you-emails.js +0 -54
  62. package/dist/registry/scripts/validate-openapi-limits.js +0 -311
  63. package/dist/registry/scripts/validate-test-coverage.js +0 -262
  64. package/dist/registry/scripts/verify-test-coverage.js +0 -66
  65. package/dist/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +0 -53
  66. package/dist/registry/templates/bootstrap/CODE-QUALITY-REPORT-TEMPLATE.md +0 -37
  67. package/dist/registry/templates/bootstrap/TEST-COVERAGE-REPORT-TEMPLATE.md +0 -35
  68. package/dist/registry/templates/business-development/IDEATION-REPORT-TEMPLATE.md +0 -29
  69. package/dist/registry/templates/business-development/PRICING-STRATEGY-TEMPLATE.md +0 -126
  70. package/dist/registry/templates/customer-development/customer-interview-template.md +0 -99
  71. package/dist/registry/templates/customer-development/customer-persona-template.md +0 -69
  72. package/dist/registry/templates/customer-development/follow-up-email-templates.md +0 -132
  73. package/dist/registry/templates/customer-development/insight-analysis-template.md +0 -74
  74. package/dist/registry/templates/customer-development/prospect-inventory-template.csv +0 -3
  75. package/dist/registry/templates/customer-development/search-strategy-template.md +0 -123
  76. package/dist/registry/templates/customer-development/strategic-recommendations-template.md +0 -53
  77. package/dist/registry/templates/customer-development/thank-you-email-template.html +0 -124
  78. package/dist/registry/templates/customer-development/thank-you-note-template.md +0 -16
  79. package/dist/registry/templates/customer-development/triage-log-template.md +0 -278
  80. package/dist/registry/templates/customer-development/weekly-newsletter-template.html +0 -204
  81. package/dist/registry/templates/evidence/Design-Evidence.md +0 -30
  82. package/dist/registry/templates/evidence/Implementation-BugEvidence.md +0 -94
  83. package/dist/registry/templates/evidence/Implementation-FeatureEvidence.md +0 -129
  84. package/dist/registry/templates/evidence/Spec-Evidence.md +0 -19
  85. package/dist/registry/templates/help/HelpNeeded.md +0 -14
  86. package/dist/registry/templates/legal/NDA-TEMPLATE.md +0 -170
  87. package/dist/registry/templates/legal/PATENT-TEMPLATE.md +0 -372
  88. package/dist/registry/templates/legal/TRADEMARK-TEMPLATE.md +0 -339
  89. package/dist/registry/templates/legal/contract-review-checklist.md +0 -193
  90. package/dist/registry/templates/legal/review-report-template.md +0 -198
  91. package/dist/registry/templates/legal/saas-terms-template.md +0 -174
  92. package/dist/registry/templates/legal/sow-template.md +0 -117
  93. package/dist/registry/templates/legal/template-variables.md +0 -131
  94. package/dist/registry/templates/marketing/DOMAIN-REGISTRATION-TEMPLATE.md +0 -194
  95. package/dist/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +0 -66
  96. package/dist/registry/templates/marketing/STORYTELLING-TEMPLATE.md +0 -130
  97. package/dist/registry/templates/marketing/WEBSITE-TEMPLATE.md +0 -262
  98. package/dist/registry/templates/marketing/github-pages-workflow.yml +0 -64
  99. package/dist/registry/templates/replicate/implementation-checklist.md +0 -39
  100. package/dist/registry/templates/replicate/use-cases-template.md +0 -88
  101. package/dist/registry/templates/retrospective/RETROSPECTIVE-TEMPLATE.md +0 -55
  102. package/dist/registry/templates/specs/BUGSPEC-TEMPLATE.md +0 -37
  103. package/dist/registry/templates/specs/FEATURESPEC-TEMPLATE.md +0 -66
  104. package/dist/registry/templates/specs/TECHSPEC-TEMPLATE.md +0 -39
  105. package/dist/registry/workflows/bootstrap/create-architecture.md +0 -38
  106. package/dist/registry/workflows/bootstrap/detect-broken-windows.md +0 -300
  107. package/dist/registry/workflows/bootstrap/evaluate-code-quality.md +0 -35
  108. package/dist/registry/workflows/bootstrap/verify-test-coverage.md +0 -36
  109. package/dist/registry/workflows/brainstorming/blue-sky-brainstorming.md +0 -211
  110. package/dist/registry/workflows/brainstorming/codebase-brainstorming.md +0 -165
  111. package/dist/registry/workflows/business-development/create-business-plan.md +0 -737
  112. package/dist/registry/workflows/business-development/ideate-business-opportunity.md +0 -55
  113. package/dist/registry/workflows/business-development/price-product.md +0 -325
  114. package/dist/registry/workflows/compliance/detect-compliance-requirements.md +0 -78
  115. package/dist/registry/workflows/compliance/generate-audit-evidence.md +0 -75
  116. package/dist/registry/workflows/compliance/soc2-evidence-generator.md +0 -332
  117. package/dist/registry/workflows/customer-development/insight-analysis.md +0 -156
  118. package/dist/registry/workflows/customer-development/insight-triage.md +0 -938
  119. package/dist/registry/workflows/customer-development/interview-preparation.md +0 -452
  120. package/dist/registry/workflows/customer-development/linkedin-outreach.md +0 -593
  121. package/dist/registry/workflows/customer-development/strategic-brainstorming.md +0 -146
  122. package/dist/registry/workflows/customer-development/thank-customers.md +0 -203
  123. package/dist/registry/workflows/customer-development/user-survey-dispatch.md +0 -60
  124. package/dist/registry/workflows/customer-development/users-to-target.md +0 -112
  125. package/dist/registry/workflows/customer-development/weekly-newsletter.md +0 -366
  126. package/dist/registry/workflows/deploy/cloud-deployment.md +0 -310
  127. package/dist/registry/workflows/improve-fraim/contribute.md +0 -32
  128. package/dist/registry/workflows/improve-fraim/file-issue.md +0 -32
  129. package/dist/registry/workflows/learning/build-skillset.md +0 -212
  130. package/dist/registry/workflows/learning/synthesize-learnings.md +0 -284
  131. package/dist/registry/workflows/legal/contract-review-analysis.md +0 -382
  132. package/dist/registry/workflows/legal/nda.md +0 -69
  133. package/dist/registry/workflows/legal/patent-filing.md +0 -76
  134. package/dist/registry/workflows/legal/saas-contract-development.md +0 -213
  135. package/dist/registry/workflows/legal/trademark-filing.md +0 -77
  136. package/dist/registry/workflows/marketing/content-creation.md +0 -37
  137. package/dist/registry/workflows/marketing/convert-to-pdf.md +0 -235
  138. package/dist/registry/workflows/marketing/create-modern-website.md +0 -456
  139. package/dist/registry/workflows/marketing/domain-registration.md +0 -323
  140. package/dist/registry/workflows/marketing/hbr-article.md +0 -73
  141. package/dist/registry/workflows/marketing/launch-checklist.md +0 -37
  142. package/dist/registry/workflows/marketing/marketing-strategy.md +0 -45
  143. package/dist/registry/workflows/marketing/storytelling.md +0 -65
  144. package/dist/registry/workflows/performance/analyze-performance.md +0 -65
  145. package/dist/registry/workflows/product-building/design.md +0 -103
  146. package/dist/registry/workflows/product-building/implement.md +0 -74
  147. package/dist/registry/workflows/product-building/iterate-on-pr-comments.md +0 -70
  148. package/dist/registry/workflows/product-building/prep-issue.md +0 -41
  149. package/dist/registry/workflows/product-building/prototype.md +0 -65
  150. package/dist/registry/workflows/product-building/resolve.md +0 -168
  151. package/dist/registry/workflows/product-building/retrospect.md +0 -86
  152. package/dist/registry/workflows/product-building/spec.md +0 -181
  153. package/dist/registry/workflows/product-building/test.md +0 -125
  154. package/dist/registry/workflows/productivity-report/productivity-report.md +0 -263
  155. package/dist/registry/workflows/quality-assurance/browser-validation.md +0 -221
  156. package/dist/registry/workflows/quality-assurance/iterative-improvement-cycle.md +0 -562
  157. package/dist/registry/workflows/replicate/replicate-discovery.md +0 -336
  158. package/dist/registry/workflows/replicate/replicate-to-issues.md +0 -324
  159. package/dist/registry/workflows/reviewer/review-implementation-vs-design-spec.md +0 -638
  160. package/dist/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +0 -675
  161. package/dist/registry/workflows/startup-credits/aws-activate-application.md +0 -535
  162. package/dist/registry/workflows/startup-credits/google-cloud-application.md +0 -647
  163. package/dist/registry/workflows/startup-credits/microsoft-azure-application.md +0 -538
  164. package/dist/scripts/build-stub-registry.js +0 -108
  165. package/dist/src/ai-manager/ai-manager.js +0 -480
  166. package/dist/src/ai-manager/phase-flow.js +0 -357
  167. package/dist/src/ai-manager/types.js +0 -5
  168. package/dist/src/fraim-mcp-server.js +0 -1885
  169. package/dist/tests/debug-tools.js +0 -80
  170. package/dist/tests/shared-server-utils.js +0 -57
  171. package/dist/tests/test-add-ide.js +0 -283
  172. package/dist/tests/test-ai-coach-edge-cases.js +0 -420
  173. package/dist/tests/test-ai-coach-mcp-integration.js +0 -450
  174. package/dist/tests/test-ai-coach-performance.js +0 -328
  175. package/dist/tests/test-ai-coach-phase-content.js +0 -264
  176. package/dist/tests/test-ai-coach-workflows.js +0 -514
  177. package/dist/tests/test-cli.js +0 -228
  178. package/dist/tests/test-client-scripts-validation.js +0 -167
  179. package/dist/tests/test-complete-setup-flow.js +0 -110
  180. package/dist/tests/test-config-system.js +0 -279
  181. package/dist/tests/test-debug-session.js +0 -134
  182. package/dist/tests/test-end-to-end-hybrid-validation.js +0 -328
  183. package/dist/tests/test-enhanced-session-init.js +0 -188
  184. package/dist/tests/test-first-run-journey.js +0 -368
  185. package/dist/tests/test-fraim-issues.js +0 -59
  186. package/dist/tests/test-genericization.js +0 -44
  187. package/dist/tests/test-hybrid-script-execution.js +0 -340
  188. package/dist/tests/test-ide-detector.js +0 -46
  189. package/dist/tests/test-improved-setup.js +0 -121
  190. package/dist/tests/test-mcp-config-generator.js +0 -99
  191. package/dist/tests/test-mcp-connection.js +0 -107
  192. package/dist/tests/test-mcp-issue-integration.js +0 -156
  193. package/dist/tests/test-mcp-lifecycle-methods.js +0 -240
  194. package/dist/tests/test-mcp-shared-server.js +0 -308
  195. package/dist/tests/test-mcp-template-processing.js +0 -160
  196. package/dist/tests/test-modular-issue-tracking.js +0 -165
  197. package/dist/tests/test-node-compatibility.js +0 -95
  198. package/dist/tests/test-npm-install.js +0 -68
  199. package/dist/tests/test-package-size.js +0 -108
  200. package/dist/tests/test-pr-review-workflow.js +0 -307
  201. package/dist/tests/test-prep-issue.js +0 -129
  202. package/dist/tests/test-productivity-integration.js +0 -157
  203. package/dist/tests/test-script-location-independence.js +0 -198
  204. package/dist/tests/test-script-sync.js +0 -557
  205. package/dist/tests/test-server-utils.js +0 -32
  206. package/dist/tests/test-session-rehydration.js +0 -148
  207. package/dist/tests/test-setup-integration.js +0 -98
  208. package/dist/tests/test-setup-scenarios.js +0 -322
  209. package/dist/tests/test-standalone.js +0 -143
  210. package/dist/tests/test-stub-registry.js +0 -136
  211. package/dist/tests/test-sync-stubs.js +0 -143
  212. package/dist/tests/test-sync-version-update.js +0 -93
  213. package/dist/tests/test-telemetry.js +0 -193
  214. package/dist/tests/test-token-validator.js +0 -30
  215. package/dist/tests/test-user-journey.js +0 -236
  216. package/dist/tests/test-users-to-target-workflow.js +0 -253
  217. package/dist/tests/test-utils.js +0 -109
  218. package/dist/tests/test-wizard.js +0 -71
  219. package/dist/tests/test-workflow-discovery.js +0 -242
  220. package/labels.json +0 -52
  221. package/registry/agent-guardrails.md +0 -63
  222. package/registry/fraim.md +0 -48
  223. package/setup.js +0 -171
  224. package/tsconfig.json +0 -23
@@ -1,357 +0,0 @@
1
- "use strict";
2
- /**
3
- * Phase flow logic for AI Manager workflows
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getNextPhase = getNextPhase;
7
- exports.isPhaseValidForWorkflow = isPhaseValidForWorkflow;
8
- exports.getPhaseOnFailure = getPhaseOnFailure;
9
- exports.getPhasesForWorkflow = getPhasesForWorkflow;
10
- exports.getNextPhaseForImplement = getNextPhaseForImplement;
11
- exports.isPhaseValidForIssueType = isPhaseValidForIssueType;
12
- exports.getPhasesForIssueType = getPhasesForIssueType;
13
- exports.getPhaseOnImplementFailure = getPhaseOnImplementFailure;
14
- /**
15
- * Phase flows for different workflow types
16
- */
17
- const BUG_PHASE_FLOW = [
18
- 'implement-scoping',
19
- 'implement-repro',
20
- 'implement-code',
21
- 'implement-validate',
22
- 'implement-regression',
23
- 'implement-completeness-review',
24
- 'submit-pr',
25
- 'wait-for-pr-review',
26
- 'retrospective',
27
- ];
28
- const FEATURE_PHASE_FLOW = [
29
- 'implement-scoping',
30
- 'implement-spike',
31
- 'implement-code',
32
- 'implement-validate',
33
- 'implement-smoke',
34
- 'implement-regression',
35
- 'implement-completeness-review',
36
- 'submit-pr',
37
- 'wait-for-pr-review',
38
- 'retrospective',
39
- ];
40
- const SPEC_PHASE_FLOW = [
41
- 'spec-spec',
42
- 'spec-competitor-analysis',
43
- 'spec-completeness-review',
44
- 'submit-pr',
45
- 'wait-for-pr-review',
46
- 'retrospective',
47
- ];
48
- const DESIGN_PHASE_FLOW = [
49
- 'design-design',
50
- 'design-completeness-review',
51
- 'submit-pr',
52
- 'wait-for-pr-review',
53
- 'retrospective',
54
- ];
55
- const TEST_PHASE_FLOW = [
56
- 'test-test',
57
- 'test-validate',
58
- 'submit-pr',
59
- 'wait-for-pr-review',
60
- 'retrospective',
61
- ];
62
- const CUSTOMER_DEVELOPMENT_PHASE_FLOW = [
63
- 'customer-profiling',
64
- 'platform-discovery',
65
- 'prospect-qualification',
66
- 'inventory-compilation',
67
- ];
68
- const USER_SURVEY_PHASE_FLOW = [
69
- 'survey-scoping',
70
- 'survey-build-linkedin',
71
- 'survey-build-reddit',
72
- 'survey-build-x',
73
- 'survey-build-facebook',
74
- 'survey-build-custom',
75
- 'survey-dispatch',
76
- ];
77
- /**
78
- * Get the next phase in the workflow
79
- * @param currentPhase - Current phase
80
- * @param workflowType - Type of workflow
81
- * @param issueType - Type of issue (only used for implement workflow)
82
- * @returns Next phase or null if at end of workflow
83
- */
84
- function getNextPhase(currentPhase, workflowType, issueType) {
85
- // Special handling for address-pr-feedback phase
86
- if (currentPhase === 'address-pr-feedback') {
87
- // Success path: After addressing feedback, go back to appropriate validation phase
88
- if (workflowType === 'implement') {
89
- return 'implement-validate';
90
- }
91
- else if (workflowType === 'spec') {
92
- return 'spec-completeness-review';
93
- }
94
- else if (workflowType === 'design') {
95
- return 'design-completeness-review';
96
- }
97
- else if (workflowType === 'test') {
98
- return 'test-validate';
99
- }
100
- else {
101
- throw new Error(`Unknown workflow type: ${workflowType}`);
102
- }
103
- }
104
- let flow;
105
- if (workflowType === 'implement') {
106
- if (!issueType) {
107
- throw new Error('Issue type is required for implement workflow');
108
- }
109
- flow = issueType === 'bug' ? BUG_PHASE_FLOW : FEATURE_PHASE_FLOW;
110
- }
111
- else if (workflowType === 'spec') {
112
- flow = SPEC_PHASE_FLOW;
113
- }
114
- else if (workflowType === 'design') {
115
- flow = DESIGN_PHASE_FLOW;
116
- }
117
- else if (workflowType === 'test') {
118
- flow = TEST_PHASE_FLOW;
119
- }
120
- else if (workflowType === 'customer-development') {
121
- flow = CUSTOMER_DEVELOPMENT_PHASE_FLOW;
122
- }
123
- else if (workflowType === 'user-survey') {
124
- flow = USER_SURVEY_PHASE_FLOW;
125
- }
126
- else {
127
- throw new Error(`Unknown workflow type: ${workflowType}`);
128
- }
129
- const currentIndex = flow.indexOf(currentPhase);
130
- if (currentIndex === -1) {
131
- throw new Error(`Invalid phase "${currentPhase}" for workflow type "${workflowType}"`);
132
- }
133
- if (currentIndex >= flow.length - 1) {
134
- return null; // At end of workflow
135
- }
136
- return flow[currentIndex + 1];
137
- }
138
- /**
139
- * Check if a phase is valid for the given workflow type
140
- * @param phase - Phase to check
141
- * @param workflowType - Type of workflow
142
- * @param issueType - Type of issue (only used for implement workflow)
143
- * @returns True if phase is valid for workflow type
144
- */
145
- function isPhaseValidForWorkflow(phase, workflowType, issueType) {
146
- let flow;
147
- if (workflowType === 'implement') {
148
- if (!issueType)
149
- return false;
150
- flow = issueType === 'bug' ? BUG_PHASE_FLOW : FEATURE_PHASE_FLOW;
151
- }
152
- else if (workflowType === 'spec') {
153
- flow = SPEC_PHASE_FLOW;
154
- }
155
- else if (workflowType === 'design') {
156
- flow = DESIGN_PHASE_FLOW;
157
- }
158
- else if (workflowType === 'test') {
159
- flow = TEST_PHASE_FLOW;
160
- }
161
- else if (workflowType === 'customer-development') {
162
- flow = CUSTOMER_DEVELOPMENT_PHASE_FLOW;
163
- }
164
- else if (workflowType === 'user-survey') {
165
- flow = USER_SURVEY_PHASE_FLOW;
166
- }
167
- else {
168
- return false;
169
- }
170
- if (phase === 'address-pr-feedback') {
171
- return ['implement', 'spec', 'design', 'test'].includes(workflowType);
172
- }
173
- return flow.includes(phase);
174
- }
175
- /**
176
- * Get the phase to return to when a phase fails
177
- * @param failedPhase - The phase that failed
178
- * @param workflowType - Type of workflow
179
- * @param issueType - Type of issue (currently unused - failure handling is the same for bug/feature)
180
- * @returns Phase to return to
181
- */
182
- function getPhaseOnFailure(failedPhase, workflowType, issueType // eslint-disable-line @typescript-eslint/no-unused-vars
183
- ) {
184
- if (workflowType === 'implement') {
185
- // Implement workflow failure handling
186
- switch (failedPhase) {
187
- case 'implement-scoping':
188
- return 'implement-scoping'; // Start over at scoping
189
- case 'implement-repro':
190
- return 'implement-scoping'; // Go back to understand the issue better
191
- case 'implement-spike':
192
- return 'implement-scoping'; // Go back to understand requirements better
193
- case 'implement-code':
194
- return 'implement-scoping'; // Go back to re-understand requirements
195
- case 'implement-validate':
196
- return 'implement-code'; // Implementation doesn't work, fix the code
197
- case 'implement-smoke':
198
- return 'implement-code'; // Broke existing functionality, fix the implementation
199
- case 'implement-regression':
200
- return 'implement-code'; // Test issues likely indicate implementation problems
201
- case 'implement-completeness-review':
202
- return 'implement-validate'; // Missing validation, go back to validate properly
203
- case 'submit-pr':
204
- return 'implement-completeness-review'; // PR submission issues, review completeness
205
- case 'wait-for-pr-review':
206
- // PR feedback should go to address-pr-feedback phase
207
- return 'address-pr-feedback';
208
- case 'retrospective':
209
- // If retrospective fails, retry the same phase
210
- return 'retrospective';
211
- case 'address-pr-feedback':
212
- // If addressing PR feedback fails, retry the same phase
213
- return 'address-pr-feedback';
214
- default:
215
- return 'implement-code'; // Default fallback
216
- }
217
- }
218
- else if (workflowType === 'spec') {
219
- // Spec workflow failure handling
220
- switch (failedPhase) {
221
- case 'spec-spec':
222
- return 'spec-spec'; // Start over at spec
223
- case 'spec-competitor-analysis':
224
- return 'spec-spec'; // Go back to improve spec if competitive analysis fails
225
- case 'spec-completeness-review':
226
- return 'spec-spec'; // Go back to improve competitive analysis
227
- case 'submit-pr':
228
- return 'spec-completeness-review';
229
- case 'wait-for-pr-review':
230
- return 'address-pr-feedback'; // PR feedback goes to address phase
231
- case 'retrospective':
232
- return 'retrospective'; // Retry retrospective if it fails
233
- case 'address-pr-feedback':
234
- return 'address-pr-feedback'; // Retry addressing feedback
235
- default:
236
- return 'spec-spec';
237
- }
238
- }
239
- else if (workflowType === 'design') {
240
- // Design workflow failure handling
241
- switch (failedPhase) {
242
- case 'design-design':
243
- return 'design-design'; // Start over at design
244
- case 'design-completeness-review':
245
- return 'design-design'; // Go back to improve design
246
- case 'submit-pr':
247
- return 'design-completeness-review';
248
- case 'wait-for-pr-review':
249
- return 'address-pr-feedback'; // PR feedback goes to address phase
250
- case 'retrospective':
251
- return 'retrospective'; // Retry retrospective if it fails
252
- case 'address-pr-feedback':
253
- return 'address-pr-feedback'; // Retry addressing feedback
254
- default:
255
- return 'design-design';
256
- }
257
- }
258
- else if (workflowType === 'test') {
259
- // Test workflow failure handling
260
- switch (failedPhase) {
261
- case 'test-test':
262
- return 'test-test'; // Start over at test
263
- case 'test-validate':
264
- return 'test-test'; // Go back to fix tests
265
- case 'submit-pr':
266
- return 'test-validate';
267
- case 'wait-for-pr-review':
268
- return 'address-pr-feedback'; // PR feedback goes to address phase
269
- case 'retrospective':
270
- return 'retrospective'; // Retry retrospective if it fails
271
- case 'address-pr-feedback':
272
- return 'address-pr-feedback'; // Retry addressing feedback
273
- default:
274
- return 'test-test';
275
- }
276
- }
277
- else if (workflowType === 'customer-development') {
278
- // Customer development workflow failure handling
279
- switch (failedPhase) {
280
- case 'customer-profiling':
281
- return 'customer-profiling'; // Start over at profiling
282
- case 'platform-discovery':
283
- return 'customer-profiling'; // Go back to refine customer profile
284
- case 'prospect-qualification':
285
- return 'platform-discovery'; // Go back to find more prospects
286
- case 'inventory-compilation':
287
- return 'prospect-qualification'; // Go back to improve qualification
288
- default:
289
- return 'customer-profiling';
290
- }
291
- }
292
- else if (workflowType === 'user-survey') {
293
- // User survey workflow failure handling
294
- switch (failedPhase) {
295
- case 'survey-scoping':
296
- return 'survey-scoping';
297
- case 'survey-build-linkedin':
298
- case 'survey-build-reddit':
299
- case 'survey-build-x':
300
- case 'survey-build-facebook':
301
- case 'survey-build-custom':
302
- return 'survey-scoping'; // Go back to revise questions
303
- case 'survey-dispatch':
304
- return 'survey-build-linkedin'; // Go back to check builds
305
- default:
306
- return 'survey-scoping';
307
- }
308
- }
309
- // Unknown workflow, return first phase of implement as fallback
310
- return 'implement-scoping';
311
- }
312
- /**
313
- * Get all phases for a workflow type
314
- * @param workflowType - Type of workflow
315
- * @param issueType - Type of issue (only used for implement workflow)
316
- * @returns Array of phases
317
- */
318
- function getPhasesForWorkflow(workflowType, issueType) {
319
- if (workflowType === 'implement') {
320
- if (!issueType) {
321
- throw new Error('Issue type is required for implement workflow');
322
- }
323
- return issueType === 'bug' ? [...BUG_PHASE_FLOW] : [...FEATURE_PHASE_FLOW];
324
- }
325
- else if (workflowType === 'spec') {
326
- return [...SPEC_PHASE_FLOW];
327
- }
328
- else if (workflowType === 'design') {
329
- return [...DESIGN_PHASE_FLOW];
330
- }
331
- else if (workflowType === 'test') {
332
- return [...TEST_PHASE_FLOW];
333
- }
334
- else if (workflowType === 'customer-development') {
335
- return [...CUSTOMER_DEVELOPMENT_PHASE_FLOW];
336
- }
337
- else if (workflowType === 'user-survey') {
338
- return [...USER_SURVEY_PHASE_FLOW];
339
- }
340
- else {
341
- throw new Error(`Unknown workflow type: ${workflowType}`);
342
- }
343
- }
344
- // Legacy functions for backward compatibility
345
- function getNextPhaseForImplement(currentPhase, issueType) {
346
- return getNextPhase(currentPhase, 'implement', issueType);
347
- }
348
- function isPhaseValidForIssueType(phase, issueType) {
349
- return isPhaseValidForWorkflow(phase, 'implement', issueType);
350
- }
351
- function getPhasesForIssueType(issueType) {
352
- return getPhasesForWorkflow('implement', issueType);
353
- }
354
- // Legacy function for backward compatibility
355
- function getPhaseOnImplementFailure(failedPhase, issueType) {
356
- return getPhaseOnFailure(failedPhase, 'implement', issueType);
357
- }
@@ -1,5 +0,0 @@
1
- "use strict";
2
- /**
3
- * Type definitions for AI Manager phase-based protocol
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });