fraim-framework 2.0.55 → 2.0.57

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 (120) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/src/cli/commands/init-project.js +10 -4
  3. package/dist/src/cli/setup/mcp-config-generator.js +23 -15
  4. package/dist/src/local-mcp-server/stdio-server.js +207 -0
  5. package/dist/src/utils/validate-workflows.js +101 -0
  6. package/dist/src/utils/workflow-parser.js +81 -0
  7. package/package.json +16 -11
  8. package/registry/scripts/pdf-styles.css +172 -0
  9. package/registry/scripts/prep-issue.sh +46 -4
  10. package/registry/scripts/profile-server.ts +131 -130
  11. package/registry/stubs/workflows/customer-development/user-survey-dispatch.md +1 -1
  12. package/registry/stubs/workflows/customer-development/users-to-target.md +1 -1
  13. package/registry/stubs/workflows/product-building/design.md +1 -1
  14. package/registry/stubs/workflows/product-building/implement.md +1 -1
  15. package/Claude.md +0 -1
  16. package/dist/registry/ai-manager-rules/design-phases/design-completeness-review.md +0 -73
  17. package/dist/registry/ai-manager-rules/design-phases/design-design.md +0 -145
  18. package/dist/registry/ai-manager-rules/implement-phases/implement-code.md +0 -283
  19. package/dist/registry/ai-manager-rules/implement-phases/implement-completeness-review.md +0 -120
  20. package/dist/registry/ai-manager-rules/implement-phases/implement-regression.md +0 -173
  21. package/dist/registry/ai-manager-rules/implement-phases/implement-repro.md +0 -104
  22. package/dist/registry/ai-manager-rules/implement-phases/implement-scoping.md +0 -100
  23. package/dist/registry/ai-manager-rules/implement-phases/implement-smoke.md +0 -237
  24. package/dist/registry/ai-manager-rules/implement-phases/implement-spike.md +0 -121
  25. package/dist/registry/ai-manager-rules/implement-phases/implement-validate.md +0 -375
  26. package/dist/registry/ai-manager-rules/retrospective.md +0 -116
  27. package/dist/registry/ai-manager-rules/shared-phases/address-pr-feedback.md +0 -188
  28. package/dist/registry/ai-manager-rules/shared-phases/submit-pr.md +0 -202
  29. package/dist/registry/ai-manager-rules/shared-phases/wait-for-pr-review.md +0 -170
  30. package/dist/registry/ai-manager-rules/spec-phases/spec-competitor-analysis.md +0 -105
  31. package/dist/registry/ai-manager-rules/spec-phases/spec-completeness-review.md +0 -66
  32. package/dist/registry/ai-manager-rules/spec-phases/spec-spec.md +0 -139
  33. package/dist/registry/providers/ado.json +0 -19
  34. package/dist/registry/providers/github.json +0 -19
  35. package/dist/registry/scripts/cleanup-branch.js +0 -287
  36. package/dist/registry/scripts/evaluate-code-quality.js +0 -66
  37. package/dist/registry/scripts/exec-with-timeout.js +0 -142
  38. package/dist/registry/scripts/generate-engagement-emails.js +0 -705
  39. package/dist/registry/scripts/newsletter-helpers.js +0 -671
  40. package/dist/registry/scripts/profile-server.js +0 -388
  41. package/dist/registry/scripts/run-thank-you-workflow.js +0 -92
  42. package/dist/registry/scripts/send-newsletter-simple.js +0 -85
  43. package/dist/registry/scripts/send-thank-you-emails.js +0 -54
  44. package/dist/registry/scripts/validate-openapi-limits.js +0 -311
  45. package/dist/registry/scripts/validate-test-coverage.js +0 -262
  46. package/dist/registry/scripts/verify-test-coverage.js +0 -66
  47. package/dist/scripts/build-stub-registry.js +0 -108
  48. package/dist/src/ai-manager/ai-manager.js +0 -482
  49. package/dist/src/ai-manager/phase-flow.js +0 -357
  50. package/dist/src/ai-manager/types.js +0 -5
  51. package/dist/src/fraim-mcp-server.js +0 -1885
  52. package/dist/tests/debug-tools.js +0 -80
  53. package/dist/tests/shared-server-utils.js +0 -57
  54. package/dist/tests/test-add-ide.js +0 -283
  55. package/dist/tests/test-ai-coach-edge-cases.js +0 -420
  56. package/dist/tests/test-ai-coach-mcp-integration.js +0 -450
  57. package/dist/tests/test-ai-coach-performance.js +0 -328
  58. package/dist/tests/test-ai-coach-phase-content.js +0 -264
  59. package/dist/tests/test-ai-coach-workflows.js +0 -514
  60. package/dist/tests/test-cli.js +0 -228
  61. package/dist/tests/test-client-scripts-validation.js +0 -167
  62. package/dist/tests/test-complete-setup-flow.js +0 -110
  63. package/dist/tests/test-config-system.js +0 -279
  64. package/dist/tests/test-debug-session.js +0 -134
  65. package/dist/tests/test-end-to-end-hybrid-validation.js +0 -328
  66. package/dist/tests/test-enhanced-session-init.js +0 -188
  67. package/dist/tests/test-first-run-journey.js +0 -368
  68. package/dist/tests/test-fraim-issues.js +0 -59
  69. package/dist/tests/test-genericization.js +0 -44
  70. package/dist/tests/test-hybrid-script-execution.js +0 -340
  71. package/dist/tests/test-ide-detector.js +0 -46
  72. package/dist/tests/test-improved-setup.js +0 -121
  73. package/dist/tests/test-mcp-config-generator.js +0 -99
  74. package/dist/tests/test-mcp-connection.js +0 -107
  75. package/dist/tests/test-mcp-issue-integration.js +0 -156
  76. package/dist/tests/test-mcp-lifecycle-methods.js +0 -240
  77. package/dist/tests/test-mcp-shared-server.js +0 -308
  78. package/dist/tests/test-mcp-template-processing.js +0 -160
  79. package/dist/tests/test-modular-issue-tracking.js +0 -165
  80. package/dist/tests/test-node-compatibility.js +0 -95
  81. package/dist/tests/test-npm-install.js +0 -68
  82. package/dist/tests/test-package-size.js +0 -108
  83. package/dist/tests/test-pr-review-workflow.js +0 -307
  84. package/dist/tests/test-prep-issue.js +0 -129
  85. package/dist/tests/test-productivity-integration.js +0 -157
  86. package/dist/tests/test-script-location-independence.js +0 -198
  87. package/dist/tests/test-script-sync.js +0 -557
  88. package/dist/tests/test-server-utils.js +0 -32
  89. package/dist/tests/test-session-rehydration.js +0 -148
  90. package/dist/tests/test-setup-integration.js +0 -98
  91. package/dist/tests/test-setup-scenarios.js +0 -322
  92. package/dist/tests/test-standalone.js +0 -143
  93. package/dist/tests/test-stub-registry.js +0 -136
  94. package/dist/tests/test-sync-stubs.js +0 -143
  95. package/dist/tests/test-sync-version-update.js +0 -93
  96. package/dist/tests/test-telemetry.js +0 -193
  97. package/dist/tests/test-token-validator.js +0 -30
  98. package/dist/tests/test-user-journey.js +0 -236
  99. package/dist/tests/test-users-to-target-workflow.js +0 -253
  100. package/dist/tests/test-utils.js +0 -109
  101. package/dist/tests/test-wizard.js +0 -71
  102. package/dist/tests/test-workflow-discovery.js +0 -242
  103. package/labels.json +0 -52
  104. package/registry/agent-guardrails.md +0 -63
  105. package/registry/fraim.md +0 -48
  106. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase1-customer-profiling.md +0 -11
  107. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase1-survey-scoping.md +0 -11
  108. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase2-platform-discovery.md +0 -11
  109. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase2-survey-build-linkedin.md +0 -11
  110. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase3-prospect-qualification.md +0 -11
  111. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase3-survey-build-reddit.md +0 -11
  112. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase4-inventory-compilation.md +0 -11
  113. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase4-survey-build-x.md +0 -11
  114. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase5-survey-build-facebook.md +0 -11
  115. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase6-survey-build-custom.md +0 -11
  116. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase7-survey-dispatch.md +0 -11
  117. package/registry/stubs/workflows/customer-development/templates/customer-persona-template.md +0 -11
  118. package/registry/stubs/workflows/customer-development/templates/search-strategy-template.md +0 -11
  119. package/setup.js +0 -171
  120. package/tsconfig.json +0 -23
