fraim-framework 2.0.55 → 2.0.56

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 (126) hide show
  1. package/dist/registry/ai-manager-rules/customer-development-phases/phase1-customer-profiling.md +101 -0
  2. package/dist/registry/ai-manager-rules/customer-development-phases/phase2-platform-discovery.md +235 -0
  3. package/dist/registry/ai-manager-rules/customer-development-phases/phase3-prospect-qualification.md +243 -0
  4. package/dist/registry/ai-manager-rules/customer-development-phases/phase4-inventory-compilation.md +206 -0
  5. package/dist/registry/ai-manager-rules/user-survey-phases/phase1-survey-scoping.md +60 -0
  6. package/dist/registry/ai-manager-rules/user-survey-phases/phase2-survey-build-linkedin.md +23 -0
  7. package/dist/registry/ai-manager-rules/user-survey-phases/phase3-survey-build-reddit.md +22 -0
  8. package/dist/registry/ai-manager-rules/user-survey-phases/phase4-survey-build-x.md +21 -0
  9. package/dist/registry/ai-manager-rules/user-survey-phases/phase5-survey-build-facebook.md +19 -0
  10. package/dist/registry/ai-manager-rules/user-survey-phases/phase6-survey-build-custom.md +15 -0
  11. package/dist/registry/ai-manager-rules/user-survey-phases/phase7-survey-dispatch.md +45 -0
  12. package/dist/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +53 -0
  13. package/dist/registry/templates/bootstrap/CODE-QUALITY-REPORT-TEMPLATE.md +37 -0
  14. package/dist/registry/templates/bootstrap/TEST-COVERAGE-REPORT-TEMPLATE.md +35 -0
  15. package/dist/registry/templates/business-development/IDEATION-REPORT-TEMPLATE.md +29 -0
  16. package/dist/registry/templates/business-development/PRICING-STRATEGY-TEMPLATE.md +126 -0
  17. package/dist/registry/templates/customer-development/customer-interview-template.md +99 -0
  18. package/dist/registry/templates/customer-development/customer-persona-template.md +69 -0
  19. package/dist/registry/templates/customer-development/follow-up-email-templates.md +132 -0
  20. package/dist/registry/templates/customer-development/insight-analysis-template.md +74 -0
  21. package/dist/registry/templates/customer-development/prospect-inventory-template.csv +3 -0
  22. package/dist/registry/templates/customer-development/search-strategy-template.md +123 -0
  23. package/dist/registry/templates/customer-development/strategic-recommendations-template.md +53 -0
  24. package/dist/registry/templates/customer-development/thank-you-email-template.html +124 -0
  25. package/dist/registry/templates/customer-development/thank-you-note-template.md +16 -0
  26. package/dist/registry/templates/customer-development/triage-log-template.md +278 -0
  27. package/dist/registry/templates/customer-development/weekly-newsletter-template.html +204 -0
  28. package/dist/registry/templates/evidence/Design-Evidence.md +30 -0
  29. package/dist/registry/templates/evidence/Implementation-BugEvidence.md +94 -0
  30. package/dist/registry/templates/evidence/Implementation-FeatureEvidence.md +129 -0
  31. package/dist/registry/templates/evidence/Spec-Evidence.md +19 -0
  32. package/dist/registry/templates/help/HelpNeeded.md +14 -0
  33. package/dist/registry/templates/legal/NDA-TEMPLATE.md +170 -0
  34. package/dist/registry/templates/legal/PATENT-TEMPLATE.md +372 -0
  35. package/dist/registry/templates/legal/TRADEMARK-TEMPLATE.md +339 -0
  36. package/dist/registry/templates/legal/contract-review-checklist.md +193 -0
  37. package/dist/registry/templates/legal/review-report-template.md +198 -0
  38. package/dist/registry/templates/legal/saas-terms-template.md +174 -0
  39. package/dist/registry/templates/legal/sow-template.md +117 -0
  40. package/dist/registry/templates/legal/template-variables.md +131 -0
  41. package/dist/registry/templates/marketing/DOMAIN-REGISTRATION-TEMPLATE.md +194 -0
  42. package/dist/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +66 -0
  43. package/dist/registry/templates/marketing/STORYTELLING-TEMPLATE.md +130 -0
  44. package/dist/registry/templates/marketing/WEBSITE-TEMPLATE.md +262 -0
  45. package/dist/registry/templates/marketing/github-pages-workflow.yml +64 -0
  46. package/dist/registry/templates/replicate/implementation-checklist.md +39 -0
  47. package/dist/registry/templates/replicate/use-cases-template.md +88 -0
  48. package/dist/registry/templates/retrospective/RETROSPECTIVE-TEMPLATE.md +55 -0
  49. package/dist/registry/templates/specs/BUGSPEC-TEMPLATE.md +37 -0
  50. package/dist/registry/templates/specs/FEATURESPEC-TEMPLATE.md +66 -0
  51. package/dist/registry/templates/specs/TECHSPEC-TEMPLATE.md +39 -0
  52. package/dist/registry/workflows/bootstrap/create-architecture.md +38 -0
  53. package/dist/registry/workflows/bootstrap/detect-broken-windows.md +300 -0
  54. package/dist/registry/workflows/bootstrap/evaluate-code-quality.md +35 -0
  55. package/dist/registry/workflows/bootstrap/verify-test-coverage.md +36 -0
  56. package/dist/registry/workflows/brainstorming/blue-sky-brainstorming.md +211 -0
  57. package/dist/registry/workflows/brainstorming/codebase-brainstorming.md +165 -0
  58. package/dist/registry/workflows/business-development/create-business-plan.md +737 -0
  59. package/dist/registry/workflows/business-development/ideate-business-opportunity.md +55 -0
  60. package/dist/registry/workflows/business-development/price-product.md +325 -0
  61. package/dist/registry/workflows/compliance/detect-compliance-requirements.md +78 -0
  62. package/dist/registry/workflows/compliance/generate-audit-evidence.md +75 -0
  63. package/dist/registry/workflows/compliance/soc2-evidence-generator.md +332 -0
  64. package/dist/registry/workflows/customer-development/insight-analysis.md +156 -0
  65. package/dist/registry/workflows/customer-development/insight-triage.md +938 -0
  66. package/dist/registry/workflows/customer-development/interview-preparation.md +452 -0
  67. package/dist/registry/workflows/customer-development/linkedin-outreach.md +593 -0
  68. package/dist/registry/workflows/customer-development/strategic-brainstorming.md +146 -0
  69. package/dist/registry/workflows/customer-development/thank-customers.md +203 -0
  70. package/dist/registry/workflows/customer-development/user-survey-dispatch.md +60 -0
  71. package/dist/registry/workflows/customer-development/users-to-target.md +112 -0
  72. package/dist/registry/workflows/customer-development/weekly-newsletter.md +366 -0
  73. package/dist/registry/workflows/deploy/cloud-deployment.md +310 -0
  74. package/dist/registry/workflows/improve-fraim/contribute.md +32 -0
  75. package/dist/registry/workflows/improve-fraim/file-issue.md +32 -0
  76. package/dist/registry/workflows/learning/build-skillset.md +212 -0
  77. package/dist/registry/workflows/learning/synthesize-learnings.md +284 -0
  78. package/dist/registry/workflows/legal/contract-review-analysis.md +382 -0
  79. package/dist/registry/workflows/legal/nda.md +69 -0
  80. package/dist/registry/workflows/legal/patent-filing.md +76 -0
  81. package/dist/registry/workflows/legal/saas-contract-development.md +213 -0
  82. package/dist/registry/workflows/legal/trademark-filing.md +77 -0
  83. package/dist/registry/workflows/marketing/content-creation.md +37 -0
  84. package/dist/registry/workflows/marketing/convert-to-pdf.md +235 -0
  85. package/dist/registry/workflows/marketing/create-modern-website.md +456 -0
  86. package/dist/registry/workflows/marketing/domain-registration.md +323 -0
  87. package/dist/registry/workflows/marketing/hbr-article.md +73 -0
  88. package/dist/registry/workflows/marketing/launch-checklist.md +37 -0
  89. package/dist/registry/workflows/marketing/marketing-strategy.md +45 -0
  90. package/dist/registry/workflows/marketing/storytelling.md +65 -0
  91. package/dist/registry/workflows/performance/analyze-performance.md +65 -0
  92. package/dist/registry/workflows/product-building/design.md +103 -0
  93. package/dist/registry/workflows/product-building/implement.md +74 -0
  94. package/dist/registry/workflows/product-building/iterate-on-pr-comments.md +70 -0
  95. package/dist/registry/workflows/product-building/prep-issue.md +41 -0
  96. package/dist/registry/workflows/product-building/prototype.md +65 -0
  97. package/dist/registry/workflows/product-building/resolve.md +168 -0
  98. package/dist/registry/workflows/product-building/retrospect.md +86 -0
  99. package/dist/registry/workflows/product-building/spec.md +181 -0
  100. package/dist/registry/workflows/product-building/test.md +125 -0
  101. package/dist/registry/workflows/productivity-report/productivity-report.md +263 -0
  102. package/dist/registry/workflows/quality-assurance/browser-validation.md +221 -0
  103. package/dist/registry/workflows/quality-assurance/iterative-improvement-cycle.md +562 -0
  104. package/dist/registry/workflows/replicate/replicate-discovery.md +336 -0
  105. package/dist/registry/workflows/replicate/replicate-to-issues.md +324 -0
  106. package/dist/registry/workflows/reviewer/review-implementation-vs-design-spec.md +638 -0
  107. package/dist/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +675 -0
  108. package/dist/registry/workflows/startup-credits/aws-activate-application.md +535 -0
  109. package/dist/registry/workflows/startup-credits/google-cloud-application.md +647 -0
  110. package/dist/registry/workflows/startup-credits/microsoft-azure-application.md +538 -0
  111. package/dist/src/ai-manager/ai-manager.js +4 -6
  112. package/dist/tests/test-users-to-target-workflow.js +2 -2
  113. package/package.json +1 -1
  114. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase1-customer-profiling.md +0 -11
  115. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase1-survey-scoping.md +0 -11
  116. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase2-platform-discovery.md +0 -11
  117. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase2-survey-build-linkedin.md +0 -11
  118. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase3-prospect-qualification.md +0 -11
  119. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase3-survey-build-reddit.md +0 -11
  120. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase4-inventory-compilation.md +0 -11
  121. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase4-survey-build-x.md +0 -11
  122. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase5-survey-build-facebook.md +0 -11
  123. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase6-survey-build-custom.md +0 -11
  124. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase7-survey-dispatch.md +0 -11
  125. package/registry/stubs/workflows/customer-development/templates/customer-persona-template.md +0 -11
  126. package/registry/stubs/workflows/customer-development/templates/search-strategy-template.md +0 -11
