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.
- package/bin/fraim.js +5 -52
- package/dist/registry/scripts/build-scripts-generator.js +205 -0
- package/dist/registry/scripts/fraim-config.js +61 -0
- package/dist/registry/scripts/generic-issues-api.js +100 -0
- package/dist/registry/scripts/openapi-generator.js +664 -0
- package/dist/registry/scripts/performance/profile-server.js +390 -0
- package/dist/scripts/build-stub-registry.js +108 -0
- package/dist/src/cli/commands/doctor.js +5 -5
- package/dist/src/cli/commands/init-project.js +74 -0
- package/dist/src/cli/commands/setup.js +176 -0
- package/dist/src/cli/commands/sync.js +33 -19
- package/dist/src/cli/commands/test-mcp.js +135 -0
- package/dist/src/cli/fraim.js +6 -0
- package/dist/src/cli/setup/auto-mcp-setup.js +367 -0
- package/dist/src/cli/setup/ide-detector.js +163 -0
- package/dist/src/cli/setup/mcp-config-generator.js +115 -0
- package/dist/src/cli/setup/token-validator.js +49 -0
- package/dist/test-utils.js +96 -0
- package/dist/tests/debug-tools.js +2 -2
- package/dist/tests/esm-compat.js +11 -0
- package/dist/tests/shared-server-utils.js +57 -0
- package/dist/tests/test-chalk-esm-issue.js +159 -0
- package/dist/tests/test-chalk-real-world.js +265 -0
- package/dist/tests/test-chalk-regression.js +2 -18
- package/dist/tests/test-chalk-resolution-issue.js +304 -0
- package/dist/tests/test-client-scripts-validation.js +27 -5
- package/dist/tests/test-complete-setup-flow.js +110 -0
- package/dist/tests/test-fraim-install-chalk-issue.js +254 -0
- package/dist/tests/test-ide-detector.js +46 -0
- package/dist/tests/test-improved-setup.js +121 -0
- package/dist/tests/test-mcp-config-generator.js +70 -0
- package/dist/tests/test-mcp-connection.js +58 -117
- package/dist/tests/test-mcp-issue-integration.js +2 -2
- package/dist/tests/test-mcp-lifecycle-methods.js +34 -100
- package/dist/tests/test-mcp-shared-server.js +308 -0
- package/dist/tests/test-npm-resolution-diagnostic.js +140 -0
- package/dist/tests/test-package-size.js +101 -0
- package/dist/tests/test-prep-issue.js +34 -1
- package/dist/tests/test-script-location-independence.js +39 -62
- package/dist/tests/test-server-utils.js +32 -0
- package/dist/tests/test-session-rehydration.js +2 -2
- package/dist/tests/test-setup-integration.js +98 -0
- package/dist/tests/test-standalone.js +2 -2
- package/dist/tests/test-stub-registry.js +136 -0
- package/dist/tests/test-sync-stubs.js +143 -0
- package/dist/tests/test-telemetry.js +2 -2
- package/dist/tests/test-token-validator.js +30 -0
- package/dist/tests/test-user-journey.js +2 -1
- package/package.json +7 -9
- package/registry/agent-guardrails.md +62 -62
- package/registry/scripts/code-quality-check.sh +559 -559
- package/registry/scripts/detect-tautological-tests.sh +38 -38
- package/registry/scripts/prep-issue.sh +61 -30
- package/registry/scripts/validate-openapi-limits.ts +366 -366
- package/registry/scripts/validate-test-coverage.ts +280 -280
- package/registry/scripts/verify-pr-comments.sh +70 -70
- package/registry/stubs/workflows/bootstrap/create-architecture.md +11 -0
- package/registry/stubs/workflows/bootstrap/detect-broken-windows.md +11 -0
- package/registry/stubs/workflows/bootstrap/evaluate-code-quality.md +11 -0
- package/registry/stubs/workflows/bootstrap/verify-test-coverage.md +11 -0
- package/registry/stubs/workflows/business-development/create-business-plan.md +11 -0
- package/registry/stubs/workflows/business-development/ideate-business-opportunity.md +11 -0
- package/registry/stubs/workflows/business-development/price-product.md +18 -0
- package/registry/stubs/workflows/convert-to-pdf.md +11 -0
- package/registry/stubs/workflows/customer-development/insight-analysis.md +11 -0
- package/registry/stubs/workflows/customer-development/insight-triage.md +11 -0
- package/registry/stubs/workflows/customer-development/interview-preparation.md +11 -0
- package/registry/stubs/workflows/customer-development/linkedin-outreach.md +11 -0
- package/registry/stubs/workflows/customer-development/strategic-brainstorming.md +11 -0
- package/registry/stubs/workflows/customer-development/thank-customers.md +11 -0
- package/registry/stubs/workflows/customer-development/weekly-newsletter.md +11 -0
- package/registry/stubs/workflows/deploy/cloud-deployment.md +11 -0
- package/registry/stubs/workflows/improve-fraim/contribute.md +11 -0
- package/registry/stubs/workflows/improve-fraim/file-issue.md +11 -0
- package/registry/stubs/workflows/marketing/content-creation.md +11 -0
- package/registry/stubs/workflows/marketing/hbr-article.md +11 -0
- package/registry/stubs/workflows/marketing/launch-checklist.md +11 -0
- package/registry/stubs/workflows/marketing/marketing-strategy.md +11 -0
- package/registry/stubs/workflows/marketing/storytelling.md +11 -0
- package/registry/stubs/workflows/performance/analyze-performance.md +11 -0
- package/registry/stubs/workflows/product-building/design.md +11 -0
- package/registry/stubs/workflows/product-building/implement.md +12 -0
- package/registry/stubs/workflows/product-building/iterate-on-pr-comments.md +11 -0
- package/registry/stubs/workflows/product-building/prep-issue.md +11 -0
- package/registry/stubs/workflows/product-building/prototype.md +11 -0
- package/registry/stubs/workflows/product-building/resolve.md +11 -0
- package/registry/stubs/workflows/product-building/retrospect.md +11 -0
- package/registry/stubs/workflows/product-building/spec.md +11 -0
- package/registry/stubs/workflows/product-building/test.md +11 -0
- package/registry/stubs/workflows/quality-assurance/browser-validation.md +11 -0
- package/registry/stubs/workflows/quality-assurance/iterative-improvement-cycle.md +11 -0
- package/registry/stubs/workflows/replicate/replicate-discovery.md +11 -0
- package/registry/stubs/workflows/replicate/replicate-to-issues.md +11 -0
- package/registry/stubs/workflows/reviewer/review-implementation-vs-design-spec.md +11 -0
- package/registry/stubs/workflows/reviewer/review-implementation-vs-feature-spec.md +11 -0
- package/registry/stubs/workflows/startup-credits/aws-activate-application.md +11 -0
- package/registry/stubs/workflows/startup-credits/google-cloud-application.md +11 -0
- package/registry/stubs/workflows/startup-credits/microsoft-azure-application.md +11 -0
- package/.github/workflows/ci.yml +0 -65
- package/.github/workflows/deploy-fraim.yml +0 -87
- package/.github/workflows/phase-change.yml +0 -251
- package/.github/workflows/status-change.yml +0 -68
- package/.github/workflows/sync-on-pr-review.yml +0 -66
- package/examples/simple-webapp/TESTING.md +0 -62
- package/examples/simple-webapp/example-test.ts +0 -186
- package/registry/github/workflows/ci.yml +0 -51
- package/registry/github/workflows/phase-change.yml +0 -251
- package/registry/github/workflows/status-change.yml +0 -68
- package/registry/github/workflows/sync-on-pr-review.yml +0 -66
- package/registry/mcp-template.jsonc +0 -29
- package/registry/rules/agent-success-criteria.md +0 -52
- package/registry/rules/agent-testing-guidelines.md +0 -502
- package/registry/rules/architecture.md +0 -52
- package/registry/rules/communication.md +0 -122
- package/registry/rules/continuous-learning.md +0 -55
- package/registry/rules/debugging-multitenancy-issues.md +0 -85
- package/registry/rules/ephemeral-execution.md +0 -57
- package/registry/rules/git-safe-commands.md +0 -34
- package/registry/rules/hitl-ppe-record-analysis.md +0 -302
- package/registry/rules/integrity-and-test-ethics.md +0 -275
- package/registry/rules/local-development.md +0 -254
- package/registry/rules/merge-requirements.md +0 -231
- package/registry/rules/simplicity.md +0 -118
- package/registry/rules/software-development-lifecycle.md +0 -105
- package/registry/rules/spike-first-development.md +0 -205
- package/registry/rules/successful-debugging-patterns.md +0 -491
- package/registry/rules/telemetry.md +0 -67
- package/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +0 -53
- package/registry/templates/bootstrap/CODE-QUALITY-REPORT-TEMPLATE.md +0 -37
- package/registry/templates/bootstrap/TEST-COVERAGE-REPORT-TEMPLATE.md +0 -35
- package/registry/templates/business-development/IDEATION-REPORT-TEMPLATE.md +0 -29
- package/registry/templates/business-development/PRICING-STRATEGY-TEMPLATE.md +0 -126
- package/registry/templates/customer-development/customer-interview-template.md +0 -99
- package/registry/templates/customer-development/follow-up-email-templates.md +0 -132
- package/registry/templates/customer-development/insight-analysis-template.md +0 -74
- package/registry/templates/customer-development/strategic-recommendations-template.md +0 -53
- package/registry/templates/customer-development/thank-you-email-template.html +0 -124
- package/registry/templates/customer-development/thank-you-note-template.md +0 -16
- package/registry/templates/customer-development/triage-log-template.md +0 -278
- package/registry/templates/customer-development/weekly-newsletter-template.html +0 -204
- package/registry/templates/evidence/Design-Evidence.md +0 -30
- package/registry/templates/evidence/Implementation-BugEvidence.md +0 -86
- package/registry/templates/evidence/Implementation-FeatureEvidence.md +0 -121
- package/registry/templates/evidence/Spec-Evidence.md +0 -19
- package/registry/templates/help/HelpNeeded.md +0 -14
- package/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +0 -66
- package/registry/templates/replicate/implementation-checklist.md +0 -39
- package/registry/templates/replicate/use-cases-template.md +0 -88
- package/registry/templates/retrospective/RETROSPECTIVE-TEMPLATE.md +0 -55
- package/registry/templates/specs/BUGSPEC-TEMPLATE.md +0 -37
- package/registry/templates/specs/FEATURESPEC-TEMPLATE.md +0 -29
- package/registry/templates/specs/TECHSPEC-TEMPLATE.md +0 -39
- package/registry/workflows/bootstrap/create-architecture.md +0 -38
- package/registry/workflows/bootstrap/evaluate-code-quality.md +0 -36
- package/registry/workflows/bootstrap/verify-test-coverage.md +0 -37
- package/registry/workflows/business-development/create-business-plan.md +0 -737
- package/registry/workflows/business-development/ideate-business-opportunity.md +0 -55
- package/registry/workflows/business-development/price-product.md +0 -325
- package/registry/workflows/convert-to-pdf.md +0 -235
- package/registry/workflows/customer-development/insight-analysis.md +0 -156
- package/registry/workflows/customer-development/insight-triage.md +0 -933
- package/registry/workflows/customer-development/interview-preparation.md +0 -421
- package/registry/workflows/customer-development/linkedin-outreach.md +0 -593
- package/registry/workflows/customer-development/strategic-brainstorming.md +0 -146
- package/registry/workflows/customer-development/thank-customers.md +0 -203
- package/registry/workflows/customer-development/weekly-newsletter.md +0 -366
- package/registry/workflows/deploy/cloud-deployment.md +0 -310
- package/registry/workflows/improve-fraim/contribute.md +0 -32
- package/registry/workflows/improve-fraim/file-issue.md +0 -32
- package/registry/workflows/marketing/content-creation.md +0 -37
- package/registry/workflows/marketing/hbr-article.md +0 -73
- package/registry/workflows/marketing/launch-checklist.md +0 -37
- package/registry/workflows/marketing/marketing-strategy.md +0 -45
- package/registry/workflows/performance/analyze-performance.md +0 -65
- package/registry/workflows/product-building/design.md +0 -130
- package/registry/workflows/product-building/implement.md +0 -315
- package/registry/workflows/product-building/iterate-on-pr-comments.md +0 -70
- package/registry/workflows/product-building/prep-issue.md +0 -43
- package/registry/workflows/product-building/prototype.md +0 -60
- package/registry/workflows/product-building/resolve.md +0 -164
- package/registry/workflows/product-building/retrospect.md +0 -86
- package/registry/workflows/product-building/spec.md +0 -117
- package/registry/workflows/product-building/test.md +0 -120
- package/registry/workflows/quality-assurance/browser-validation.md +0 -221
- package/registry/workflows/quality-assurance/iterative-improvement-cycle.md +0 -562
- package/registry/workflows/replicate/replicate-discovery.md +0 -336
- package/registry/workflows/replicate/replicate-to-issues.md +0 -319
- package/registry/workflows/reviewer/review-implementation-vs-design-spec.md +0 -632
- package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +0 -669
- package/registry/workflows/startup-credits/aws-activate-application.md +0 -535
- package/registry/workflows/startup-credits/google-cloud-application.md +0 -647
- 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
|