fraim-framework 2.0.52 → 2.0.55
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/dist/registry/scripts/profile-server.js +2 -1
- package/dist/src/ai-manager/ai-manager.js +49 -1
- package/dist/src/ai-manager/phase-flow.js +68 -0
- package/dist/src/utils/digest-utils.js +18 -7
- package/dist/tests/test-debug-session.js +6 -2
- package/dist/tests/test-enhanced-session-init.js +6 -2
- package/dist/tests/test-mcp-lifecycle-methods.js +1 -2
- package/dist/tests/test-mcp-template-processing.js +6 -2
- package/dist/tests/test-modular-issue-tracking.js +6 -2
- package/dist/tests/test-node-compatibility.js +4 -2
- package/dist/tests/test-npm-install.js +4 -2
- package/dist/tests/test-productivity-integration.js +157 -0
- package/dist/tests/test-session-rehydration.js +1 -2
- package/dist/tests/test-telemetry.js +1 -2
- package/dist/tests/test-users-to-target-workflow.js +253 -0
- package/index.js +44 -55
- package/package.json +5 -5
- package/registry/agent-guardrails.md +62 -62
- package/registry/scripts/detect-tautological-tests.sh +38 -38
- package/registry/scripts/productivity/build-productivity-csv.mjs +242 -0
- package/registry/scripts/productivity/fetch-pr-details.mjs +144 -0
- package/registry/scripts/productivity/productivity-report.sh +147 -0
- package/registry/scripts/profile-server.ts +1 -1
- package/registry/scripts/validate-openapi-limits.ts +366 -366
- package/registry/scripts/validate-test-coverage.ts +280 -280
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase1-customer-profiling.md +11 -0
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase1-survey-scoping.md +11 -0
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase2-platform-discovery.md +11 -0
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase2-survey-build-linkedin.md +11 -0
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase3-prospect-qualification.md +11 -0
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase3-survey-build-reddit.md +11 -0
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase4-inventory-compilation.md +11 -0
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase4-survey-build-x.md +11 -0
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase5-survey-build-facebook.md +11 -0
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase6-survey-build-custom.md +11 -0
- package/registry/stubs/workflows/customer-development/ai-coach-phases/phase7-survey-dispatch.md +11 -0
- package/registry/stubs/workflows/customer-development/templates/customer-persona-template.md +11 -0
- package/registry/stubs/workflows/customer-development/templates/search-strategy-template.md +11 -0
- package/registry/stubs/workflows/customer-development/user-survey-dispatch.md +11 -0
- package/registry/stubs/workflows/customer-development/users-to-target.md +11 -0
- package/registry/stubs/workflows/productivity-report/productivity-report.md +11 -0
- package/bin/fraim.js +0 -8
- package/dist/registry/ai-manager-rules/design-phases/design.md +0 -108
- package/dist/registry/ai-manager-rules/design-phases/finalize.md +0 -60
- package/dist/registry/ai-manager-rules/design-phases/validate.md +0 -125
- package/dist/registry/ai-manager-rules/design.json +0 -97
- package/dist/registry/ai-manager-rules/implement-phases/code.md +0 -323
- package/dist/registry/ai-manager-rules/implement-phases/completeness-review.md +0 -94
- package/dist/registry/ai-manager-rules/implement-phases/finalize.md +0 -177
- package/dist/registry/ai-manager-rules/implement-phases/quality-review.md +0 -304
- package/dist/registry/ai-manager-rules/implement-phases/regression.md +0 -159
- package/dist/registry/ai-manager-rules/implement-phases/repro.md +0 -101
- package/dist/registry/ai-manager-rules/implement-phases/scoping.md +0 -93
- package/dist/registry/ai-manager-rules/implement-phases/smoke.md +0 -225
- package/dist/registry/ai-manager-rules/implement-phases/spike.md +0 -118
- package/dist/registry/ai-manager-rules/implement-phases/validate.md +0 -347
- package/dist/registry/ai-manager-rules/implement.json +0 -153
- package/dist/registry/ai-manager-rules/shared-phases/finalize.md +0 -169
- package/dist/registry/ai-manager-rules/spec-phases/finalize.md +0 -60
- package/dist/registry/ai-manager-rules/spec-phases/spec.md +0 -102
- package/dist/registry/ai-manager-rules/spec-phases/validate.md +0 -118
- package/dist/registry/ai-manager-rules/spec.json +0 -112
- package/dist/registry/ai-manager-rules/test.json +0 -98
- package/dist/registry/scripts/build-scripts-generator.js +0 -205
- package/dist/registry/scripts/fraim-config.js +0 -61
- package/dist/registry/scripts/generic-issues-api.js +0 -100
- package/dist/registry/scripts/openapi-generator.js +0 -664
- package/dist/registry/scripts/performance/profile-server.js +0 -390
- package/dist/src/ai-manager/evidence-validator.js +0 -309
- package/dist/src/fraim/issue-tracking/ado-provider.js +0 -304
- package/dist/src/fraim/issue-tracking/factory.js +0 -63
- package/dist/src/fraim/issue-tracking/github-provider.js +0 -200
- package/dist/src/fraim/issue-tracking/types.js +0 -7
- package/dist/src/fraim/issue-tracking-config.js +0 -83
- package/dist/src/static-website-middleware.js +0 -75
- package/dist/test-utils.js +0 -96
- package/dist/tests/esm-compat.js +0 -11
- package/dist/tests/test-ai-manager-phase-protocol.js +0 -147
- package/dist/tests/test-ai-manager.js +0 -118
- package/dist/tests/test-chalk-esm-issue.js +0 -159
- package/dist/tests/test-chalk-real-world.js +0 -265
- package/dist/tests/test-chalk-regression.js +0 -377
- package/dist/tests/test-chalk-resolution-issue.js +0 -304
- package/dist/tests/test-evidence-validation.js +0 -221
- package/dist/tests/test-first-run-interactive.js +0 -1
- package/dist/tests/test-fraim-install-chalk-issue.js +0 -254
- package/dist/tests/test-markdown-to-pdf.js +0 -454
- package/dist/tests/test-npm-resolution-diagnostic.js +0 -140
- package/dist/tests/test-pr-review-integration.js +0 -1
- package/dist/website/.nojekyll +0 -0
- package/dist/website/404.html +0 -101
- package/dist/website/CNAME +0 -1
- package/dist/website/README.md +0 -22
- package/dist/website/demo.html +0 -604
- package/dist/website/images/.gitkeep +0 -1
- package/dist/website/images/fraim-logo.png +0 -0
- package/dist/website/index.html +0 -290
- package/dist/website/pricing.html +0 -414
- package/dist/website/script.js +0 -55
- package/dist/website/styles.css +0 -2647
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"workflowType": "implement",
|
|
3
|
-
"description": "Implementation phase validation ensures that code changes are complete, properly tested with high-quality tests, and ready for production deployment. This phase enforces rigorous testing standards and design completeness.",
|
|
4
|
-
"validationRules": [
|
|
5
|
-
{
|
|
6
|
-
"step": 1,
|
|
7
|
-
"description": "Verify issue is labeled with phase:implement",
|
|
8
|
-
"passCriteria": "Issue has 'phase:implement' label applied",
|
|
9
|
-
"weight": "blocking",
|
|
10
|
-
"category": "process"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"step": 2,
|
|
14
|
-
"description": "Verify all aspects of design are complete",
|
|
15
|
-
"passCriteria": "All design requirements from spec/RFC are implemented: API contracts, data models, user interfaces, error handling patterns, and integration points. No placeholder code or TODO comments remain for core functionality.",
|
|
16
|
-
"weight": "blocking",
|
|
17
|
-
"category": "design-completeness"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"step": 3,
|
|
21
|
-
"description": "Verify all test cases from design document are written",
|
|
22
|
-
"passCriteria": "Every test case specified in the design document/RFC validation plan has a corresponding automated test. Test coverage includes all user scenarios, edge cases, and error conditions outlined in the design.",
|
|
23
|
-
"weight": "blocking",
|
|
24
|
-
"category": "test-completeness"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"step": 4,
|
|
28
|
-
"description": "Verify all test cases follow architecture standards",
|
|
29
|
-
"passCriteria": "Tests follow the Shared Server Architecture pattern from docs/architecture/architecture.md: use shared-server-utils.ts, unique API keys per test, proper cleanup in finally blocks, no individual server instances, proper timeouts (5-10s for network calls).",
|
|
30
|
-
"weight": "blocking",
|
|
31
|
-
"category": "test-architecture"
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"step": 5,
|
|
35
|
-
"description": "Verify all test cases have been run and are passing",
|
|
36
|
-
"passCriteria": "All tests pass successfully. Test output shows 0 failures, 0 timeouts, and all assertions succeed. Tests complete within reasonable time limits (<60s total, <10s per test).",
|
|
37
|
-
"weight": "blocking",
|
|
38
|
-
"category": "test-execution"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"step": 6,
|
|
42
|
-
"description": "Verify tests do not mock the objects they should be testing",
|
|
43
|
-
"passCriteria": "Tests validate real functionality, not mocked behavior. Core business logic is tested against actual implementations. Mocks are only used for external dependencies (databases, APIs, file system) not for the code under test.",
|
|
44
|
-
"weight": "blocking",
|
|
45
|
-
"category": "test-quality"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"step": 7,
|
|
49
|
-
"description": "Verify tests do not default to passing when unable to test",
|
|
50
|
-
"passCriteria": "No tests contain 'return true' without validation, empty test bodies, or assertions that always pass. Every test performs meaningful validation of expected behavior and will fail if the code is broken.",
|
|
51
|
-
"weight": "blocking",
|
|
52
|
-
"category": "test-quality"
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"step": 8,
|
|
56
|
-
"description": "Verify tests use flow testing instead of static analysis",
|
|
57
|
-
"passCriteria": "Tests execute actual code paths and validate runtime behavior. Tests call functions, trigger workflows, and verify outcomes. Static analysis (type checking, linting) supplements but does not replace functional testing.",
|
|
58
|
-
"weight": "blocking",
|
|
59
|
-
"category": "test-quality"
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"step": 9,
|
|
63
|
-
"description": "Check TypeScript compilation passes",
|
|
64
|
-
"command": "npx tsc --noEmit --skipLibCheck",
|
|
65
|
-
"passCriteria": "TypeScript compilation completes without errors",
|
|
66
|
-
"weight": "blocking",
|
|
67
|
-
"category": "code-quality"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"step": 10,
|
|
71
|
-
"description": "Check code quality standards",
|
|
72
|
-
"passCriteria": "No 'as any' type bypassing, proper error handling, consistent code style, meaningful variable names, and appropriate code comments",
|
|
73
|
-
"weight": "blocking",
|
|
74
|
-
"category": "code-quality"
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"step": 11,
|
|
78
|
-
"description": "Verify implementation matches design exactly",
|
|
79
|
-
"passCriteria": "Implementation follows the technical design/RFC precisely and addresses all specified requirements. API signatures, data structures, and behavior match the design specification.",
|
|
80
|
-
"weight": "blocking",
|
|
81
|
-
"category": "design-compliance"
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"step": 12,
|
|
85
|
-
"description": "Check comprehensive error handling and edge cases",
|
|
86
|
-
"passCriteria": "Proper error handling implemented for all failure scenarios, edge cases covered with tests, graceful degradation where appropriate, and meaningful error messages",
|
|
87
|
-
"weight": "blocking",
|
|
88
|
-
"category": "robustness"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"step": 13,
|
|
92
|
-
"description": "Validate API contracts and interfaces",
|
|
93
|
-
"passCriteria": "All API contracts match specification, proper input validation, consistent response formats, and backward compatibility maintained",
|
|
94
|
-
"weight": "blocking",
|
|
95
|
-
"category": "api-compliance"
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"step": 14,
|
|
99
|
-
"description": "Check security best practices",
|
|
100
|
-
"passCriteria": "Input sanitization, proper authentication/authorization, no security vulnerabilities, secure handling of sensitive data",
|
|
101
|
-
"weight": "blocking",
|
|
102
|
-
"category": "security"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
"step": 15,
|
|
106
|
-
"description": "Check documentation is updated",
|
|
107
|
-
"passCriteria": "Code comments, README updates, API documentation, and inline documentation reflect all changes",
|
|
108
|
-
"weight": "warning",
|
|
109
|
-
"category": "documentation"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"step": 16,
|
|
113
|
-
"description": "Verify performance considerations",
|
|
114
|
-
"passCriteria": "No obvious performance regressions, efficient algorithms used, proper resource management, and performance tests where applicable",
|
|
115
|
-
"weight": "warning",
|
|
116
|
-
"category": "performance"
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
"step": 17,
|
|
120
|
-
"description": "Validate evidence document exists",
|
|
121
|
-
"command": "find \"docs/evidence\" -name \"*{issue_number}*implementation*\" -type f",
|
|
122
|
-
"passCriteria": "Implementation evidence document exists with test results, validation details, and proof of all requirements being met",
|
|
123
|
-
"weight": "warning",
|
|
124
|
-
"category": "documentation"
|
|
125
|
-
}
|
|
126
|
-
],
|
|
127
|
-
"gradingCriteria": {
|
|
128
|
-
"passRequirements": [
|
|
129
|
-
"ALL blocking validation steps must pass",
|
|
130
|
-
"At least 80% of warning validation steps should pass",
|
|
131
|
-
"All design aspects are fully implemented",
|
|
132
|
-
"All test cases from design document are written and passing",
|
|
133
|
-
"Tests follow architecture standards and test real functionality",
|
|
134
|
-
"No tests mock objects under test or default to passing",
|
|
135
|
-
"Tests use flow testing to validate runtime behavior",
|
|
136
|
-
"Code is production-ready and maintainable"
|
|
137
|
-
],
|
|
138
|
-
"failRequirements": [
|
|
139
|
-
"ANY blocking validation step fails",
|
|
140
|
-
"Design implementation is incomplete",
|
|
141
|
-
"Test cases from design document are missing",
|
|
142
|
-
"Tests violate architecture standards",
|
|
143
|
-
"Tests mock the objects they should be testing",
|
|
144
|
-
"Tests default to passing without proper validation",
|
|
145
|
-
"Tests rely on static analysis instead of flow testing",
|
|
146
|
-
"Code has obvious bugs or security issues"
|
|
147
|
-
]
|
|
148
|
-
},
|
|
149
|
-
"reportingFormat": {
|
|
150
|
-
"requiredFields": ["pass", "reasons"],
|
|
151
|
-
"instructions": "Evaluate each validation step rigorously. Pay special attention to test quality - verify that tests actually test the intended functionality and follow architecture standards. If ANY blocking step fails, you must report pass=false. Focus on design completeness, test quality, and production readiness."
|
|
152
|
-
}
|
|
153
|
-
}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
# Phase: Finalize
|
|
2
|
-
|
|
3
|
-
## INTENT
|
|
4
|
-
To prepare completed work for human review by setting proper labels, creating/updating PR, and documenting evidence.
|
|
5
|
-
|
|
6
|
-
## OUTCOME
|
|
7
|
-
Work is ready for human review with:
|
|
8
|
-
- Proper issue labels applied
|
|
9
|
-
- PR created/updated with work
|
|
10
|
-
- Evidence documented
|
|
11
|
-
- Clean handoff to next phase or review
|
|
12
|
-
|
|
13
|
-
## PRINCIPLES
|
|
14
|
-
- **Complete Documentation**: Evidence shows all work done
|
|
15
|
-
- **Proper Labels**: Issue status reflects readiness
|
|
16
|
-
- **Clear Communication**: PR and evidence are clear
|
|
17
|
-
- **Ready for Review**: No blockers for human reviewer
|
|
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 `registry/rules/git-safe-commands.md` via `get_fraim_file` to avoid interactive commands that hang agents.
|
|
33
|
-
|
|
34
|
-
## WORKFLOW
|
|
35
|
-
|
|
36
|
-
### Step 1: Update Issue Labels
|
|
37
|
-
|
|
38
|
-
**Remove:**
|
|
39
|
-
- `status:wip`
|
|
40
|
-
- Any phase-specific labels (e.g., `phase:spec`, `phase:design`, `phase:impl`)
|
|
41
|
-
|
|
42
|
-
**Add:**
|
|
43
|
-
- `status:needs-review`
|
|
44
|
-
|
|
45
|
-
**GitHub Repository Context:**
|
|
46
|
-
Read `.fraim/config.json` for:
|
|
47
|
-
- `git.repoOwner` - GitHub repository owner
|
|
48
|
-
- `git.repoName` - GitHub repository name
|
|
49
|
-
|
|
50
|
-
Use GitHub MCP tools to update labels.
|
|
51
|
-
|
|
52
|
-
### Step 2: Create Evidence Document
|
|
53
|
-
|
|
54
|
-
**File location:**
|
|
55
|
-
```
|
|
56
|
-
docs/evidence/{issue_number}-{workflow_type}-evidence.md
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**Evidence document should include:**
|
|
60
|
-
|
|
61
|
-
#### Summary
|
|
62
|
-
- Issue number and title
|
|
63
|
-
- Workflow type (spec, design, implement, test)
|
|
64
|
-
- Brief description of work completed
|
|
65
|
-
|
|
66
|
-
#### Work Completed
|
|
67
|
-
**For Spec Workflow:**
|
|
68
|
-
- Specification document created
|
|
69
|
-
- High-fidelity HTML mocks (if UI changes)
|
|
70
|
-
- Requirements coverage
|
|
71
|
-
|
|
72
|
-
**For Design Workflow:**
|
|
73
|
-
- Technical design document
|
|
74
|
-
- Architecture decisions
|
|
75
|
-
- API specifications
|
|
76
|
-
- Database schema (if applicable)
|
|
77
|
-
|
|
78
|
-
**For Implement Workflow:**
|
|
79
|
-
- Implementation details
|
|
80
|
-
- Key files changed
|
|
81
|
-
- Approach taken
|
|
82
|
-
- Testing completed
|
|
83
|
-
|
|
84
|
-
**For Test Workflow:**
|
|
85
|
-
- Test suite created/enhanced
|
|
86
|
-
- Coverage metrics
|
|
87
|
-
- Test results
|
|
88
|
-
|
|
89
|
-
#### Validation
|
|
90
|
-
- How work was validated
|
|
91
|
-
- Validation results
|
|
92
|
-
- Screenshots/output (if applicable)
|
|
93
|
-
|
|
94
|
-
#### Quality Checks
|
|
95
|
-
- All deliverables complete
|
|
96
|
-
- Documentation clear and professional
|
|
97
|
-
- Work ready for next phase or review
|
|
98
|
-
|
|
99
|
-
#### Phase Completion
|
|
100
|
-
- All phases completed for this workflow
|
|
101
|
-
- Evidence from each phase
|
|
102
|
-
- Any iterations or challenges
|
|
103
|
-
|
|
104
|
-
### Step 3: Verify PR Exists
|
|
105
|
-
|
|
106
|
-
**Verify PR:**
|
|
107
|
-
- PR exists for the feature branch
|
|
108
|
-
- PR title reflects the issue and workflow
|
|
109
|
-
- PR description includes context and links to deliverables
|
|
110
|
-
|
|
111
|
-
**If PR doesn't exist:**
|
|
112
|
-
- Create PR manually
|
|
113
|
-
- Link to issue
|
|
114
|
-
- Add evidence document link
|
|
115
|
-
|
|
116
|
-
### Step 4: Add PR Comment
|
|
117
|
-
|
|
118
|
-
Add comment to PR with link to evidence:
|
|
119
|
-
```
|
|
120
|
-
{Workflow_type} workflow complete. Evidence document: docs/evidence/{issue_number}-{workflow_type}-evidence.md
|
|
121
|
-
|
|
122
|
-
All phases completed:
|
|
123
|
-
{workflow_specific_phases_checklist}
|
|
124
|
-
|
|
125
|
-
Ready for human review.
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Step 5: Final Verification
|
|
129
|
-
|
|
130
|
-
**Checklist:**
|
|
131
|
-
- ✅ Issue labels updated
|
|
132
|
-
- ✅ Evidence document created and complete
|
|
133
|
-
- ✅ PR exists and is ready
|
|
134
|
-
- ✅ PR comment added with evidence link
|
|
135
|
-
- ✅ All deliverables complete
|
|
136
|
-
- ✅ Git status clean
|
|
137
|
-
|
|
138
|
-
## VALIDATION
|
|
139
|
-
|
|
140
|
-
### Phase Complete When:
|
|
141
|
-
- ✅ Issue has `status:needs-review` label
|
|
142
|
-
- ✅ Issue does not have workflow phase labels
|
|
143
|
-
- ✅ Evidence document exists and is complete
|
|
144
|
-
- ✅ PR exists and is ready for review
|
|
145
|
-
- ✅ PR has comment linking to evidence
|
|
146
|
-
- ✅ All previous phases complete
|
|
147
|
-
|
|
148
|
-
### Phase Incomplete If:
|
|
149
|
-
- ❌ Labels not updated
|
|
150
|
-
- ❌ Evidence document missing or incomplete
|
|
151
|
-
- ❌ PR not ready
|
|
152
|
-
- ❌ Previous phases not complete
|
|
153
|
-
|
|
154
|
-
### Report Back:
|
|
155
|
-
```javascript
|
|
156
|
-
seekCoachingOnNextStep({
|
|
157
|
-
workflowType: "{workflow_type}",
|
|
158
|
-
issueNumber: "{issue_number}",
|
|
159
|
-
currentPhase: "finalize",
|
|
160
|
-
status: "complete",
|
|
161
|
-
evidence: {
|
|
162
|
-
labelsUpdated: "Issue has status:needs-review label",
|
|
163
|
-
evidenceDocument: "docs/evidence/{issue_number}-{workflow_type}-evidence.md created",
|
|
164
|
-
prStatus: "PR ready for review",
|
|
165
|
-
prComment: "PR comment added with evidence link",
|
|
166
|
-
allPhasesComplete: "All {workflow_type} phases completed successfully"
|
|
167
|
-
}
|
|
168
|
-
})
|
|
169
|
-
```
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Phase: Finalize
|
|
2
|
-
|
|
3
|
-
## INTENT
|
|
4
|
-
To prepare completed work for human review by setting proper labels, creating/updating PR, and documenting evidence.
|
|
5
|
-
|
|
6
|
-
## OUTCOME
|
|
7
|
-
Work is ready for human review with:
|
|
8
|
-
- Proper issue labels applied
|
|
9
|
-
- PR created/updated with work
|
|
10
|
-
- Evidence documented
|
|
11
|
-
- Clean handoff to next phase or review
|
|
12
|
-
|
|
13
|
-
## WORKFLOW
|
|
14
|
-
|
|
15
|
-
### Step 1: Apply Issue Labels
|
|
16
|
-
- Remove current phase label (e.g., `phase:spec`, `phase:design`, `phase:impl`)
|
|
17
|
-
- Add `status:needs-review` label
|
|
18
|
-
- Keep any other relevant labels
|
|
19
|
-
|
|
20
|
-
### Step 2: Create/Update Pull Request
|
|
21
|
-
- Ensure PR exists for the feature branch
|
|
22
|
-
- Update PR title to reflect completed work
|
|
23
|
-
- Update PR description with summary of work completed
|
|
24
|
-
- Link to relevant documents (specs, designs, evidence)
|
|
25
|
-
|
|
26
|
-
### Step 3: Document Evidence
|
|
27
|
-
- Create evidence file at `docs/evidence/{issue_number}-{workflow}-evidence.md`
|
|
28
|
-
- Document key decisions made
|
|
29
|
-
- List deliverables created
|
|
30
|
-
- Note any recommendations for next phase
|
|
31
|
-
|
|
32
|
-
### Step 4: Prepare Handoff
|
|
33
|
-
- Ensure all work is committed to git
|
|
34
|
-
- Verify documentation is complete
|
|
35
|
-
- Confirm work is ready for human review
|
|
36
|
-
|
|
37
|
-
## VALIDATION
|
|
38
|
-
|
|
39
|
-
### Phase Complete When:
|
|
40
|
-
- ✅ Issue labels updated (`status:needs-review`)
|
|
41
|
-
- ✅ PR created/updated with work summary
|
|
42
|
-
- ✅ Evidence documented
|
|
43
|
-
- ✅ All work committed to git
|
|
44
|
-
- ✅ Ready for human review
|
|
45
|
-
|
|
46
|
-
### Report Back:
|
|
47
|
-
```javascript
|
|
48
|
-
seekCoachingOnNextStep({
|
|
49
|
-
workflowType: "{workflow_type}",
|
|
50
|
-
issueNumber: "{issue_number}",
|
|
51
|
-
currentPhase: "finalize",
|
|
52
|
-
status: "complete",
|
|
53
|
-
evidence: {
|
|
54
|
-
labelsApplied: ["status:needs-review"],
|
|
55
|
-
prUpdated: true,
|
|
56
|
-
evidenceDocumented: "docs/evidence/{issue_number}-{workflow}-evidence.md",
|
|
57
|
-
workCommitted: true
|
|
58
|
-
}
|
|
59
|
-
})
|
|
60
|
-
```
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
# Phase: Spec
|
|
2
|
-
|
|
3
|
-
## INTENT
|
|
4
|
-
To create a comprehensive feature specification that clearly defines customer needs, desired outcomes, user experience, and validation criteria.
|
|
5
|
-
|
|
6
|
-
## OUTCOME
|
|
7
|
-
A complete specification document that:
|
|
8
|
-
- Identifies the target customer and their needs
|
|
9
|
-
- Defines the desired outcome and success criteria
|
|
10
|
-
- Describes the user experience in detail
|
|
11
|
-
- Includes high-fidelity mocks for UI changes
|
|
12
|
-
- Provides a comprehensive validation plan
|
|
13
|
-
- Analyzes alternatives and competitive landscape
|
|
14
|
-
|
|
15
|
-
## PRINCIPLES
|
|
16
|
-
- **Customer-First**: Start with customer identification and needs
|
|
17
|
-
- **Outcome-Driven**: Focus on what the customer wants to achieve
|
|
18
|
-
- **Experience-Detailed**: Provide step-by-step user workflows
|
|
19
|
-
- **Validation-Ready**: Include specific, executable validation steps
|
|
20
|
-
- **Template-Compliant**: Follow FEATURESPEC template structure
|
|
21
|
-
|
|
22
|
-
## WORKFLOW
|
|
23
|
-
|
|
24
|
-
### Step 1: Load Template and Rules
|
|
25
|
-
- Call `get_fraim_file({ path: "templates/specs/FEATURESPEC-TEMPLATE.md" })`
|
|
26
|
-
- Call `get_fraim_file({ path: "rules/communication.md" })`
|
|
27
|
-
- Call `get_fraim_file({ path: "rules/pr-workflow-completeness.md" })`
|
|
28
|
-
|
|
29
|
-
### Step 2: Create Specification Document
|
|
30
|
-
- Create spec file at `docs/feature specs/{issue_number}-{kebab-case-title}.md`
|
|
31
|
-
- Follow FEATURESPEC template structure exactly
|
|
32
|
-
- Include all required sections:
|
|
33
|
-
- Customer identification
|
|
34
|
-
- Customer's desired outcome
|
|
35
|
-
- Customer problem definition
|
|
36
|
-
- User experience with detailed workflows
|
|
37
|
-
- Validation plan
|
|
38
|
-
- Alternatives analysis
|
|
39
|
-
- Competitive landscape
|
|
40
|
-
|
|
41
|
-
### Step 3: Create High-Fidelity Mocks (if UI changes)
|
|
42
|
-
If the feature involves UI changes:
|
|
43
|
-
- Create HTML/CSS mocks in `docs/feature specs/mocks/`
|
|
44
|
-
- Name files: `{issue_number}-{descriptive-name}.html`
|
|
45
|
-
- Include at least 3 different views/states
|
|
46
|
-
- Link mocks in the specification document
|
|
47
|
-
- **Note**: Markdown code blocks are NOT sufficient - must be actual HTML files
|
|
48
|
-
|
|
49
|
-
### Step 4: Validate Completeness
|
|
50
|
-
- Ensure all template sections are complete
|
|
51
|
-
- Verify customer focus is clear and specific
|
|
52
|
-
- Check that user experience includes step-by-step workflows
|
|
53
|
-
- Confirm validation plan is actionable and executable
|
|
54
|
-
- Review alternatives and competitive analysis
|
|
55
|
-
|
|
56
|
-
### Step 5: Apply Labels
|
|
57
|
-
- Label the GitHub issue with `phase:spec`
|
|
58
|
-
- This will trigger automatic PR creation/update
|
|
59
|
-
|
|
60
|
-
## VALIDATION
|
|
61
|
-
|
|
62
|
-
### Phase Complete When:
|
|
63
|
-
- ✅ Specification document created using FEATURESPEC template
|
|
64
|
-
- ✅ All required sections completed with substantial content
|
|
65
|
-
- ✅ Customer and desired outcome clearly identified
|
|
66
|
-
- ✅ User experience includes detailed step-by-step workflows
|
|
67
|
-
- ✅ High-fidelity mocks created (if UI changes required)
|
|
68
|
-
- ✅ Validation plan includes specific, executable steps
|
|
69
|
-
- ✅ Alternatives and competitive landscape analyzed
|
|
70
|
-
- ✅ Issue labeled with `phase:spec`
|
|
71
|
-
|
|
72
|
-
### Phase Incomplete If:
|
|
73
|
-
- ❌ Specification document missing or incomplete
|
|
74
|
-
- ❌ Template structure not followed
|
|
75
|
-
- ❌ Customer identification vague or missing
|
|
76
|
-
- ❌ User experience lacks detailed workflows
|
|
77
|
-
- ❌ UI changes specified but no HTML mocks provided
|
|
78
|
-
- ❌ Validation plan not actionable
|
|
79
|
-
- ❌ Alternatives or competitive analysis missing
|
|
80
|
-
|
|
81
|
-
### Report Back:
|
|
82
|
-
When you complete this phase, call:
|
|
83
|
-
|
|
84
|
-
```javascript
|
|
85
|
-
seekCoachingOnNextStep({
|
|
86
|
-
workflowType: "spec",
|
|
87
|
-
issueNumber: "{issue_number}",
|
|
88
|
-
currentPhase: "spec",
|
|
89
|
-
status: "complete",
|
|
90
|
-
evidence: {
|
|
91
|
-
specDocument: "docs/feature specs/{issue_number}-{title}.md",
|
|
92
|
-
templateUsed: "FEATURESPEC-TEMPLATE.md",
|
|
93
|
-
mockFiles: ["docs/feature specs/mocks/{issue_number}-view1.html", "..."],
|
|
94
|
-
namingConvention: "{issue_number}-{kebab-case-title}.md",
|
|
95
|
-
issueLabeled: "phase:spec"
|
|
96
|
-
},
|
|
97
|
-
findings: {
|
|
98
|
-
completedSections: ["Customer identification", "Customer desired outcome", "..."],
|
|
99
|
-
keyInsights: ["Key insight 1", "Key insight 2", "..."]
|
|
100
|
-
}
|
|
101
|
-
})
|
|
102
|
-
```
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
# Phase: Validate (Spec)
|
|
2
|
-
|
|
3
|
-
## INTENT
|
|
4
|
-
To systematically validate that the specification is complete, follows template structure, and meets all quality criteria before proceeding to the next workflow phase.
|
|
5
|
-
|
|
6
|
-
## OUTCOME
|
|
7
|
-
Confirmation that:
|
|
8
|
-
- Specification follows FEATURESPEC template structure
|
|
9
|
-
- All required sections are complete and substantial
|
|
10
|
-
- Customer focus is clear and specific
|
|
11
|
-
- User experience includes detailed workflows
|
|
12
|
-
- High-fidelity mocks are provided (if UI changes)
|
|
13
|
-
- Validation plan is actionable
|
|
14
|
-
- Quality standards are met consistently
|
|
15
|
-
|
|
16
|
-
## PRINCIPLES
|
|
17
|
-
- **Template Compliance**: Strict adherence to FEATURESPEC structure
|
|
18
|
-
- **Completeness**: All sections must be substantial, not placeholder text
|
|
19
|
-
- **Customer Focus**: Clear identification of who and what
|
|
20
|
-
- **Actionable Validation**: Validation plan must be executable
|
|
21
|
-
- **Quality Standards**: Professional-grade specification ready for design phase
|
|
22
|
-
|
|
23
|
-
## WORKFLOW
|
|
24
|
-
|
|
25
|
-
### Step 1: Load Validation Rules
|
|
26
|
-
- Call `get_fraim_file({ path: "ai-manager-rules/spec.json" })`
|
|
27
|
-
- Review all validation criteria and grading requirements
|
|
28
|
-
|
|
29
|
-
### Step 2: Execute Validation Checklist
|
|
30
|
-
|
|
31
|
-
**Blocking Validation Steps (ALL must pass):**
|
|
32
|
-
|
|
33
|
-
1. **Issue Labeling**: Verify issue has `phase:spec` label
|
|
34
|
-
2. **Document Location**: Confirm spec exists at `docs/feature specs/{issue_number}-*.md` with >1000 characters
|
|
35
|
-
3. **Template Structure**: Check all required sections present:
|
|
36
|
-
- Customer identification
|
|
37
|
-
- Customer's desired outcome
|
|
38
|
-
- Customer problem definition
|
|
39
|
-
- User experience
|
|
40
|
-
- Validation plan
|
|
41
|
-
- Alternatives analysis
|
|
42
|
-
- Competitive landscape
|
|
43
|
-
4. **Customer Section**: Customer clearly identified with specific details
|
|
44
|
-
5. **Desired Outcome**: Outcome is clear, measurable, describes end goal
|
|
45
|
-
6. **Problem Definition**: Specific explanation of why current state insufficient
|
|
46
|
-
7. **User Experience**: Step-by-step workflow (start in X, click Y, see Z)
|
|
47
|
-
8. **High-Fidelity Mocks**: If UI changes, HTML/CSS files in mocks folder (not markdown)
|
|
48
|
-
9. **Validation Plan**: Specific, executable steps (browser tests, API calls, scenarios)
|
|
49
|
-
10. **Requirements Coverage**: All original issue requirements addressed
|
|
50
|
-
|
|
51
|
-
**Warning Validation Steps (80% should pass):**
|
|
52
|
-
|
|
53
|
-
11. **Alternatives Analysis**: Table with alternatives and reasons for rejection
|
|
54
|
-
12. **Competitive Landscape**: Table with competitors, solutions, market research
|
|
55
|
-
|
|
56
|
-
### Step 3: Quality Assessment
|
|
57
|
-
- Check for placeholder text or incomplete sections
|
|
58
|
-
- Verify professional writing quality
|
|
59
|
-
- Ensure consistency throughout document
|
|
60
|
-
- Confirm all links and references work
|
|
61
|
-
|
|
62
|
-
### Step 4: Generate Validation Report
|
|
63
|
-
Document findings for each validation step:
|
|
64
|
-
- Pass/Fail for each blocking step
|
|
65
|
-
- Pass/Fail for each warning step
|
|
66
|
-
- Specific reasons for any failures
|
|
67
|
-
- Overall assessment and recommendations
|
|
68
|
-
|
|
69
|
-
## VALIDATION
|
|
70
|
-
|
|
71
|
-
### Phase Complete When:
|
|
72
|
-
- ✅ ALL blocking validation steps pass
|
|
73
|
-
- ✅ At least 80% of warning validation steps pass
|
|
74
|
-
- ✅ No placeholder text or incomplete sections
|
|
75
|
-
- ✅ Quality standards met consistently
|
|
76
|
-
- ✅ Validation report generated with evidence
|
|
77
|
-
|
|
78
|
-
### Phase Incomplete If:
|
|
79
|
-
- ❌ ANY blocking validation step fails
|
|
80
|
-
- ❌ Multiple warning validation steps fail
|
|
81
|
-
- ❌ Placeholder text or incomplete sections found
|
|
82
|
-
- ❌ Quality issues identified
|
|
83
|
-
- ❌ Requirements not properly addressed
|
|
84
|
-
|
|
85
|
-
### Report Back:
|
|
86
|
-
When you complete this phase, call:
|
|
87
|
-
|
|
88
|
-
```javascript
|
|
89
|
-
seekCoachingOnNextStep({
|
|
90
|
-
workflowType: "spec",
|
|
91
|
-
issueNumber: "{issue_number}",
|
|
92
|
-
currentPhase: "validate",
|
|
93
|
-
status: "complete",
|
|
94
|
-
evidence: {
|
|
95
|
-
validationReport: "All 10 blocking steps passed, 2/2 warning steps passed",
|
|
96
|
-
blockingStepsPassed: 10,
|
|
97
|
-
warningStepsPassed: 2,
|
|
98
|
-
totalWarningSteps: 2,
|
|
99
|
-
qualityAssessment: "Professional grade, ready for design phase",
|
|
100
|
-
validationDecision: "PASS"
|
|
101
|
-
}
|
|
102
|
-
})
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
If validation fails:
|
|
106
|
-
```javascript
|
|
107
|
-
seekCoachingOnNextStep({
|
|
108
|
-
workflowType: "spec",
|
|
109
|
-
issueNumber: "{issue_number}",
|
|
110
|
-
currentPhase: "validate",
|
|
111
|
-
status: "incomplete",
|
|
112
|
-
findings: {
|
|
113
|
-
failedSteps: ["Step 8: High-fidelity mocks missing", "Step 9: Validation plan not actionable"],
|
|
114
|
-
validationDecision: "FAIL",
|
|
115
|
-
nextAction: "Return to spec phase to address failed validation steps"
|
|
116
|
-
}
|
|
117
|
-
})
|
|
118
|
-
```
|