@@ -0,0 +1,675 @@
1
+ # Review Implementation vs Feature Spec
2
+
3
+ ## INTENT
4
+ To systematically verify that the implementation solves the customer problem and delivers the user experience described in the feature spec, ensuring functional completeness and user value.
5
+
6
+ ## PRINCIPLES
7
+ - **User-Centric Validation**: Every user scenario must work as specified
8
+ - **Problem-Solution Fit**: Implementation must solve the customer problem
9
+ - **Experience Fidelity**: UI/UX must match feature spec and mocks
10
+ - **Validation Plan Execution**: All validation methods must be executed
11
+ - **End-to-End Testing**: Complete user workflows must be validated with authentication
12
+
13
+ ## REVIEW WORKFLOW
14
+
15
+ ### Step 1: Issue Identification and Evidence Loading
16
+ - Get {issue_number} from context
17
+
18
+ **GitHub Repository Context**: Before using GitHub MCP tools, read the local `.fraim/config.json` file to get the repository context:
19
+ - Use `git.repoOwner` for the GitHub repository owner
20
+ - Use `git.repoName` for the GitHub repository name
21
+ - These values are required for GitHub MCP API calls (owner/repo parameters)
22
+
23
+ - Verify issue has `status:design-review-passed` label
24
+ - Locate feature spec: `docs/feature specs/{issue}-*.md`
25
+ - If feature spec doesn't exist: ⚠️ Check if this is a bug fix (may not have feature spec). If feature, BLOCKER - request spec phase first.
26
+ - **Load Design Review Summary**: Read `docs/evidence/{issue}-design-review-summary.md`
27
+ - If summary doesn't exist: ❌ BLOCKER - Design review must complete first
28
+ - Review summary to understand what was approved in design review
29
+ - **Load Implementation Evidence**: Read `docs/evidence/{issue}-implementation-evidence.md`
30
+ - Review evidence for functional/user experience aspects
31
+ - **Check for Existing Feedback**: Check if `docs/evidence/{issue}-feature-reviewer-feedback.md` exists
32
+ - If exists, this is an iteration (check iteration count)
33
+ - Track iteration number (max 3 iterations)
34
+
35
+ ### Step 2: Feature Spec Analysis
36
+ **MUST read and extract:**
37
+ - Customer problem statement
38
+ - Customer's desired outcome
39
+ - User experience workflow (step-by-step)
40
+ - Validation Plan (all validation methods)
41
+ - UI mocks (if applicable): `docs/feature specs/mocks/{issue}-*.png` (or similar)
42
+ - Alternatives considered (verify chosen approach)
43
+
44
+ **Create a checklist mapping:**
45
+ - List each step in user experience workflow
46
+ - List each validation method from Validation Plan
47
+ - List each UI mock element (if applicable)
48
+ - This becomes your review checklist
49
+
50
+ ### Step 3: Customer Problem Verification
51
+ **Verify implementation solves the problem:**
52
+ - [ ] Read customer problem statement from spec
53
+ - [ ] Understand desired outcome from spec
54
+ - [ ] Verify implementation addresses the problem
55
+ - Check code solves the stated problem
56
+ - Verify solution matches desired outcome
57
+ - [ ] Check if solution matches chosen alternative (if alternatives documented)
58
+ - Review alternatives table in spec
59
+ - Verify implementation matches chosen approach
60
+ - Note if different approach was used (and why)
61
+
62
+ **Document findings:**
63
+ - Problem Statement: [from spec]
64
+ - Desired Outcome: [from spec]
65
+ - Solution Status: ✅ Addresses problem / ❌ Doesn't address problem
66
+ - Notes: [any concerns or deviations]
67
+
68
+ ### Step 3.5: Authentication Setup for End-to-End Testing
69
+ **🚨 CRITICAL: Set up authentication before testing user workflows**
70
+
71
+ **Determine if authentication is needed:**
72
+ - [ ] Check if user experience workflow requires authentication
73
+ - [ ] Check if validation plan includes browser/UI validation
74
+ - [ ] Check if feature requires logged-in user state
75
+
76
+ **If authentication is needed, choose one approach:**
77
+
78
+ #### Option A: Request Credentials (if applicable)
79
+ - [ ] **When to use**: If OAuth/SSO automation is not possible or if testing requires specific test accounts
80
+ - [ ] Ask user: "I need credentials to test the end-to-end user workflow. Please provide:"
81
+ - Username/email
82
+ - Password (or test account credentials)
83
+ - Any additional auth requirements (2FA, etc.)
84
+ - [ ] Store credentials securely (do not commit to repo)
85
+ - [ ] Use credentials to authenticate during testing
86
+ - [ ] Document: "Using provided credentials for end-to-end testing"
87
+
88
+ #### Option B: Cookie-Driven Browser Session (preferred for UI features)
89
+ - [ ] **When to use**: For UI features that require authentication - this is the preferred method
90
+ - [ ] Ask user: "I need to test the end-to-end user workflow. Please log in to the application in a browser session I can access, so I can validate the complete user experience. Once you're logged in, I'll use that session for all my validations."
91
+ - [ ] **Wait for user confirmation**: User logs in manually (complies with OAuth ToS, avoids bot detection)
92
+ - [ ] **Verify login state**:
93
+ - Navigate to application URL
94
+ - Check for authenticated state (user menu, profile icon, etc.)
95
+ - Take snapshot to verify login succeeded
96
+ - [ ] **Session persistence**:
97
+ - Browser MCP tools automatically maintain cookies between invocations
98
+ - Or use Playwright with `storageState` to save/load auth state
99
+ - Session persists for all subsequent validations
100
+ - [ ] Document: "Using cookie-driven browser session for end-to-end testing (user logged in manually)"
101
+
102
+ **Browser Session Setup (if using Option B):**
103
+
104
+ **Using Browser MCP Tools (if available):**
105
+ - Browser MCP tools (like `browser_navigate`, `browser_snapshot`) automatically maintain session state
106
+ - Cookies persist between browser invocations
107
+ - User logs in once, agent can reuse session for all validations
108
+ - Reference: Read `workflows/customer-development/linkedin-outreach.md` (via `get_fraim_file`) to see this pattern
109
+ - **Process**:
110
+ 1. Use `browser_navigate` to open application
111
+ 2. Use `browser_snapshot` to check if already logged in
112
+ 3. If not logged in, ask user to log in manually
113
+ 4. Use `browser_wait_for` to detect login success (e.g., wait for "Dashboard" text)
114
+ 5. Verify with `browser_snapshot` - should see authenticated UI elements
115
+ 6. Session automatically persists for future browser operations
116
+
117
+ **Using Playwright (if MCP tools not available):**
118
+ - Use Playwright with `storageState` to save/load authentication
119
+ - Reference: Look for authentication setup and Playwright configuration in the project's test files.
120
+ - **Process**:
121
+ 1. Launch browser: `chromium.launch()`
122
+ 2. Create context: `browser.newContext()`
123
+ 3. Navigate to application
124
+ 4. Ask user to log in manually in the browser window
125
+ 5. Wait for login success (check URL or UI elements)
126
+ 6. Save auth state: `context.storageState({ path: 'auth-state.json' })`
127
+ 7. Reuse auth state in future: `browser.newContext({ storageState: 'auth-state.json' })`
128
+
129
+ **Setup Steps (General):**
130
+ 1. Ask user: "I need to test the end-to-end user workflow. Please log in to the application now. I'll wait for you to complete the login."
131
+ 2. Wait for user confirmation that login is complete
132
+ 3. Verify login: Navigate to authenticated page, check for user menu/profile/authenticated UI
133
+ 4. Document: "Using authenticated browser session for end-to-end validation (user logged in manually)"
134
+ 5. Reuse session for all subsequent workflow validations
135
+ 6. Take screenshots at key validation points to show authenticated state
136
+
137
+ **Verification:**
138
+ - [ ] Test authentication works: Navigate to protected page
139
+ - [ ] Verify user is logged in (check for user menu, profile, etc.)
140
+ - [ ] Confirm session persists across multiple page navigations
141
+ - [ ] Document authentication method used in review evidence
142
+
143
+ **If authentication setup fails:**
144
+ - [ ] Document what prevented authentication
145
+ - [ ] Ask user for alternative approach
146
+ - [ ] Note in review: "End-to-end testing limited due to authentication setup"
147
+ - [ ] Proceed with available validation methods
148
+
149
+ ### Step 4: User Experience Validation
150
+ **For each step in the user experience workflow:**
151
+
152
+ - [ ] **Step Identified**: Map each workflow step from spec
153
+ - [ ] **Implementation Verified**: Check code implements the step
154
+ - Search codebase for relevant code
155
+ - Verify UI components exist (if UI feature)
156
+ - Verify API endpoints exist (if API feature)
157
+ - [ ] **Functionality Tested**: Actually test the step (browser, API, etc.)
158
+ - Use authenticated browser session (from Step 3.5)
159
+ - Navigate through workflow step-by-step
160
+ - Verify each step works as described
161
+ - [ ] **Result Verified**: Ensure step works as described
162
+ - Check actual behavior matches spec description
163
+ - Verify data appears correctly (not just UI renders)
164
+ - Take screenshots at key points
165
+
166
+ **Example for UI feature (with authentication):**
167
+ - Step: "User clicks on tab X"
168
+ - [ ] Verify tab X exists in UI code
169
+ - [ ] **Use authenticated browser session** (from Step 3.5)
170
+ - [ ] Navigate to page, click tab X
171
+ - [ ] Verify tab X actually works (not just exists)
172
+ - [ ] Take screenshot for evidence
173
+ - Step: "User sees list Y"
174
+ - [ ] Verify list Y is rendered
175
+ - [ ] **Use authenticated browser session** to check list Y
176
+ - [ ] Check list Y shows correct data (verify data matches expected)
177
+ - [ ] Verify list Y matches spec description
178
+ - [ ] Take screenshot showing list Y with data
179
+
180
+ **Example for API feature:**
181
+ - Step: "Call API A with params X, Y, Z"
182
+ - [ ] Verify API endpoint exists
183
+ - [ ] Test with curl: `curl -X POST /api/a -d '{"x":..., "y":..., "z":...}'`
184
+ - [ ] Verify response matches expected outcome
185
+ - [ ] Include curl output in evidence
186
+
187
+ **Document findings:**
188
+ - Create table: Step | Description | Status | Evidence | Notes
189
+
190
+ ### Step 5: UI Mock Compliance (if applicable)
191
+ **If feature spec includes UI mocks:**
192
+ - [ ] Locate mocks: `docs/feature specs/mocks/{issue}-*.png` (or similar)
193
+ - [ ] Compare implementation to mocks
194
+ - Open implementation in browser (with authentication)
195
+ - Compare layout to mock
196
+ - Compare components to mock
197
+ - Compare interactions to mock
198
+ - [ ] Verify layout matches
199
+ - Check positioning, spacing, colors
200
+ - Verify responsive behavior (if specified)
201
+ - [ ] Verify components match
202
+ - Check all components from mock exist
203
+ - Verify component styling matches
204
+ - [ ] Verify interactions match
205
+ - Test interactions described in spec
206
+ - Verify behavior matches mock expectations
207
+ - [ ] Document any intentional deviations with rationale
208
+ - Note if deviations are acceptable
209
+ - Explain why deviations exist
210
+
211
+ **Document findings:**
212
+ - Create table: Mock Element | Spec | Implementation | Match | Notes
213
+
214
+ ### Step 6: Validation Plan Execution
215
+ **For each validation method in feature spec Validation Plan:**
216
+ - [ ] **Method Identified**: Map each validation method from spec
217
+ - [ ] **Execution Verified**: Check evidence shows method was executed
218
+ - Look in PR evidence for validation results
219
+ - Check for screenshots, curl outputs, test results
220
+ - [ ] **Result Verified**: Ensure validation actually passed
221
+ - Check evidence shows success, not just attempt
222
+ - Verify no "pending" or "TODO" markers
223
+ - [ ] **Evidence Quality**: Verify evidence is complete (screenshots, curl output, etc.)
224
+ - Screenshots for UI validation
225
+ - Curl outputs for API validation
226
+ - Database queries for data validation
227
+
228
+ **Validation methods typically include:**
229
+ - Browser validation (UI testing) - **REQUIRES authentication if feature needs login**
230
+ - API validation (curl/Postman) - May require auth tokens
231
+ - Database validation (check data state)
232
+ - User workflow validation (end-to-end) - **REQUIRES full authentication setup**
233
+
234
+ **For browser/UI validation with authentication:**
235
+ - [ ] Use authenticated browser session from Step 3.5
236
+ - [ ] Navigate through complete user workflow
237
+ - [ ] Verify each step works as described in spec
238
+ - [ ] Take screenshots at key points
239
+ - [ ] Verify data appears correctly (not just UI renders)
240
+ - [ ] Test error states if applicable
241
+ - [ ] Document any issues found during end-to-end testing
242
+
243
+ **Document findings:**
244
+ - Create table: Validation Method | Required | Executed | Result | Evidence | Auth Status
245
+
246
+ ### Step 7: Edge Cases, Negative Cases, and Error Handling
247
+ **🚨 CRITICAL: Validate both positive and negative scenarios**
248
+
249
+ #### Positive Case Validation (Already in Step 4)
250
+ - [ ] All user workflow steps work (from Step 4)
251
+ - [ ] Success states work correctly
252
+
253
+ #### Negative Case Validation (What Shouldn't Work)
254
+ **For each user workflow step, test negative scenarios:**
255
+ - [ ] **Invalid Input Handling**: Test with invalid/malformed inputs
256
+ - Example: Empty fields, wrong data types, out-of-range values
257
+ - Verify feature rejects invalid inputs gracefully
258
+ - Verify error messages are clear and actionable
259
+ - [ ] **Unauthorized Access**: Test with wrong permissions/authentication
260
+ - Example: Try to access feature without login (if required)
261
+ - Example: Try to access another user's data
262
+ - Verify proper error handling (401, 403, etc.)
263
+ - [ ] **Missing Data Scenarios**: Test with missing required data
264
+ - Example: Required fields not provided
265
+ - Example: Dependencies not set up
266
+ - Verify feature handles missing data gracefully
267
+ - [ ] **Boundary Conditions**: Test at limits/edges
268
+ - Example: Maximum/minimum values, empty lists, null states
269
+ - Verify feature handles boundaries correctly
270
+ - [ ] **Concurrent Operations**: Test simultaneous actions (if applicable)
271
+ - Example: Multiple users accessing same resource
272
+ - Verify no race conditions or data corruption
273
+
274
+ **Document findings:**
275
+ - Create table: Negative Scenario | Tested | Result | Error Handling | Notes
276
+
277
+ #### Edge Cases from Spec
278
+ - [ ] Review alternatives considered in spec
279
+ - Read alternatives table from spec
280
+ - Understand why chosen approach was selected
281
+ - [ ] Verify chosen approach is implemented
282
+ - Check code matches chosen alternative
283
+ - Verify not using discarded alternatives
284
+ - [ ] Check if edge cases from spec are handled
285
+ - Review spec for edge case mentions
286
+ - Verify edge cases are handled in code
287
+ - Test each edge case explicitly
288
+
289
+ **Document findings:**
290
+ - Create table: Edge Case | From Spec | Tested | Result | Notes
291
+
292
+ #### Error Handling Validation
293
+ - [ ] **Error Messages**: Verify error messages are user-friendly
294
+ - Test error scenarios and check messages
295
+ - Verify messages explain what went wrong
296
+ - Verify messages suggest how to fix (if applicable)
297
+ - [ ] **Error States**: Verify error states match spec descriptions
298
+ - Check UI shows appropriate error states
299
+ - Verify error states don't break the UI
300
+ - Verify users can recover from errors
301
+ - [ ] **Error Logging**: Verify errors are logged appropriately
302
+ - Check server logs for error details
303
+ - Verify errors don't expose sensitive information
304
+ - Verify errors are actionable for debugging
305
+
306
+ **Document findings:**
307
+ - Error Handling: ✅ User-friendly / ❌ Confusing
308
+ - Error States: ✅ Match spec / ❌ Don't match
309
+ - Error Logging: ✅ Appropriate / ❌ Missing or excessive
310
+
311
+ ### Step 8: Functional Completeness Check
312
+ **Verify feature is functionally complete:**
313
+ - [ ] All user workflow steps work
314
+ - Test complete workflow end-to-end
315
+ - Verify no broken steps
316
+ - [ ] No broken links or missing functionality
317
+ - Check all links work
318
+ - Verify no 404s or missing pages
319
+ - [ ] **Positive Cases Work**: Success scenarios function correctly
320
+ - Test all success paths
321
+ - Verify success feedback is clear
322
+ - Verify data is saved/updated correctly
323
+ - [ ] **Negative Cases Handled**: Invalid inputs rejected gracefully
324
+ - Test invalid inputs (from Step 7)
325
+ - Verify proper error handling
326
+ - Verify no crashes or data corruption
327
+ - [ ] **Edge Cases Handled**: Boundary conditions work correctly
328
+ - Test edge cases (from Step 7)
329
+ - Verify feature handles limits correctly
330
+ - Verify no unexpected behavior at boundaries
331
+ - [ ] **Error Recovery**: Users can recover from errors
332
+ - Test error scenarios
333
+ - Verify users can retry or fix issues
334
+ - Verify no dead-end error states
335
+
336
+ **Document findings:**
337
+ - Positive Cases: ✅ All working / ❌ Some broken
338
+ - Negative Cases: ✅ Handled gracefully / ❌ Not handled
339
+ - Edge Cases: ✅ Handled / ❌ Issues found
340
+ - Error Recovery: ✅ Users can recover / ❌ Dead-ends found
341
+
342
+ ### Step 9: Evidence Quality Review
343
+ **Verify validation evidence quality:**
344
+ - [ ] All validation methods have evidence
345
+ - Check each method from validation plan has evidence
346
+ - Verify evidence is complete
347
+ - [ ] Evidence shows actual execution (not just "tested")
348
+ - Check for screenshots, curl outputs, test results
349
+ - Verify evidence shows real execution
350
+ - [ ] Screenshots/recordings for UI features
351
+ - Check screenshots show actual UI
352
+ - Verify screenshots show authenticated state (if applicable)
353
+ - [ ] API outputs for API features
354
+ - Check curl outputs are included
355
+ - Verify responses match expected
356
+ - [ ] Database state for data features
357
+ - Check database queries/results included
358
+ - Verify data state matches expected
359
+
360
+ **Document findings:**
361
+ - List any missing evidence
362
+ - Note if evidence quality is sufficient
363
+
364
+ ### Step 10: Review Decision and Feedback Creation
365
+
366
+ **Check Iteration Count:**
367
+ - If `docs/evidence/{issue}-feature-reviewer-feedback.md` exists, check iteration number
368
+ - Maximum 3 iterations allowed
369
+ - If iteration 3 and still issues: ❌ REJECT (max iterations reached)
370
+
371
+ **Options:**
372
+ - ✅ **APPROVE**: All user scenarios work, problem solved, evidence complete
373
+ - ❌ **REJECT**: User scenarios broken, problem not solved, or evidence incomplete (after max iterations)
374
+ - ⚠️ **REQUEST CHANGES**: Minor UX issues or missing validations (iteration < 3)
375
+
376
+ **If REQUEST CHANGES (iteration < 3):**
377
+ - **Create Feedback Document**: Create `docs/evidence/{issue}-feature-reviewer-feedback.md`
378
+ - Use template below for feedback structure
379
+ - List specific blockers with evidence locations
380
+ - Provide actionable feedback for each issue
381
+ - Include iteration number
382
+ - Label issue `status:wip` (remove `status:design-review-passed`)
383
+ - Add PR comment referencing feedback document
384
+ - Implementation agent must address feedback and update evidence
385
+ - Implementation agent re-submits by marking `status:design-review-passed` again
386
+
387
+ **If REJECT (max iterations reached):**
388
+ - Create final feedback document with all remaining issues
389
+ - Label issue `status:wip` (remove `status:design-review-passed`)
390
+ - Add PR comment with final rejection notice
391
+ - Implementation agent must address all issues before re-submission
392
+
393
+ **If APPROVE:**
394
+ - **Create Final Summary**: Create `docs/evidence/{issue}-feature-review-summary.md`
395
+ - Summarize what was reviewed and approved
396
+ - Include key findings and evidence locations
397
+ - Confirm feature is ready for merge
398
+ - Label issue `status:feature-review-passed` (remove `status:design-review-passed`)
399
+ - Add PR comment confirming feature spec compliance
400
+ - Issue ready for final approval/merge
401
+
402
+ ## FEEDBACK DOCUMENT TEMPLATE
403
+
404
+ Create `docs/evidence/{issue}-feature-reviewer-feedback.md`:
405
+
406
+ ```markdown
407
+ # Feature Review Feedback - Issue #{issue}
408
+
409
+ ## Iteration Information
410
+ - Iteration Number: {1, 2, or 3}
411
+ - Review Date: {date}
412
+ - Reviewer: Feature Spec Review Agent
413
+
414
+ ## Review Summary
415
+ - Feature Spec Location: `docs/feature specs/{issue}-*.md`
416
+ - Design Review Summary: `docs/evidence/{issue}-design-review-summary.md`
417
+ - Evidence Reviewed: `docs/evidence/{issue}-implementation-evidence.md`
418
+ - Overall Status: ⚠️ REQUEST CHANGES
419
+
420
+ ## Issues Found
421
+
422
+ ### Critical Blockers (Must Fix)
423
+ 1. **Issue Title**
424
+ - **Location**: [UI component, API endpoint, or workflow step]
425
+ - **Problem**: [Specific problem description]
426
+ - **Expected**: [What feature spec requires]
427
+ - **Found**: [What implementation has]
428
+ - **Action Required**: [Specific fix needed]
429
+
430
+ 2. **Issue Title**
431
+ - [Same structure]
432
+
433
+ ### User Experience Issues
434
+ 1. **Workflow Step**: Step name
435
+ - **Feature Spec Section**: [Section reference]
436
+ - **Problem**: [What doesn't work]
437
+ - **Action Required**: [What needs to be fixed]
438
+
439
+ ### UI Mock Compliance Issues
440
+ 1. **Mock Element**: Element name
441
+ - **Mock Location**: `docs/feature specs/mocks/{issue}-*.png`
442
+ - **Problem**: [What doesn't match]
443
+ - **Action Required**: [What needs to be updated]
444
+
445
+ ### Validation Plan Issues
446
+ 1. **Missing Validation**: Method name
447
+ - **Feature Spec Validation Plan**: [Reference]
448
+ - **Action Required**: [What validation needs to be executed]
449
+
450
+ ### Customer Problem Issues
451
+ 1. **Problem Not Solved**: [Description]
452
+ - **Feature Spec Problem**: [Reference]
453
+ - **Action Required**: [What needs to be fixed]
454
+
455
+ ### Negative Case Issues
456
+ 1. **Invalid Input Not Handled**: [Scenario]
457
+ - **Problem**: Feature doesn't reject invalid inputs gracefully
458
+ - **Expected**: Clear error message, no crashes
459
+ - **Action Required**: Add input validation and error handling
460
+
461
+ 2. **Unauthorized Access Not Blocked**: [Scenario]
462
+ - **Problem**: Feature allows unauthorized access
463
+ - **Expected**: Proper 401/403 errors
464
+ - **Action Required**: Add authorization checks
465
+
466
+ 3. **Missing Data Not Handled**: [Scenario]
467
+ - **Problem**: Feature crashes or behaves incorrectly with missing data
468
+ - **Expected**: Graceful handling with clear error messages
469
+ - **Action Required**: Add null/undefined checks
470
+
471
+ ### Edge Case Issues
472
+ 1. **Edge Case Not Handled**: [Edge case from spec]
473
+ - **Feature Spec Section**: [Reference]
474
+ - **Problem**: [What doesn't work]
475
+ - **Action Required**: [What needs to be fixed]
476
+
477
+ ### Error Handling Issues
478
+ 1. **Error Messages Not User-Friendly**: [Error scenario]
479
+ - **Problem**: Error messages are technical or confusing
480
+ - **Expected**: Clear, actionable error messages
481
+ - **Action Required**: Improve error messages
482
+
483
+ 2. **Error Recovery Not Possible**: [Error scenario]
484
+ - **Problem**: Users can't recover from errors (dead-end)
485
+ - **Expected**: Users can retry or fix issues
486
+ - **Action Required**: Add error recovery paths
487
+
488
+ ## Action Items for Implementation Agent
489
+ - [ ] Fix critical blocker 1
490
+ - [ ] Fix critical blocker 2
491
+ - [ ] Fix user experience issue X
492
+ - [ ] Update UI to match mock Y
493
+ - [ ] Execute missing validation Z
494
+ - [ ] Update evidence document with fixes
495
+
496
+ ## Next Steps
497
+ 1. Implementation agent addresses all feedback items
498
+ 2. Implementation agent updates `docs/evidence/{issue}-implementation-evidence.md`
499
+ 3. Implementation agent marks issue `status:design-review-passed` again
500
+ 4. Feature review agent will re-review (iteration {next_number})
501
+ ```
502
+
503
+ ## FINAL SUMMARY TEMPLATE (When Approving)
504
+
505
+ Create `docs/evidence/{issue}-feature-review-summary.md` when approving:
506
+
507
+ ```markdown
508
+ # Feature Review Summary - Issue #{issue}
509
+
510
+ ## Review Outcome
511
+ - Status: ✅ APPROVED
512
+ - Iterations: {number} (1-3)
513
+ - Feature Spec Location: `docs/feature specs/{issue}-*.md`
514
+
515
+ ## What Was Reviewed
516
+ - Customer Problem: ✅ Solved
517
+ - User Experience: All X steps working ✅
518
+ - Validation Plan: All Y methods executed ✅
519
+ - UI Mocks: Match ✅ (if applicable)
520
+ - Authentication: Set up and working ✅
521
+
522
+ ## Key Findings
523
+ - Customer problem is solved
524
+ - All user workflow steps work correctly
525
+ - All validation methods executed with evidence
526
+ - UI matches mocks (if applicable)
527
+ - End-to-end testing completed with authentication
528
+
529
+ ## Evidence Locations
530
+ - Implementation Evidence: `docs/evidence/{issue}-implementation-evidence.md`
531
+ - Design Review Summary: `docs/evidence/{issue}-design-review-summary.md`
532
+ - Validation Evidence: [locations]
533
+ - Screenshots: [locations]
534
+
535
+ ## Final Status
536
+ - Technical Review: ✅ Passed (from design review)
537
+ - Functional Review: ✅ Passed (this review)
538
+ - Ready for merge: ✅ Yes
539
+ ```
540
+
541
+ ## REVIEW EVIDENCE TEMPLATE (PR Comment)
542
+
543
+ Add this as a PR comment:
544
+
545
+ ```markdown
546
+ # Feature Spec Review - Issue #{issue}
547
+
548
+ ## Feature Spec Compliance Summary
549
+ - Feature Spec Location: `docs/feature specs/{issue}-*.md`
550
+ - Customer Problem: Solved ✅/❌
551
+ - User Experience: Complete X/Y steps ✅/❌
552
+ - Validation Plan: X/Y methods executed ✅/❌
553
+ - UI Mocks: Match ✅/❌ (if applicable)
554
+
555
+ ## Detailed Findings
556
+
557
+ ### Customer Problem Verification
558
+ - Problem Statement: [from spec]
559
+ - Desired Outcome: [from spec]
560
+ - Solution Status: ✅ Addresses problem / ❌ Doesn't address problem
561
+ - Notes: [any concerns]
562
+
563
+ ### Authentication Setup
564
+ - Method Used: [Credentials provided / Cookie-driven browser session]
565
+ - Status: ✅ Authenticated / ❌ Failed / ⚠️ Partial
566
+ - Notes: [Any authentication issues encountered]
567
+
568
+ ### User Experience Workflow Validation
569
+ | Step | Description | Status | Evidence | Notes |
570
+ |------|-------------|--------|----------|-------|
571
+ | 1 | User clicks tab X | ✅ | Screenshot | Works correctly (tested with auth) |
572
+ | 2 | User sees list Y | ❌ | Missing | List not rendering (tested with auth) |
573
+ | 3 | User approves item Z | ⚠️ | Partial | Works but slow (tested with auth) |
574
+
575
+ ### UI Mock Compliance (if applicable)
576
+ | Mock Element | Spec | Implementation | Match | Notes |
577
+ |--------------|------|----------------|-------|-------|
578
+ | Layout | [description] | [description] | ✅ | Matches |
579
+ | Component X | [description] | [description] | ❌ | Missing feature Y |
580
+
581
+ ### Validation Plan Execution
582
+ | Validation Method | Required | Executed | Result | Evidence | Auth Status |
583
+ |------------------|----------|----------|--------|----------|-------------|
584
+ | Browser validation | Yes | ✅ | Pass | Screenshot in PR | ✅ Authenticated |
585
+ | API validation | Yes | ❌ | Missing | No curl output | ⚠️ Auth token missing |
586
+ | Database validation | Yes | ✅ | Pass | DB query results | N/A |
587
+ | End-to-end workflow | Yes | ✅ | Pass | Full workflow screenshots | ✅ Cookie session |
588
+
589
+ ### Edge Cases, Negative Cases, and Error Handling
590
+ - Alternatives Considered: ✅ Matches chosen approach
591
+ - Edge Cases: ✅ All tested / ⚠️ Some not tested / ❌ Issues found
592
+ - Negative Cases: ✅ All tested / ⚠️ Some not tested / ❌ Issues found
593
+ - Error Handling: ✅ User-friendly / ❌ Confusing
594
+ - Error Recovery: ✅ Users can recover / ❌ Dead-ends found
595
+
596
+ ### Functional Completeness
597
+ - All Workflow Steps: ✅ Working
598
+ - Broken Links: ✅ None found
599
+ - Positive Cases: ✅ All working
600
+ - Negative Cases: ✅ Handled gracefully / ❌ Not handled
601
+ - Edge Cases: ✅ Handled / ❌ Issues found
602
+ - Error States: ✅ Handled gracefully
603
+ - Error Recovery: ✅ Users can recover / ❌ Dead-ends found
604
+ - Success States: ✅ Work correctly
605
+
606
+ ### Evidence Quality
607
+ - Validation Evidence: ✅ Complete
608
+ - Screenshots: ✅ Included for UI features
609
+ - API Outputs: ⚠️ Missing for some endpoints
610
+ - Database State: ✅ Included
611
+
612
+ ## Decision
613
+ ✅ APPROVE / ❌ REJECT / ⚠️ REQUEST CHANGES
614
+
615
+ ## Feedback Document
616
+ - Location: `docs/evidence/{issue}-feature-reviewer-feedback.md`
617
+ - Iteration: {1, 2, or 3}
618
+
619
+ ## Blockers (if any)
620
+ 1. User workflow step X doesn't work (tested with authentication)
621
+ 2. Validation method Y not executed
622
+ 3. UI doesn't match mock Z
623
+ 4. Customer problem not actually solved
624
+
625
+ ## Next Steps (if REQUEST CHANGES)
626
+ - [ ] Implementation agent addresses feedback in `docs/evidence/{issue}-feature-reviewer-feedback.md`
627
+ - [ ] Implementation agent updates `docs/evidence/{issue}-implementation-evidence.md`
628
+ - [ ] Implementation agent marks `status:design-review-passed` for re-review
629
+ - [ ] Feature review agent will re-review (max 3 iterations)
630
+ ```
631
+
632
+ ## EXAMPLES
633
+
634
+ ### Good: Complete Review
635
+ ```
636
+ Issue #533: Feature Spec Review
637
+ ✅ Customer Problem: Solved
638
+ ✅ User Experience: 5/5 steps working
639
+ ✅ Validation Plan: 4/4 methods executed
640
+ ✅ UI Mocks: Match
641
+ ✅ Authentication: Cookie session working
642
+ Decision: ✅ APPROVE
643
+ ```
644
+
645
+ ### Bad: Incomplete Review
646
+ ```
647
+ Issue #533: Feature Spec Review
648
+ ❌ Customer Problem: Not fully addressed
649
+ ⚠️ User Experience: 3/5 steps working (2 broken)
650
+ ❌ Validation Plan: 2/4 methods executed (2 missing)
651
+ ❌ UI Mocks: Don't match
652
+ Decision: ❌ REJECT
653
+ Blockers: Broken workflow steps, missing validations
654
+ ```
655
+
656
+ ## INTEGRATION
657
+
658
+ ### Status Label Flow
659
+ ```
660
+ status:design-review-passed
661
+ ↓ (Feature Spec Review)
662
+ status:feature-review-passed (or status:wip if rejected)
663
+ ↓ (Final approval)
664
+ Ready for merge
665
+ ```
666
+
667
+ ### After This Review
668
+ - If APPROVE: Issue ready for final approval/merge
669
+ - If REJECT: Issue returns to implementation (status:wip)
670
+ - Implementation agent addresses blockers and re-submits
671
+
672
+ ### Relationship to Design Spec Review
673
+ - Design Spec Review validates technical correctness
674
+ - Feature Spec Review validates user value and experience
675
+ - Both must pass for issue to be complete