fraim-framework 2.0.36 → 2.0.38

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 (192) hide show
  1. package/bin/fraim.js +5 -52
  2. package/dist/registry/scripts/build-scripts-generator.js +205 -0
  3. package/dist/registry/scripts/fraim-config.js +61 -0
  4. package/dist/registry/scripts/generic-issues-api.js +100 -0
  5. package/dist/registry/scripts/openapi-generator.js +664 -0
  6. package/dist/registry/scripts/performance/profile-server.js +390 -0
  7. package/dist/scripts/build-stub-registry.js +108 -0
  8. package/dist/src/cli/commands/doctor.js +5 -5
  9. package/dist/src/cli/commands/init-project.js +74 -0
  10. package/dist/src/cli/commands/setup.js +176 -0
  11. package/dist/src/cli/commands/sync.js +33 -19
  12. package/dist/src/cli/commands/test-mcp.js +135 -0
  13. package/dist/src/cli/fraim.js +6 -0
  14. package/dist/src/cli/setup/auto-mcp-setup.js +367 -0
  15. package/dist/src/cli/setup/ide-detector.js +163 -0
  16. package/dist/src/cli/setup/mcp-config-generator.js +115 -0
  17. package/dist/src/cli/setup/token-validator.js +49 -0
  18. package/dist/test-utils.js +96 -0
  19. package/dist/tests/debug-tools.js +2 -2
  20. package/dist/tests/esm-compat.js +11 -0
  21. package/dist/tests/shared-server-utils.js +57 -0
  22. package/dist/tests/test-chalk-esm-issue.js +159 -0
  23. package/dist/tests/test-chalk-real-world.js +265 -0
  24. package/dist/tests/test-chalk-regression.js +2 -18
  25. package/dist/tests/test-chalk-resolution-issue.js +304 -0
  26. package/dist/tests/test-client-scripts-validation.js +27 -5
  27. package/dist/tests/test-complete-setup-flow.js +110 -0
  28. package/dist/tests/test-fraim-install-chalk-issue.js +254 -0
  29. package/dist/tests/test-ide-detector.js +46 -0
  30. package/dist/tests/test-improved-setup.js +121 -0
  31. package/dist/tests/test-mcp-config-generator.js +70 -0
  32. package/dist/tests/test-mcp-connection.js +58 -117
  33. package/dist/tests/test-mcp-issue-integration.js +2 -2
  34. package/dist/tests/test-mcp-lifecycle-methods.js +34 -100
  35. package/dist/tests/test-mcp-shared-server.js +308 -0
  36. package/dist/tests/test-npm-resolution-diagnostic.js +140 -0
  37. package/dist/tests/test-package-size.js +101 -0
  38. package/dist/tests/test-prep-issue.js +34 -1
  39. package/dist/tests/test-script-location-independence.js +39 -62
  40. package/dist/tests/test-server-utils.js +32 -0
  41. package/dist/tests/test-session-rehydration.js +2 -2
  42. package/dist/tests/test-setup-integration.js +98 -0
  43. package/dist/tests/test-standalone.js +2 -2
  44. package/dist/tests/test-stub-registry.js +136 -0
  45. package/dist/tests/test-sync-stubs.js +143 -0
  46. package/dist/tests/test-telemetry.js +2 -2
  47. package/dist/tests/test-token-validator.js +30 -0
  48. package/dist/tests/test-user-journey.js +2 -1
  49. package/package.json +7 -9
  50. package/registry/agent-guardrails.md +62 -62
  51. package/registry/scripts/code-quality-check.sh +559 -559
  52. package/registry/scripts/detect-tautological-tests.sh +38 -38
  53. package/registry/scripts/prep-issue.sh +61 -30
  54. package/registry/scripts/validate-openapi-limits.ts +366 -366
  55. package/registry/scripts/validate-test-coverage.ts +280 -280
  56. package/registry/scripts/verify-pr-comments.sh +70 -70
  57. package/registry/stubs/workflows/bootstrap/create-architecture.md +11 -0
  58. package/registry/stubs/workflows/bootstrap/detect-broken-windows.md +11 -0
  59. package/registry/stubs/workflows/bootstrap/evaluate-code-quality.md +11 -0
  60. package/registry/stubs/workflows/bootstrap/verify-test-coverage.md +11 -0
  61. package/registry/stubs/workflows/business-development/create-business-plan.md +11 -0
  62. package/registry/stubs/workflows/business-development/ideate-business-opportunity.md +11 -0
  63. package/registry/stubs/workflows/business-development/price-product.md +18 -0
  64. package/registry/stubs/workflows/convert-to-pdf.md +11 -0
  65. package/registry/stubs/workflows/customer-development/insight-analysis.md +11 -0
  66. package/registry/stubs/workflows/customer-development/insight-triage.md +11 -0
  67. package/registry/stubs/workflows/customer-development/interview-preparation.md +11 -0
  68. package/registry/stubs/workflows/customer-development/linkedin-outreach.md +11 -0
  69. package/registry/stubs/workflows/customer-development/strategic-brainstorming.md +11 -0
  70. package/registry/stubs/workflows/customer-development/thank-customers.md +11 -0
  71. package/registry/stubs/workflows/customer-development/weekly-newsletter.md +11 -0
  72. package/registry/stubs/workflows/deploy/cloud-deployment.md +11 -0
  73. package/registry/stubs/workflows/improve-fraim/contribute.md +11 -0
  74. package/registry/stubs/workflows/improve-fraim/file-issue.md +11 -0
  75. package/registry/stubs/workflows/marketing/content-creation.md +11 -0
  76. package/registry/stubs/workflows/marketing/hbr-article.md +11 -0
  77. package/registry/stubs/workflows/marketing/launch-checklist.md +11 -0
  78. package/registry/stubs/workflows/marketing/marketing-strategy.md +11 -0
  79. package/registry/stubs/workflows/marketing/storytelling.md +11 -0
  80. package/registry/stubs/workflows/performance/analyze-performance.md +11 -0
  81. package/registry/stubs/workflows/product-building/design.md +11 -0
  82. package/registry/stubs/workflows/product-building/implement.md +12 -0
  83. package/registry/stubs/workflows/product-building/iterate-on-pr-comments.md +11 -0
  84. package/registry/stubs/workflows/product-building/prep-issue.md +11 -0
  85. package/registry/stubs/workflows/product-building/prototype.md +11 -0
  86. package/registry/stubs/workflows/product-building/resolve.md +11 -0
  87. package/registry/stubs/workflows/product-building/retrospect.md +11 -0
  88. package/registry/stubs/workflows/product-building/spec.md +11 -0
  89. package/registry/stubs/workflows/product-building/test.md +11 -0
  90. package/registry/stubs/workflows/quality-assurance/browser-validation.md +11 -0
  91. package/registry/stubs/workflows/quality-assurance/iterative-improvement-cycle.md +11 -0
  92. package/registry/stubs/workflows/replicate/replicate-discovery.md +11 -0
  93. package/registry/stubs/workflows/replicate/replicate-to-issues.md +11 -0
  94. package/registry/stubs/workflows/reviewer/review-implementation-vs-design-spec.md +11 -0
  95. package/registry/stubs/workflows/reviewer/review-implementation-vs-feature-spec.md +11 -0
  96. package/registry/stubs/workflows/startup-credits/aws-activate-application.md +11 -0
  97. package/registry/stubs/workflows/startup-credits/google-cloud-application.md +11 -0
  98. package/registry/stubs/workflows/startup-credits/microsoft-azure-application.md +11 -0
  99. package/.github/workflows/ci.yml +0 -65
  100. package/.github/workflows/deploy-fraim.yml +0 -87
  101. package/.github/workflows/phase-change.yml +0 -251
  102. package/.github/workflows/status-change.yml +0 -68
  103. package/.github/workflows/sync-on-pr-review.yml +0 -66
  104. package/examples/simple-webapp/TESTING.md +0 -62
  105. package/examples/simple-webapp/example-test.ts +0 -186
  106. package/registry/github/workflows/ci.yml +0 -51
  107. package/registry/github/workflows/phase-change.yml +0 -251
  108. package/registry/github/workflows/status-change.yml +0 -68
  109. package/registry/github/workflows/sync-on-pr-review.yml +0 -66
  110. package/registry/mcp-template.jsonc +0 -29
  111. package/registry/rules/agent-success-criteria.md +0 -52
  112. package/registry/rules/agent-testing-guidelines.md +0 -502
  113. package/registry/rules/architecture.md +0 -52
  114. package/registry/rules/communication.md +0 -122
  115. package/registry/rules/continuous-learning.md +0 -55
  116. package/registry/rules/debugging-multitenancy-issues.md +0 -85
  117. package/registry/rules/ephemeral-execution.md +0 -57
  118. package/registry/rules/git-safe-commands.md +0 -34
  119. package/registry/rules/hitl-ppe-record-analysis.md +0 -302
  120. package/registry/rules/integrity-and-test-ethics.md +0 -275
  121. package/registry/rules/local-development.md +0 -254
  122. package/registry/rules/merge-requirements.md +0 -231
  123. package/registry/rules/simplicity.md +0 -118
  124. package/registry/rules/software-development-lifecycle.md +0 -105
  125. package/registry/rules/spike-first-development.md +0 -205
  126. package/registry/rules/successful-debugging-patterns.md +0 -491
  127. package/registry/rules/telemetry.md +0 -67
  128. package/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +0 -53
  129. package/registry/templates/bootstrap/CODE-QUALITY-REPORT-TEMPLATE.md +0 -37
  130. package/registry/templates/bootstrap/TEST-COVERAGE-REPORT-TEMPLATE.md +0 -35
  131. package/registry/templates/business-development/IDEATION-REPORT-TEMPLATE.md +0 -29
  132. package/registry/templates/business-development/PRICING-STRATEGY-TEMPLATE.md +0 -126
  133. package/registry/templates/customer-development/customer-interview-template.md +0 -99
  134. package/registry/templates/customer-development/follow-up-email-templates.md +0 -132
  135. package/registry/templates/customer-development/insight-analysis-template.md +0 -74
  136. package/registry/templates/customer-development/strategic-recommendations-template.md +0 -53
  137. package/registry/templates/customer-development/thank-you-email-template.html +0 -124
  138. package/registry/templates/customer-development/thank-you-note-template.md +0 -16
  139. package/registry/templates/customer-development/triage-log-template.md +0 -278
  140. package/registry/templates/customer-development/weekly-newsletter-template.html +0 -204
  141. package/registry/templates/evidence/Design-Evidence.md +0 -30
  142. package/registry/templates/evidence/Implementation-BugEvidence.md +0 -86
  143. package/registry/templates/evidence/Implementation-FeatureEvidence.md +0 -121
  144. package/registry/templates/evidence/Spec-Evidence.md +0 -19
  145. package/registry/templates/help/HelpNeeded.md +0 -14
  146. package/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +0 -66
  147. package/registry/templates/replicate/implementation-checklist.md +0 -39
  148. package/registry/templates/replicate/use-cases-template.md +0 -88
  149. package/registry/templates/retrospective/RETROSPECTIVE-TEMPLATE.md +0 -55
  150. package/registry/templates/specs/BUGSPEC-TEMPLATE.md +0 -37
  151. package/registry/templates/specs/FEATURESPEC-TEMPLATE.md +0 -29
  152. package/registry/templates/specs/TECHSPEC-TEMPLATE.md +0 -39
  153. package/registry/workflows/bootstrap/create-architecture.md +0 -38
  154. package/registry/workflows/bootstrap/evaluate-code-quality.md +0 -36
  155. package/registry/workflows/bootstrap/verify-test-coverage.md +0 -37
  156. package/registry/workflows/business-development/create-business-plan.md +0 -737
  157. package/registry/workflows/business-development/ideate-business-opportunity.md +0 -55
  158. package/registry/workflows/business-development/price-product.md +0 -325
  159. package/registry/workflows/convert-to-pdf.md +0 -235
  160. package/registry/workflows/customer-development/insight-analysis.md +0 -156
  161. package/registry/workflows/customer-development/insight-triage.md +0 -933
  162. package/registry/workflows/customer-development/interview-preparation.md +0 -421
  163. package/registry/workflows/customer-development/linkedin-outreach.md +0 -593
  164. package/registry/workflows/customer-development/strategic-brainstorming.md +0 -146
  165. package/registry/workflows/customer-development/thank-customers.md +0 -203
  166. package/registry/workflows/customer-development/weekly-newsletter.md +0 -366
  167. package/registry/workflows/deploy/cloud-deployment.md +0 -310
  168. package/registry/workflows/improve-fraim/contribute.md +0 -32
  169. package/registry/workflows/improve-fraim/file-issue.md +0 -32
  170. package/registry/workflows/marketing/content-creation.md +0 -37
  171. package/registry/workflows/marketing/hbr-article.md +0 -73
  172. package/registry/workflows/marketing/launch-checklist.md +0 -37
  173. package/registry/workflows/marketing/marketing-strategy.md +0 -45
  174. package/registry/workflows/performance/analyze-performance.md +0 -65
  175. package/registry/workflows/product-building/design.md +0 -130
  176. package/registry/workflows/product-building/implement.md +0 -315
  177. package/registry/workflows/product-building/iterate-on-pr-comments.md +0 -70
  178. package/registry/workflows/product-building/prep-issue.md +0 -43
  179. package/registry/workflows/product-building/prototype.md +0 -60
  180. package/registry/workflows/product-building/resolve.md +0 -164
  181. package/registry/workflows/product-building/retrospect.md +0 -86
  182. package/registry/workflows/product-building/spec.md +0 -117
  183. package/registry/workflows/product-building/test.md +0 -120
  184. package/registry/workflows/quality-assurance/browser-validation.md +0 -221
  185. package/registry/workflows/quality-assurance/iterative-improvement-cycle.md +0 -562
  186. package/registry/workflows/replicate/replicate-discovery.md +0 -336
  187. package/registry/workflows/replicate/replicate-to-issues.md +0 -319
  188. package/registry/workflows/reviewer/review-implementation-vs-design-spec.md +0 -632
  189. package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +0 -669
  190. package/registry/workflows/startup-credits/aws-activate-application.md +0 -535
  191. package/registry/workflows/startup-credits/google-cloud-application.md +0 -647
  192. package/registry/workflows/startup-credits/microsoft-azure-application.md +0 -538