@@ -1,188 +0,0 @@
1
- # Phase: address-pr-feedback
2
-
3
- ## INTENT
4
- To systematically address all PR feedback items by making targeted changes, replying to comments, and preparing for re-validation.
5
-
6
- ## OUTCOME
7
- All PR feedback addressed with:
8
- - Targeted changes made for each feedback item
9
- - Feedback file updated with resolutions
10
- - PR comments replied to with explanations
11
- - Changes validated and ready for re-review
12
-
13
- ## RULES FOR THIS PHASE
14
-
15
- ### Success Criteria
16
- Read `registry/rules/agent-success-criteria.md` via `get_fraim_file` for the complete framework. Focus especially on:
17
- - **Integrity** (document all changes made)
18
- - **Correctness** (address feedback accurately)
19
- - **Completeness** (address every UNADDRESSED item)
20
-
21
- ### Simplicity Principles
22
- Read `registry/rules/simplicity.md` via `get_fraim_file` for complete guidelines. Critical for feedback phase:
23
- - **Targeted Changes**: Make minimal changes to address specific feedback
24
- - **Manual Validation**: Test changes manually before updating PR
25
- - **Clear Communication**: Reply to each comment with clear explanations
26
-
27
- ## PRINCIPLES
28
- - **Feedback-Driven**: Address only the specific issues raised in PR comments
29
- - **Minimal Changes**: Avoid scope creep or unnecessary refactoring
30
- - **Clear Communication**: Explain resolutions clearly to reviewers
31
- - **Validation**: Ensure changes work before updating PR
32
-
33
- ## 📋 WORKFLOW
34
-
35
- ### Step 1: Read PR Feedback File
36
-
37
- **MANDATORY**: Read the feedback file created by `wait-for-pr-review`:
38
- - File location: `docs/evidence/{issue_number}-{workflow_type}-feedback.md`
39
- - Identify all UNADDRESSED feedback items
40
- - Understand the context and requirements for each item
41
-
42
- ### Step 2: Address Each Feedback Item
43
-
44
- **For each UNADDRESSED item:**
45
-
46
- 1. **Understand the Feedback**:
47
- - Read the comment carefully
48
- - Identify what specific change is requested
49
- - Determine the scope of the change needed
50
-
51
- 2. **Make Targeted Changes**:
52
- - Make minimal, focused changes to address the specific feedback
53
- - Avoid unrelated changes or improvements
54
- - Keep changes as small as possible while fully addressing the feedback
55
-
56
- 3. **Update Feedback File**:
57
- - Change status from UNADDRESSED to ADDRESSED
58
- - Document your resolution approach
59
- - Include details of what you changed
60
-
61
- **Feedback File Update Format**:
62
- ```markdown
63
- ### Comment X - ADDRESSED
64
- - **Author**: reviewer_name
65
- - **Type**: pr_comment|review_comment|review
66
- - **File**: file_path (if applicable)
67
- - **Line**: line_number (if applicable)
68
- - **Comment**: Original feedback text
69
- - **Status**: ADDRESSED
70
- - **Resolution**: Detailed explanation of how you addressed this feedback
71
- - **Changes Made**: Specific files/lines modified
72
- ```
73
-
74
- ### Step 3: Validate Changes
75
-
76
- **Test your changes:**
77
- - Run compilation check: `npx tsc --noEmit --skipLibCheck`
78
- - Run relevant tests to ensure no regressions
79
- - Test manually if the feedback involves UI/API behavior
80
- - Verify the specific issue mentioned in feedback is resolved
81
-
82
- ### Step 4: Reply to PR Comments
83
-
84
- **For each addressed comment:**
85
- - Reply to the original PR comment
86
- - Explain what you changed and how it addresses their concern
87
- - Reference specific files/lines if helpful
88
- - Be clear and professional in your communication
89
-
90
- **Example reply format**:
91
- ```
92
- ✅ **Addressed**: [Brief description of what you changed]
93
-
94
- **Changes made**:
95
- - [Specific change 1]
96
- - [Specific change 2]
97
-
98
- **Files modified**: `path/to/file.ts`, `path/to/test.ts`
99
-
100
- This should resolve the [specific issue mentioned]. Please let me know if you need any clarification!
101
- ```
102
-
103
- ### Step 5: Commit and Push Changes
104
-
105
- **Commit your changes:**
106
- - Use clear commit messages that reference the feedback
107
- - Example: `Address PR feedback: Fix error handling in auth service`
108
- - Push changes to the PR branch
109
-
110
- ## 📸 EVIDENCE REQUIREMENTS
111
-
112
- You MUST provide concrete evidence for all claims:
113
-
114
- 1. **All Feedback Addressed**: Every UNADDRESSED item in feedback file is now ADDRESSED
115
- 2. **Changes Made**: Specific code changes made for each feedback item
116
- 3. **Validation Complete**: Tests pass and changes work as expected
117
- 4. **PR Updated**: Changes committed, pushed, and comments replied to
118
-
119
- ## VALIDATION
120
-
121
- ### Phase Complete When:
122
- - ✅ All UNADDRESSED items in feedback file are now ADDRESSED
123
- - ✅ Feedback file updated with resolution details for each item
124
- - ✅ Targeted changes made to address each specific feedback
125
- - ✅ Changes validated (compilation, tests, manual testing)
126
- - ✅ PR comments replied to with clear explanations
127
- - ✅ Changes committed and pushed to PR branch
128
-
129
- ### Phase Incomplete If:
130
- - ❌ Any UNADDRESSED items remain in feedback file
131
- - ❌ Changes don't actually address the feedback given
132
- - ❌ Tests failing after changes
133
- - ❌ Compilation errors introduced
134
- - ❌ PR comments not replied to
135
- - ❌ Changes not committed/pushed
136
-
137
- ### Report Back:
138
- When you complete this phase, call:
139
-
140
- ```javascript
141
- seekCoachingOnNextStep({
142
- workflowType: "{workflow_type}",
143
- issueNumber: "{issue_number}",
144
- currentPhase: "address-pr-feedback",
145
- status: "complete",
146
- findings: {
147
- feedbackItemsAddressed: {total_items_addressed},
148
- changesValidated: true
149
- },
150
- evidence: {
151
- feedbackFileUpdated: "All UNADDRESSED items now ADDRESSED with resolutions",
152
- changesMade: "Brief summary of changes made",
153
- validationResults: "Compilation and tests pass",
154
- prCommentsReplied: "Replied to all PR comments with explanations"
155
- }
156
- })
157
- ```
158
-
159
- If feedback addressing incomplete, iterate:
160
- ```javascript
161
- seekCoachingOnNextStep({
162
- workflowType: "{workflow_type}",
163
- issueNumber: "{issue_number}",
164
- currentPhase: "address-pr-feedback",
165
- status: "incomplete",
166
- findings: {
167
- uncertainties: ["Issues encountered", "What needs to be fixed"]
168
- }
169
- })
170
- ```
171
-
172
- ## SCRIPTS
173
-
174
- **Compile TypeScript:**
175
- ```bash
176
- npx tsc --noEmit --skipLibCheck
177
- ```
178
-
179
- **Run tests:**
180
- ```bash
181
- npm test
182
- ```
183
-
184
- **Check git status:**
185
- ```bash
186
- git status
187
- git diff
188
- ```
@@ -1,202 +0,0 @@
1
- # Phase: submit-pr
2
-
3
- ## INTENT
4
- To submit completed work for review by creating/updating PR, setting proper labels, and documenting evidence.
5
-
6
- ## OUTCOME
7
- Work is submitted for review with:
8
- - PR created/updated with work
9
- - Proper issue labels applied
10
- - Evidence documented
11
- - Ready to enter PR review phase
12
-
13
- ## PRINCIPLES
14
- - **Complete Documentation**: Evidence shows all work done
15
- - **Proper Labels**: Issue status reflects PR submission
16
- - **Clear Communication**: PR and evidence are clear
17
- - **Ready for Review**: No blockers for PR review process
18
-
19
- ## RULES FOR THIS PHASE
20
-
21
- ### Success Criteria
22
- Read `registry/rules/agent-success-criteria.md` via `get_fraim_file` for the complete framework. Focus on:
23
- - **Integrity** (honest documentation of all work completed)
24
- - **Completeness** (all finalization steps completed)
25
-
26
- ### Simplicity Principles
27
- Read `registry/rules/simplicity.md` via `get_fraim_file` for complete guidelines. Key for finalization:
28
- - **Focus on the assigned issue only** - document only relevant work
29
- - **Clear communication** - evidence should be easy to understand
30
-
31
- ### Git Operations (if needed)
32
- When using git commands directly (if MCP tools unavailable), read `rules/git-safe-commands.md` via `get_fraim_file` to avoid interactive commands that hang agents.
33
-
34
- ## WORKFLOW
35
-
36
- ### Step 1: Create Evidence Document
37
-
38
- **File location:**
39
- ```
40
- docs/evidence/{issue_number}-{workflow_type}-evidence.md
41
- ```
42
-
43
- **Evidence document should include:**
44
-
45
- #### Summary
46
- - Issue number and title
47
- - Workflow type (spec, design, implement, test)
48
- - Brief description of work completed
49
-
50
- #### Work Completed
51
- **For Spec Workflow:**
52
- - Specification document created
53
- - High-fidelity HTML mocks (if UI changes)
54
- - Requirements coverage
55
-
56
- **For Design Workflow:**
57
- - Technical design document
58
- - Architecture decisions
59
- - API specifications
60
- - Database schema (if applicable)
61
-
62
- **For Implement Workflow:**
63
- - Implementation details
64
- - Key files changed
65
- - Approach taken
66
- - Testing completed
67
-
68
- **For Test Workflow:**
69
- - Test suite created/enhanced
70
- - Coverage metrics
71
- - Test results
72
-
73
- #### PR Feedback History (if applicable)
74
- **CRITICAL**: If PR feedback file exists (`docs/evidence/{issue_number}-{workflow_type}-feedback.md`), include its complete contents in the evidence document under this section.
75
-
76
- This shows reviewers:
77
- - All previous feedback received
78
- - How each item was addressed
79
- - Complete audit trail of review iterations
80
-
81
- #### Validation
82
- - How work was validated
83
- - Validation results
84
- - Screenshots/output (if applicable)
85
-
86
- #### Quality Checks
87
- - All deliverables complete
88
- - Documentation clear and professional
89
- - Work ready for next phase or review
90
-
91
- #### Phase Completion
92
- - All phases completed for this workflow
93
- - Evidence from each phase
94
- - Any iterations or challenges
95
-
96
- ### Step 2: Commit and Sync Work
97
-
98
- **Commit all changes:**
99
- - Stage all modified files
100
- - Create commit with descriptive message
101
- - Push to feature branch
102
-
103
- **Commit message format:**
104
- ```
105
- {workflow_type}({issue_number}): complete {phase_name} phase
106
-
107
- - Evidence document created
108
- - All deliverables complete
109
- - Ready for review
110
- ```
111
-
112
- ### Step 3: Verify PR Exists
113
-
114
- **Verify PR:**
115
- - PR exists for the feature branch
116
- - PR title reflects the issue and workflow
117
- - PR description includes context and links to deliverables
118
-
119
- **If PR doesn't exist:**
120
- - Create PR manually
121
- - Link to issue
122
- - Add evidence document link
123
-
124
- ### Step 4: Add PR Comment
125
-
126
- Add comment to PR with link to evidence:
127
- ```
128
- {Workflow_type} workflow complete. Evidence document: docs/evidence/{issue_number}-{workflow_type}-evidence.md
129
-
130
- All phases completed:
131
- {workflow_specific_phases_checklist}
132
-
133
- **PR Feedback History**:
134
- {If feedback file exists, include: "This submission addresses all feedback from previous review rounds. See evidence document for complete feedback history and resolutions."}
135
-
136
- Ready for human review.
137
- ```
138
-
139
- ### Step 5: Update Issue Labels
140
-
141
- **Remove:**
142
- - `status:wip`
143
-
144
- **Add:**
145
- - `status:needs-review`
146
-
147
- **Keep:**
148
- - Current phase label (e.g., `phase:spec`, `phase:design`, `phase:impl`) to indicate which phase is in PR
149
-
150
- **GitHub Repository Context:**
151
- Read `.fraim/config.json` for:
152
- - `git.repoOwner` - GitHub repository owner
153
- - `git.repoName` - GitHub repository name
154
-
155
- Use GitHub MCP tools to update labels.
156
-
157
- ### Step 6: Final Verification
158
-
159
- **Checklist:**
160
- - ✅ Issue labels updated (kept phase label, added needs-review)
161
- - ✅ Evidence document created and complete
162
- - ✅ All work committed and pushed to feature branch
163
- - ✅ PR exists and is ready
164
- - ✅ PR comment added with evidence link
165
- - ✅ All deliverables complete
166
- - ✅ Git status clean
167
-
168
- ## VALIDATION
169
-
170
- ### Phase Complete When:
171
- - ✅ Issue has `status:needs-review` label
172
- - ✅ Issue keeps current phase label to indicate what needs review
173
- - ✅ Evidence document exists and is complete
174
- - ✅ All work committed and synced to remote
175
- - ✅ PR exists and is ready for review
176
- - ✅ PR has comment linking to evidence
177
- - ✅ All previous phases complete
178
-
179
- ### Phase Incomplete If:
180
- - ❌ Labels not updated correctly
181
- - ❌ Evidence document missing or incomplete
182
- - ❌ Work not committed and synced
183
- - ❌ PR not ready
184
- - ❌ Previous phases not complete
185
-
186
- ### Report Back:
187
- ```javascript
188
- seekCoachingOnNextStep({
189
- workflowType: "{workflow_type}",
190
- issueNumber: "{issue_number}",
191
- currentPhase: "submit-pr",
192
- status: "complete",
193
- evidence: {
194
- labelsUpdated: "Issue has status:needs-review and keeps phase label",
195
- evidenceDocument: "docs/evidence/{issue_number}-{workflow_type}-evidence.md created",
196
- workCommitted: "All changes committed and pushed to feature branch",
197
- prStatus: "PR ready for review",
198
- prComment: "PR comment added with evidence link",
199
- allPhasesComplete: "All {workflow_type} phases completed successfully"
200
- }
201
- })
202
- ```
@@ -1,170 +0,0 @@
1
- # Phase: wait-for-pr-review
2
-
3
- ## INTENT
4
- Wait for human instruction to check PR status, then evaluate if PR is ready for merge or needs more work.
5
-
6
- ## OUTCOME
7
- Either:
8
- - **PR Approved**: Workflow complete, ready for merge
9
- - **PR Has Comments**: Write feedback file and return to workflow to address feedback
10
-
11
- ## RULES FOR THIS PHASE
12
-
13
- ### Success Criteria
14
- Read `registry/rules/agent-success-criteria.md` via `get_fraim_file` for the complete framework.
15
-
16
- ## WORKFLOW
17
-
18
- ### Step 1: Wait for Human Instruction
19
-
20
- **Your task is to wait for human instruction.** Do not automatically poll or check PR status.
21
-
22
- When human says "check the PR" or "proceed", move to Step 2.
23
-
24
- ### Step 2: Check PR Status and Comments
25
-
26
- Use GitHub MCP tools to check the PR comprehensively:
27
-
28
- 1. **Get PR Status**: Use `mcp_github_pull_request_read` with method `get` to check if PR is approved
29
- 2. **Get All Comment Types**:
30
- - **PR-level comments**: Use method `get_comments`
31
- - **Review comments**: Use method `get_review_comments` (inline/detailed comments)
32
- - **Review status**: Use method `get_reviews` (approval/changes requested)
33
-
34
- ### Step 3: Evaluate Results and Write Feedback File
35
-
36
- **If PR status shows "approved" AND no unresolved comments:**
37
- - PR is ready for merge
38
- - Report success
39
-
40
- **If PR has ANY comments OR is not approved:**
41
- - PR needs more work
42
- - **CRITICAL**: Write feedback file to `docs/evidence/{issueNumber}-{workflowType}-feedback.md`
43
- - Use Round X format (check existing file to determine next round number)
44
- - Report failure with feedback file path
45
-
46
- ## FEEDBACK FILE FORMAT
47
-
48
- Create or append to `docs/evidence/{issueNumber}-{workflowType}-feedback.md`:
49
-
50
- ```markdown
51
- # PR Feedback for Issue #{issueNumber} - {WorkflowType} Workflow
52
-
53
- ## Round {X} Feedback
54
- *Received: {timestamp}*
55
-
56
- ### Comment {N} - UNADDRESSED
57
- - **Author**: {author}
58
- - **Type**: {pr_comment|review_comment|review}
59
- - **File**: {file_path} (if applicable)
60
- - **Line**: {line_number} (if applicable)
61
- - **Comment**: {comment_body}
62
- - **Status**: UNADDRESSED
63
- ```
64
-
65
- **Round Detection Logic**:
66
- 1. If feedback file doesn't exist → Start with "Round 1"
67
- 2. If feedback file exists → Parse to find highest "Round X", use "Round X+1"
68
- 3. Always append new round, never overwrite existing rounds
69
-
70
- ## VALIDATION
71
-
72
- ### Phase Complete When:
73
- - ✅ PR status is "approved" in GitHub
74
- - ✅ No unresolved comment threads exist
75
- - ✅ No pending review comments
76
-
77
- **Report back with:**
78
- ```javascript
79
- seekCoachingOnNextStep({
80
- workflowType: "{workflow_type}",
81
- issueNumber: "{issue_number}",
82
- currentPhase: "wait-for-pr-review",
83
- status: "complete",
84
- evidence: {
85
- prStatus: "approved",
86
- commentsResolved: true,
87
- readyForMerge: true
88
- }
89
- })
90
- ```
91
-
92
- ### Phase Failed When:
93
- - ✅ PR has unresolved comments
94
- - ✅ PR status is not "approved"
95
- - ✅ Review requests changes
96
-
97
- ### Report Back:
98
-
99
- **When PR is approved and ready:**
100
- ```javascript
101
- seekCoachingOnNextStep({
102
- workflowType: "{workflow_type}",
103
- issueNumber: "{issue_number}",
104
- currentPhase: "wait-for-pr-review",
105
- status: "complete",
106
- evidence: {
107
- prStatus: "approved",
108
- commentsResolved: true,
109
- readyForMerge: true
110
- }
111
- })
112
- ```
113
-
114
- **When PR has comments (CRITICAL: Write feedback file first):**
115
- ```javascript
116
- seekCoachingOnNextStep({
117
- workflowType: "{workflow_type}",
118
- issueNumber: "{issue_number}",
119
- currentPhase: "wait-for-pr-review",
120
- status: "failure",
121
- findings: {
122
- feedbackFile: "{issueNumber}-{workflowType}-feedback.md",
123
- roundNumber: {X},
124
- commentCount: {total_comments},
125
- prStatus: "{current_status}"
126
- }
127
- })
128
- ```
129
-
130
- ## GITHUB MCP TOOLS TO USE
131
-
132
- 1. **Check PR Status**:
133
- ```javascript
134
- mcp_github_pull_request_read({
135
- method: "get",
136
- owner: "{repo_owner}",
137
- repo: "{repo_name}",
138
- pullNumber: {pr_number}
139
- })
140
- ```
141
-
142
- 2. **Get PR Comments**:
143
- ```javascript
144
- mcp_github_pull_request_read({
145
- method: "get_comments",
146
- owner: "{repo_owner}",
147
- repo: "{repo_name}",
148
- pullNumber: {pr_number}
149
- })
150
- ```
151
-
152
- 3. **Get Review Comments**:
153
- ```javascript
154
- mcp_github_pull_request_read({
155
- method: "get_review_comments",
156
- owner: "{repo_owner}",
157
- repo: "{repo_name}",
158
- pullNumber: {pr_number}
159
- })
160
- ```
161
-
162
- 4. **Get Reviews**:
163
- ```javascript
164
- mcp_github_pull_request_read({
165
- method: "get_reviews",
166
- owner: "{repo_owner}",
167
- repo: "{repo_name}",
168
- pullNumber: {pr_number}
169
- })
170
- ```
@@ -1,105 +0,0 @@
1
- # Phase: spec-competitor-analysis
2
-
3
- ## INTENT
4
- To conduct systematic competitive research and analysis for the feature being specified, ensuring comprehensive understanding of competitive landscape and clear differentiation strategy.
5
-
6
- ## OUTCOME
7
- A comprehensive competitive analysis that:
8
- - Documents all configured competitors and their approaches
9
- - Identifies new competitors through systematic research
10
- - Proposes configuration updates with user approval
11
- - Defines clear differentiation strategy and competitive positioning
12
- - Updates the specification with complete competitive landscape analysis
13
-
14
- ## TRIGGER
15
- This phase is triggered after `spec-spec` completion and before `spec-completeness-review`.
16
-
17
- ## CONTEXT ADVANTAGES
18
- - **Full Feature Context**: Complete understanding of proposed feature and requirements
19
- - **Fresh Research**: Current competitive landscape information
20
- - **Strategic Positioning**: Ability to influence feature design based on competitive insights
21
- - **Configuration-Driven**: Systematic analysis of known competitors plus discovery of new ones
22
-
23
- ## WORKFLOW
24
-
25
- ### Step 1: Load Competitor Configuration
26
- - Read `.fraim/config.json` competitors section
27
- - Extract configured competitors and their competitive spaces
28
- - Note any existing competitive intelligence
29
-
30
- ### Step 2: Research Configured Competitors
31
- For each competitor in config:
32
- - Research their current solution for this feature area
33
- - Analyze their strengths and weaknesses in this space
34
- - Gather customer feedback and reviews
35
- - Assess market position and pricing approach
36
- - Document findings in structured format
37
-
38
- ### Step 3: Discover Additional Competitors
39
- - Use web search to find other competitors in the feature space
40
- - Research market for competitors not in configuration
41
- - Identify direct, adjacent, and emerging competitors
42
- - Focus on competitors specifically relevant to this feature
43
-
44
- ### Step 4: Competitor Configuration Updates
45
- - **Identify New Competitors**: Present newly discovered competitors to user
46
- - **Configuration Proposal**: Suggest adding relevant competitors to `.fraim/config.json`
47
- - **User Approval**: Ask user to approve additions: "Found new competitor 'X' in space 'Y'. Add to config?"
48
- - **Auto-Update**: If user approves, automatically update configuration file
49
- - **Documentation**: Note configuration changes in competitive analysis
50
-
51
- ### Step 5: Competitive Analysis
52
- - Compare competitor approaches to our proposed solution
53
- - Identify competitive advantages and disadvantages
54
- - Develop differentiation strategy
55
- - Plan competitive response strategies
56
- - Define market positioning approach
57
-
58
- ### Step 6: Update Specification
59
- - Update Competitive Landscape section with findings
60
- - Ensure all configured competitors are covered
61
- - Include newly discovered competitors
62
- - Add competitive positioning strategy
63
- - Document research sources and methodology
64
- - Validate analysis completeness
65
-
66
- ## VALIDATION
67
-
68
- ### Phase Complete When:
69
- - ✅ All configured competitors analyzed
70
- - ✅ Additional competitors discovered through research
71
- - ✅ User consulted on adding new competitors to config
72
- - ✅ Configuration updated with user-approved competitors
73
- - ✅ Competitive positioning strategy defined
74
- - ✅ Differentiation advantages clearly articulated
75
- - ✅ Research sources documented
76
- - ✅ Analysis covers both configured and discovered competitors
77
- - ✅ Specification competitive landscape section updated
78
-
79
- ### Report Back:
80
- When this phase is complete, call:
81
- ```javascript
82
- seekCoachingOnNextStep({
83
- workflowType: "spec",
84
- issueNumber: "your-issue-number",
85
- currentPhase: "spec-competitor-analysis",
86
- status: "complete",
87
- evidence: {
88
- competitorsAnalyzed: ["competitor1", "competitor2"],
89
- newCompetitorsFound: ["new-competitor1"],
90
- configurationUpdated: true,
91
- differentiationStrategy: "summary of strategy",
92
- specificationUpdated: true
93
- }
94
- })
95
- ```
96
-
97
- ### Phase Incomplete If:
98
- - Configuration competitors not fully researched
99
- - No additional competitor discovery attempted
100
- - User not consulted on configuration updates
101
- - Competitive positioning strategy missing
102
- - Specification not updated with findings
103
-
104
- ## NEXT PHASE
105
- After completing competitor-analysis, proceed to `spec-completeness-review` phase.