@@ -1,86 +0,0 @@
1
- # Retrospective Creation
2
-
3
- ## INTENT
4
- To capture learnings and insights from completed issues, enabling continuous improvement and preventing future similar problems through systematic analysis and documentation.
5
-
6
- ## PRINCIPLES
7
- - **Success Criteria**: Focus on Integrity (Self-reflection) and Independence (Learning from mistakes) - see `rules/agent-success-criteria.md` (fetch via `get_fraim_file`).
8
- - Every completed issue requires a retrospective
9
- - Focus on root causes, not just symptoms
10
- - Document both successes and failures
11
- - Create actionable prevention measures
12
- - Share learnings with other agents
13
- - Continuous Learning: Follow "Continuous Learning" principles (read `rules/continuous-learning.md` via `get_fraim_file`)
14
-
15
- ## WORKFLOW
16
-
17
- 1. **Label the issue** `status:wip` and remove `status:complete`
18
- 2. **Create retrospective document** using the template
19
- 3. **Complete retrospective** following the quality checklist
20
- 4. **When ready for review**, flip issue to `status:needs-review` and remove `status:wip`
21
- 5. **Iterate** until the PR is approved
22
-
23
- ## RETROSPECTIVE TRIGGERS
24
-
25
- - **All Issues**: Every completed issue requires a retrospective
26
- - **Complex Issues (>3 iterations)**: Must create detailed retrospective
27
- - **Process Violations**: Any workflow rule violations require detailed retrospectives
28
- - **Work Loss Incidents**: Any incidents where work is lost require detailed retrospectives
29
-
30
- ## RETROSPECTIVE CREATION PROCESS
31
-
32
- ### 1. Create Retrospective File
33
- - **File path**: `retrospectives/issue-{issue-number}-{kebab-title}-postmortem.md`
34
- - **Template**: Use Retrospective template: `get_fraim_file({ path: "templates/retrospective/RETROSPECTIVE-TEMPLATE.md" })`
35
- - **Copy template**: Copy the template file and fill in the placeholders
36
-
37
- ### 2. Root Cause Analysis
38
- - Identify underlying causes, not just symptoms
39
- - Document what went wrong and why
40
- - Analyze process failures and human errors
41
- - Look for patterns that could affect other issues
42
-
43
- ### 3. Prevention Measures
44
- - Document specific actions to prevent recurrence
45
- - Update rules and workflows based on learnings
46
- - Share solutions with other agents through issue comments
47
- - Identify process improvements
48
-
49
- ### 4. Document Success Factors
50
- - What worked well and why
51
- - Best practices discovered
52
- - Tools and techniques that helped
53
- - Lessons that can be applied to future issues
54
-
55
- ## RETROSPECTIVE QUALITY CHECKLIST
56
-
57
- Before marking retrospective complete, verify:
58
- - [ ] Root cause analysis completed (not just symptoms)
59
- - [ ] Prevention measures documented
60
- - [ ] Process improvements identified
61
- - [ ] Success factors captured
62
- - [ ] Action items are specific and actionable
63
- - [ ] Template followed completely
64
- - [ ] File saved in correct location
65
- - [ ] All placeholders replaced with actual content
66
- - [ ] Timeline of events is accurate and complete
67
- - [ ] Lessons learned are actionable
68
-
69
- ## EXAMPLES
70
-
71
- ### Good: Comprehensive Retrospective
72
- ```
73
- - Root cause: "Agent didn't verify workspace directory before file operations"
74
- - Prevention: "Added mandatory pwd check before any file operation"
75
- - Learning: "Workspace violations are common without explicit safeguards"
76
- - Git Issues Suggested: "Update local-development.mdc with verification checklist"
77
- ```
78
-
79
- ### Bad: Surface-Level Retrospective
80
- ```
81
- - Problem: "File created in wrong location"
82
- - Solution: "Moved file to correct location"
83
- - Learning: "Need to be more careful"
84
- ```
85
-
86
- **CRITICAL**: Do not close the issue until retrospective is created, reviewed, and approved.
@@ -1,117 +0,0 @@
1
- # Workflow: spec
2
-
3
- **Path:** `workflows/spec.md`
4
-
5
- ---
6
-
7
- # Specification Phase
8
-
9
- ## INTENT
10
- To create comprehensive, detailed product specifications that clarify the Why, What and User Experiences for new features.
11
-
12
- ## PRINCIPLES
13
- - **Success Criteria**: Optimize for Integrity, Correctness, Completeness, Independence, and Speed - see `rules/agent-success-criteria.md` (fetch via `get_fraim_file`).
14
- - **Start with the User**: Understand the user's needs and experiences before implementing
15
- - **User Experience Matters**: Focus on creating a great user experience right from the beginning
16
- - **Validation Criteria**: Define clear validation criteria to ensure the feature meets user needs
17
- - **Simplicity**: Maintain simplicity in feature definition (read `rules/simplicity.md` via `get_fraim_file`)
18
-
19
- ## SPECIFICATION WORKFLOW
20
-
21
- ### Step 1: Issue Identification
22
- Ask for {issue_number} (and optional {slug}). Get slug details using GitHub MCP.
23
-
24
- ### Step 2: Phase Initiation
25
- Label the issue 'phase:spec' (GitHub Action will automatically create a draft PR if none exists, or update the existing PR with phase-specific details, and label the issue `status:wip`)
26
-
27
- ### Step 3: Environment Setup
28
- **IMPORTANT**: The user has already run `prep-issue.sh` which has:
29
- - ✅ Created the feature branch
30
- - ✅ Checked out the branch
31
- - ✅ Pushed the empty branch to origin
32
- - ✅ Indexed the codebase with Serena
33
- - ✅ Opened the editor in the prepared workspace
34
-
35
- You can start working immediately in the prepared environment. No need to create branches or wait for GitHub Actions.
36
-
37
- ### Step 4: Work Location
38
- You are already in the correct workspace prepared by the user. Confirm you're on the right branch and start working.
39
-
40
- ### Step 5: Pre-Creation Validation
41
- Before creating any specification document, agents MUST:
42
-
43
- 1. **Verify Template Selection**:
44
- - Use Feature Spec template: `get_fraim_file({ path: "templates/specs/FEATURESPEC-TEMPLATE.md" })`
45
-
46
- 2. **Validate Naming Convention**:
47
- - Format: `docs/feature specs/{issue_number}-{kebab-title}.md`
48
- - Example: `docs/feature specs/228-improve-token-refresh.md`
49
- - NO other naming patterns allowed
50
-
51
- 3. **Template Compliance Check**:
52
- - Read and understand the template first
53
-
54
- ### Step 6: Specification Document Creation
55
-
56
- #### Core Principle: Focus on WHAT and WHY, Not HOW
57
- **Feature specifications describe the desired outcome and user experience, NOT technical implementation details.**
58
-
59
- #### Include:
60
- - **High-Fidelity Mocks**: All UI changes must include clickable or high-fidelity HTML/CSS mocks. Markdown code blocks are NOT sufficient for UI specifications.
61
- - Clear user stories and acceptance criteria.
62
- - Edge cases and error states.
63
-
64
- #### Exclude:
65
- - **Markdown Mocks**: Do NOT use markdown code blocks (e.g. ` ```html `) to mock UI. Use real HTML/CSS files or screenshots.
66
- - Technical implementation details.
67
- - Database schema changes (these belong in the Design Phase).
68
-
69
- ### Step 7: Specification Creation Checklist
70
- Before committing your work, verify:
71
- - [ ] Correct template used (`FEATURESPEC-TEMPLATE.md`)
72
- - [ ] Proper file naming: `docs/feature specs/{issue_number}-{kebab-title}.md`
73
- - [ ] High-Fidelity mocks included (if UI changes)
74
- - [ ] No Markdown mocks used for UI
75
- - [ ] All template sections completed
76
- - [ ] No placeholder text remaining
77
- - [ ] Issue labeled `phase:spec`
78
- - [ ] Working in correct branch
79
-
80
- ### Step 8: Submit for Review
81
- - Commit and sync your work
82
- - Label the issue 'status:needs-review' and remove 'status:wip'
83
- - Update the PR with a comment to include evidence - Use Spec Evidence template: `get_fraim_file({ path: "templates/evidence/Spec-Evidence.md" })`
84
- - **Next Step**: Switch to "Iterate on PR Comments" workflow: `get_fraim_file({ path: "workflows/product-building/iterate-on-pr-comments.md" })`
85
-
86
- ### Step 9: Iteration
87
- If workflow actions or reviewer feedback indicates more work is needed:
88
- - Label the issue 'status:wip' and remove 'status:needs-review'
89
- - Go back to Step 6 and iterate until PR is approved
90
-
91
- ## EXAMPLES
92
-
93
- ### Good: Comprehensive Specification Process
94
- ```
95
- Issue #84: "Add calendar sync"
96
- 1. ✅ Identified: Issue #84, slug: "add-calendar-sync"
97
- 2. ✅ Phase: Set phase:spec, PR created
98
- 3. ✅ Environment: User ran prep-issue.sh, ready to work
99
- 4. ✅ Location: Working in prepared workspace with Serena indexing
100
- 5. ✅ Spec: Created docs/feature specs/84-add-calendar-sync.md
101
- 6. ✅ Mocks: Included high-fidelity HTML mocks for the sync settings
102
- 7. ✅ Review: Set status:needs-review
103
- 8. ✅ Iteration: Incorporated feedback, updated spec
104
- Result: Clear, user-focused specification with high-fi mocks
105
- ```
106
-
107
- ### Bad: Incomplete Specification Process
108
- ```
109
- Issue #84: "Add calendar sync"
110
- 1. ✅ Identified: Issue #84
111
- 2. ❌ Skip: Didn't set phase:spec
112
- 3. ❌ Skip: Didn't create branch
113
- 4. ❌ Skip: Started coding without spec
114
- 5. ❌ Skip: No spec document created
115
- 6. ❌ Skip: Used simple markdown mocks for complex UI
116
- Result: Unclear user experience, potential rework
117
- ```
@@ -1,120 +0,0 @@
1
- # Workflow: test
2
-
3
- **Path:** `workflows/test.md`
4
-
5
- ---
6
-
7
- # Testing Phase
8
-
9
- ## INTENT
10
- To create comprehensive test coverage that accurately reproduces issues and validates solutions, ensuring robust testing through proper test structure, failure verification, and systematic test execution.
11
-
12
- ## PRINCIPLES
13
- - **Success Criteria**: Optimize for Integrity (Honest reporting), Correctness (Coverage), Completeness, Independence, and Speed - see `rules/agent-success-criteria.md` (fetch via `get_fraim_file`).
14
- - **Test-Driven**: Write tests that reproduce the issue before fixing
15
- - **Comprehensive Coverage**: Ensure all scenarios are tested
16
- - **Failure Verification**: Confirm tests fail before implementation
17
- - **Proper Structure**: Use established test patterns and frameworks
18
- - **Systematic Execution**: Follow consistent testing procedures
19
- - **Testing Guidelines**: Follow "Agent Testing Guidelines" (read `rules/agent-testing-guidelines.md` via `get_fraim_file`)
20
- - **Integrity**: Adhere to "Integrity and Test Ethics" (read `rules/integrity-and-test-ethics.md` via `get_fraim_file`)
21
- - **Architecture**: Follow existing architecture - see `.fraim/config.json` for the path (`customizations.architectureDoc`)
22
-
23
- ## TESTING WORKFLOW
24
-
25
- ### Step 1: Issue Identification
26
- Ask for {issue_number} (and optional {slug}); confirm target branch feature/{issue_number}-{slug}.
27
-
28
- ### Step 2: Phase Initiation
29
- Label the issue 'phase:tests'. (GitHub Action will automatically create a draft PR if none exists, or update the existing PR with phase-specific details, and label the issue `status:wip`)
30
-
31
- ### Step 3: Environment Setup
32
- **IMPORTANT**: The user has already run `prep-issue.sh` which has:
33
- - ✅ Created the feature branch
34
- - ✅ Checked out the branch
35
- - ✅ Pushed the empty branch to origin
36
- - ✅ Indexed the codebase with Serena
37
- - ✅ Opened the editor in the prepared workspace
38
-
39
- You can start working immediately in the prepared environment. No need to create branches or wait for GitHub Actions.
40
-
41
- ### Step 4: Work Location
42
- You are already in the correct workspace prepared by the user. Confirm you're on the right branch and start working.
43
-
44
- ### Step 5: Testing Work
45
- Your work entails the following:
46
-
47
- - Review the RFC associated with this issue.
48
- - Determine whether tests need to be added to an existing test suite, or a new one needs to be created.
49
- - **CRITICAL: Write INTEGRATION tests that demonstrate the REAL USER SCENARIO**
50
- - Test the actual end-to-end user experience, not unit tests for hypothetical fixes
51
- - Use real services and APIs where possible (not mocks)
52
- - Verify the issue occurs in the real system as described in the issue
53
- - Example: For email threading issues, actually send emails and verify they appear as new messages vs replies
54
- - **Use Case Mapping**: If working with documented use cases, map each use case to test cases:
55
- - For each use case, create corresponding test scenarios (happy path, edge cases, error cases)
56
- - Organize tests by use case category
57
- - Ensure all high-priority use cases have test coverage
58
- - Run the test cases to ensure they fail (demonstrating the issue exists)
59
- - Flip issue to 'status:needs-review' and remove 'status:wip'
60
-
61
- ### Step 5.1: Robustness & Permutation Testing (MANDATORY)
62
- **You must author tests that specifically target fragility:**
63
-
64
- 1. **Regex Resilience**: if using regex, test for:
65
- - Case sensitivity (upper/lower/mixed)
66
- - Line endings (`\n` vs `\r\n`)
67
- - Whitespace variations
68
- 2. **Negative & Default State Testing**:
69
- - Assert that empty inputs fail (do not silently default)
70
- - Assert that fallback values (e.g. "No intent defined") trigger failures
71
- 3. **Boundary Conditions**:
72
- - Test inputs that are too short, too long, or malformed
73
- 4. **Silent Failure Prevention**:
74
- - Ensure your tests *assert content coverage*, not just *existence*. (e.g., `assert(content.length > 20)` instead of `assert(content)`)
75
-
76
- **❌ DO NOT:**
77
- - Write unit tests for code that doesn't exist yet
78
- - Test hypothetical fixes or solutions
79
- - Create mock tests that don't use real services
80
- - Test individual components in isolation
81
-
82
- **✅ DO:**
83
- - Test the complete user workflow end-to-end
84
- - Use real APIs and services when possible
85
- - Verify the actual problem described in the issue
86
- - Verify test fails if product code is removed (No Tautologies)
87
- - Create tests that will pass AFTER the fix is implemented
88
-
89
- ### Step 6: Iteration
90
- If workflow actions or reviewer feedback indicates more work is needed, ensure the issue is set back to `status:wip` and continue working as above.
91
-
92
- ## EXAMPLES
93
-
94
- ### Good: Comprehensive Testing Process
95
- ```
96
- Issue #84: "Fix calendar sync timeout"
97
- 1. ✅ Identified: Issue #84, branch feature/84-fix-sync
98
- 2. ✅ Phase: Set phase:tests, PR created
99
- 3. ✅ Environment: User ran prep-issue.sh, ready to work
100
- 4. ✅ Location: Working in prepared workspace with Serena indexing
101
- 5. ✅ RFC Review: Read docs/rfcs/84-fix-sync-timeout.md
102
- 6. ✅ Analysis: Determined need to add timeout tests
103
- 7. ✅ Test Creation: Added test cases for timeout scenarios
104
- 8. ✅ Failure Verification: Confirmed tests fail before fix
105
- 9. ✅ Review: Set status:needs-review
106
- 10. ✅ Iteration: Incorporated feedback, updated tests
107
- Result: Comprehensive test coverage with proper structure
108
- ```
109
-
110
- ### Bad: Incomplete Testing Process
111
- ```
112
- Issue #84: "Fix calendar sync timeout"
113
- 1. ✅ Identified: Issue #84
114
- 2. ❌ Skip: Didn't review RFC
115
- 3. ❌ Skip: Started testing without understanding requirements
116
- 4. ❌ Skip: No test cases written
117
- 5. ❌ Skip: Didn't verify tests fail
118
- 6. ❌ Skip: No test structure followed
119
- Result: Incomplete, ineffective testing
120
- ```
@@ -1,221 +0,0 @@
1
- # Browser Validation Workflow
2
-
3
- ## INTENT
4
- To systematically validate the application in a browser, identify issues, and iterate until production-ready through comprehensive browser testing.
5
-
6
- ## PRINCIPLES
7
- - **Systematic Testing**: Don't skip steps, test everything
8
- - **Use Case Driven**: Test based on documented use cases
9
- - **Cross-Browser**: Validate in multiple browsers
10
- - **Responsive**: Test on different screen sizes
11
- - **Iterative**: Fix issues and re-validate
12
-
13
- ## When to Use This Workflow
14
-
15
- Use this workflow to:
16
- - Validate application after implementation (`workflows/implement.md`)
17
- - Comprehensive browser testing before deployment
18
- - Identify browser-specific issues
19
- - Validate responsive design
20
-
21
- This workflow complements:
22
- - `workflows/quality-assurance/iterative-improvement-cycle.md` - For systematic improvement cycles
23
- - `workflows/test.md` - For writing automated tests
24
- - `workflows/deploy/cloud-deployment.md` - For deployment validation
25
-
26
- ## Prerequisites
27
- - Application deployed (or running locally)
28
- - Use case documentation available (if applicable)
29
- - Browser testing tools (Playwright, Selenium, or manual)
30
- - Issue tracking system (GitHub Issues, etc.)
31
-
32
- ## Phase 1: Systematic Browser Testing
33
-
34
- ### 1.1 Prepare Test Environment
35
- - Open browser (Chrome, Firefox, Safari)
36
- - Clear cache and cookies
37
- - Open developer tools for debugging
38
- - Prepare test data if needed
39
-
40
- ### 1.2 Test by Use Case Category
41
- Follow use case documentation (if available) or test by feature:
42
- - **Authentication**: Sign up, login, logout, password reset
43
- - **Core Features**: Main application functionality
44
- - **Secondary Features**: Supporting features
45
- - **Edge Cases**: Error scenarios, boundary conditions
46
-
47
- ### 1.3 Document Findings
48
- For each test:
49
- - ✅ Pass: Feature works as expected
50
- - ⚠️ Minor Issue: Works but has problems
51
- - ❌ Major Issue: Feature broken or missing
52
- - 📝 Note: Observations, improvements
53
-
54
- ## Phase 2: Issue Identification & Documentation
55
-
56
- ### 2.1 Issue Categories
57
- Organize issues by type:
58
- - **Functionality**: Features not working
59
- - **UI/UX**: Styling, layout, usability issues
60
- - **Data**: Incorrect data, missing data
61
- - **Performance**: Slow loading, lag
62
- - **Accessibility**: A11y issues
63
- - **Browser Compatibility**: Issues in specific browsers
64
-
65
- ### 2.2 Issue Documentation Template
66
- Use GitHub Issues or track in a document:
67
-
68
- ```markdown
69
- ## Issue: [Title]
70
-
71
- **Category**: [Functionality/UI/Data/etc.]
72
- **Priority**: High/Medium/Low
73
- **Use Case**: [Related use case]
74
- **Steps to Reproduce**:
75
- 1. [Step]
76
- 2. [Step]
77
- **Expected**: [What should happen]
78
- **Actual**: [What actually happens]
79
- **Screenshot**: [If applicable]
80
- **Browser**: [Chrome/Firefox/etc.]
81
- ```
82
-
83
- ### 2.3 Prioritize Issues
84
- - **Critical**: Blocks core functionality
85
- - **High**: Major feature broken
86
- - **Medium**: Feature works but has problems
87
- - **Low**: Minor issues, polish
88
-
89
- ## Phase 3: Iterative Fixes
90
-
91
- Follow `workflows/quality-assurance/iterative-improvement-cycle.md` for systematic fixes:
92
-
93
- 1. **Fix Order**: Address issues in priority order (Critical → High → Medium → Low)
94
- 2. **Fix Process**: For each issue:
95
- - Reproduce issue locally
96
- - Identify root cause
97
- - Implement fix (follow `workflows/implement.md`)
98
- - Write test (follow `workflows/test.md`)
99
- - Verify fix in browser
100
- - Deploy fix
101
- - Re-validate in production
102
- 3. **Validation After Each Fix**: Test the specific fix, verify no regressions, check related functionality
103
-
104
- ## Phase 4: Comprehensive Validation
105
-
106
- ### 4.1 Complete Use Case Validation
107
- - Go through each use case systematically
108
- - Test complete user journeys
109
- - Verify all steps work correctly
110
- - Document any remaining issues
111
-
112
- ### 4.2 Cross-Browser Testing
113
- - Test in Chrome
114
- - Test in Firefox
115
- - Test in Safari (if on Mac)
116
- - Test in Edge
117
- - Document browser-specific issues
118
-
119
- ### 4.3 Responsive Design Testing
120
- - Test on desktop (1920x1080)
121
- - Test on tablet (768x1024)
122
- - Test on mobile (375x667)
123
- - Verify layouts adapt correctly
124
-
125
- ### 4.4 Performance Testing
126
- - Check page load times
127
- - Test with slow network (throttle)
128
- - Verify API response times
129
- - Check for memory leaks
130
-
131
- ## Phase 5: Production Readiness
132
-
133
- ### 5.1 Final Checklist
134
- - [ ] All critical use cases work
135
- - [ ] No blocking bugs
136
- - [ ] UI/UX is acceptable
137
- - [ ] Data persists correctly
138
- - [ ] Authentication works (if applicable)
139
- - [ ] Error handling works
140
- - [ ] Performance is acceptable
141
- - [ ] Works in major browsers
142
- - [ ] Responsive design works
143
- - [ ] Security is implemented
144
-
145
- ### 5.2 Production Readiness Criteria
146
- - All high-priority use cases validated
147
- - No critical bugs remaining
148
- - Application is stable
149
- - Performance is acceptable
150
- - User experience is good
151
-
152
- ### 5.3 Documentation
153
- - Document known issues (if any)
154
- - Create user guide (if needed)
155
- - Document deployment process
156
- - Create runbook for common issues
157
-
158
- ## Validation Patterns
159
-
160
- ### Use Case Validation Pattern
161
- ```
162
- 1. Navigate to starting page
163
- 2. Perform each step in use case
164
- 3. Verify expected outcomes
165
- 4. Check data persistence
166
- 5. Verify error handling
167
- 6. Test edge cases
168
- ```
169
-
170
- ### Issue Fix Pattern
171
- ```
172
- 1. Reproduce → 2. Fix (follow workflows/implement.md) → 3. Test (follow workflows/test.md) → 4. Deploy → 5. Validate
173
- ```
174
-
175
- ## Best Practices
176
-
177
- 1. **Be Systematic**: Don't skip steps, test everything
178
- 2. **Document Everything**: Record all findings
179
- 3. **Fix Immediately**: Don't accumulate issues (follow `workflows/quality-assurance/iterative-improvement-cycle.md`)
180
- 4. **Test After Fixes**: Always verify fixes work
181
- 5. **Iterate Quickly**: Short fix-validate cycles
182
-
183
- ## Common Issues & Solutions
184
-
185
- 1. **Styling Issues**: CSS not loading
186
- - **Solution**: Check build process, verify CSS files in dist
187
-
188
- 2. **API Errors**: 500 errors from API
189
- - **Solution**: Check server logs, verify environment variables
190
-
191
- 3. **Data Not Showing**: Empty lists, missing data
192
- - **Solution**: Check database connection, verify seed/test data
193
-
194
- 4. **Navigation Issues**: Links not working
195
- - **Solution**: Check routing configuration, verify paths
196
-
197
- 5. **Authentication Issues**: Can't login
198
- - **Solution**: Check auth implementation, verify session handling
199
-
200
- ## Output Artifacts
201
-
202
- 1. **Validation Report**
203
- - Use case validation status
204
- - Issues found and fixed
205
- - Remaining issues (if any)
206
-
207
- 2. **Issue Log**
208
- - All issues documented
209
- - Fixes applied
210
- - Status of each issue
211
-
212
- 3. **Production Readiness Report**
213
- - Checklist completion
214
- - Known issues
215
- - Recommendations
216
-
217
- ## Related Workflows
218
- - `workflows/quality-assurance/iterative-improvement-cycle.md` - **Recommended**: Systematic review-critique-fix-validate cycle
219
- - `workflows/implement.md` - For implementing fixes
220
- - `workflows/test.md` - For writing tests
221
- - `workflows/deploy/cloud-deployment.md` - For deployment validation