chati-dev 1.3.3 → 2.0.1

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 (215) hide show
  1. package/README.md +7 -6
  2. package/framework/agents/build/dev.md +343 -0
  3. package/framework/agents/clarity/architect.md +113 -0
  4. package/framework/agents/clarity/brief.md +183 -0
  5. package/framework/agents/clarity/brownfield-wu.md +182 -0
  6. package/framework/agents/clarity/detail.md +111 -0
  7. package/framework/agents/clarity/greenfield-wu.md +154 -0
  8. package/framework/agents/clarity/phases.md +1 -0
  9. package/framework/agents/clarity/tasks.md +1 -0
  10. package/framework/agents/clarity/ux.md +113 -0
  11. package/framework/agents/deploy/devops.md +1 -0
  12. package/framework/agents/quality/qa-implementation.md +1 -0
  13. package/framework/agents/quality/qa-planning.md +1 -0
  14. package/framework/config.yaml +3 -3
  15. package/framework/constitution.md +58 -1
  16. package/framework/context/governance.md +37 -0
  17. package/framework/context/protocols.md +34 -0
  18. package/framework/context/quality.md +27 -0
  19. package/framework/context/root.md +24 -0
  20. package/framework/data/entity-registry.yaml +1 -1
  21. package/framework/domains/agents/architect.yaml +51 -0
  22. package/framework/domains/agents/brief.yaml +47 -0
  23. package/framework/domains/agents/brownfield-wu.yaml +49 -0
  24. package/framework/domains/agents/detail.yaml +47 -0
  25. package/framework/domains/agents/dev.yaml +49 -0
  26. package/framework/domains/agents/devops.yaml +43 -0
  27. package/framework/domains/agents/greenfield-wu.yaml +47 -0
  28. package/framework/domains/agents/orchestrator.yaml +49 -0
  29. package/framework/domains/agents/phases.yaml +47 -0
  30. package/framework/domains/agents/qa-implementation.yaml +43 -0
  31. package/framework/domains/agents/qa-planning.yaml +44 -0
  32. package/framework/domains/agents/tasks.yaml +48 -0
  33. package/framework/domains/agents/ux.yaml +50 -0
  34. package/framework/domains/constitution.yaml +77 -0
  35. package/framework/domains/global.yaml +64 -0
  36. package/framework/domains/workflows/brownfield-discovery.yaml +16 -0
  37. package/framework/domains/workflows/brownfield-fullstack.yaml +26 -0
  38. package/framework/domains/workflows/brownfield-service.yaml +22 -0
  39. package/framework/domains/workflows/brownfield-ui.yaml +22 -0
  40. package/framework/domains/workflows/greenfield-fullstack.yaml +26 -0
  41. package/framework/hooks/constitution-guard.js +101 -0
  42. package/framework/hooks/mode-governance.js +92 -0
  43. package/framework/hooks/model-governance.js +76 -0
  44. package/framework/hooks/prism-engine.js +89 -0
  45. package/framework/hooks/session-digest.js +60 -0
  46. package/framework/hooks/settings.json +44 -0
  47. package/framework/i18n/en.yaml +3 -3
  48. package/framework/i18n/es.yaml +3 -3
  49. package/framework/i18n/fr.yaml +3 -3
  50. package/framework/i18n/pt.yaml +3 -3
  51. package/framework/intelligence/context-engine.md +2 -2
  52. package/framework/intelligence/decision-engine.md +1 -1
  53. package/framework/migrations/v1.4-to-v2.0.yaml +167 -0
  54. package/framework/migrations/v2.0-to-v2.0.1.yaml +132 -0
  55. package/framework/orchestrator/chati.md +350 -7
  56. package/framework/schemas/session.schema.json +15 -0
  57. package/framework/tasks/architect-api-design.md +63 -0
  58. package/framework/tasks/architect-consolidate.md +47 -0
  59. package/framework/tasks/architect-db-design.md +73 -0
  60. package/framework/tasks/architect-design.md +95 -0
  61. package/framework/tasks/architect-security-review.md +62 -0
  62. package/framework/tasks/architect-stack-selection.md +53 -0
  63. package/framework/tasks/brief-consolidate.md +249 -0
  64. package/framework/tasks/brief-constraint-identify.md +277 -0
  65. package/framework/tasks/brief-extract-requirements.md +339 -0
  66. package/framework/tasks/brief-stakeholder-map.md +176 -0
  67. package/framework/tasks/brief-validate-completeness.md +121 -0
  68. package/framework/tasks/brownfield-wu-architecture-map.md +394 -0
  69. package/framework/tasks/brownfield-wu-deep-discovery.md +312 -0
  70. package/framework/tasks/brownfield-wu-dependency-scan.md +359 -0
  71. package/framework/tasks/brownfield-wu-migration-plan.md +483 -0
  72. package/framework/tasks/brownfield-wu-report.md +325 -0
  73. package/framework/tasks/brownfield-wu-risk-assess.md +424 -0
  74. package/framework/tasks/detail-acceptance-criteria.md +372 -0
  75. package/framework/tasks/detail-consolidate.md +138 -0
  76. package/framework/tasks/detail-edge-case-analysis.md +300 -0
  77. package/framework/tasks/detail-expand-prd.md +389 -0
  78. package/framework/tasks/detail-nfr-extraction.md +223 -0
  79. package/framework/tasks/dev-code-review.md +404 -0
  80. package/framework/tasks/dev-consolidate.md +543 -0
  81. package/framework/tasks/dev-debug.md +322 -0
  82. package/framework/tasks/dev-implement.md +252 -0
  83. package/framework/tasks/dev-iterate.md +411 -0
  84. package/framework/tasks/dev-pr-prepare.md +497 -0
  85. package/framework/tasks/dev-refactor.md +342 -0
  86. package/framework/tasks/dev-test-write.md +306 -0
  87. package/framework/tasks/devops-ci-setup.md +412 -0
  88. package/framework/tasks/devops-consolidate.md +712 -0
  89. package/framework/tasks/devops-deploy-config.md +598 -0
  90. package/framework/tasks/devops-monitoring-setup.md +658 -0
  91. package/framework/tasks/devops-release-prepare.md +673 -0
  92. package/framework/tasks/greenfield-wu-analyze-empty.md +169 -0
  93. package/framework/tasks/greenfield-wu-report.md +266 -0
  94. package/framework/tasks/greenfield-wu-scaffold-detection.md +203 -0
  95. package/framework/tasks/greenfield-wu-tech-stack-assess.md +255 -0
  96. package/framework/tasks/orchestrator-deviation.md +260 -0
  97. package/framework/tasks/orchestrator-escalate.md +276 -0
  98. package/framework/tasks/orchestrator-handoff.md +243 -0
  99. package/framework/tasks/orchestrator-health.md +372 -0
  100. package/framework/tasks/orchestrator-mode-switch.md +262 -0
  101. package/framework/tasks/orchestrator-resume.md +189 -0
  102. package/framework/tasks/orchestrator-route.md +169 -0
  103. package/framework/tasks/orchestrator-spawn-terminal.md +358 -0
  104. package/framework/tasks/orchestrator-status.md +260 -0
  105. package/framework/tasks/orchestrator-suggest-mode.md +372 -0
  106. package/framework/tasks/phases-breakdown.md +91 -0
  107. package/framework/tasks/phases-dependency-mapping.md +67 -0
  108. package/framework/tasks/phases-mvp-scoping.md +94 -0
  109. package/framework/tasks/qa-impl-consolidate.md +522 -0
  110. package/framework/tasks/qa-impl-performance-test.md +487 -0
  111. package/framework/tasks/qa-impl-regression-check.md +413 -0
  112. package/framework/tasks/qa-impl-sast-scan.md +402 -0
  113. package/framework/tasks/qa-impl-test-execute.md +344 -0
  114. package/framework/tasks/qa-impl-verdict.md +339 -0
  115. package/framework/tasks/qa-planning-consolidate.md +309 -0
  116. package/framework/tasks/qa-planning-coverage-plan.md +338 -0
  117. package/framework/tasks/qa-planning-gate-define.md +339 -0
  118. package/framework/tasks/qa-planning-risk-matrix.md +631 -0
  119. package/framework/tasks/qa-planning-test-strategy.md +217 -0
  120. package/framework/tasks/tasks-acceptance-write.md +75 -0
  121. package/framework/tasks/tasks-consolidate.md +57 -0
  122. package/framework/tasks/tasks-decompose.md +80 -0
  123. package/framework/tasks/tasks-estimate.md +66 -0
  124. package/framework/tasks/ux-a11y-check.md +49 -0
  125. package/framework/tasks/ux-component-map.md +55 -0
  126. package/framework/tasks/ux-consolidate.md +46 -0
  127. package/framework/tasks/ux-user-flow.md +46 -0
  128. package/framework/tasks/ux-wireframe.md +76 -0
  129. package/package.json +1 -1
  130. package/scripts/bundle-framework.js +2 -0
  131. package/scripts/changelog-generator.js +222 -0
  132. package/scripts/codebase-mapper.js +728 -0
  133. package/scripts/commit-message-generator.js +167 -0
  134. package/scripts/coverage-analyzer.js +260 -0
  135. package/scripts/dependency-analyzer.js +280 -0
  136. package/scripts/framework-analyzer.js +308 -0
  137. package/scripts/generate-constitution-domain.js +253 -0
  138. package/scripts/health-check.js +481 -0
  139. package/scripts/ide-sync.js +327 -0
  140. package/scripts/performance-analyzer.js +325 -0
  141. package/scripts/plan-tracker.js +278 -0
  142. package/scripts/populate-entity-registry.js +481 -0
  143. package/scripts/pr-review.js +317 -0
  144. package/scripts/rollback-manager.js +310 -0
  145. package/scripts/stuck-detector.js +343 -0
  146. package/scripts/test-quality-assessment.js +257 -0
  147. package/scripts/validate-agents.js +367 -0
  148. package/scripts/validate-tasks.js +465 -0
  149. package/src/autonomy/autonomous-gate.js +293 -0
  150. package/src/autonomy/index.js +51 -0
  151. package/src/autonomy/mode-manager.js +225 -0
  152. package/src/autonomy/mode-suggester.js +283 -0
  153. package/src/autonomy/progress-reporter.js +268 -0
  154. package/src/autonomy/safety-net.js +320 -0
  155. package/src/context/bracket-tracker.js +79 -0
  156. package/src/context/domain-loader.js +107 -0
  157. package/src/context/engine.js +144 -0
  158. package/src/context/formatter.js +184 -0
  159. package/src/context/index.js +4 -0
  160. package/src/context/layers/l0-constitution.js +28 -0
  161. package/src/context/layers/l1-global.js +37 -0
  162. package/src/context/layers/l2-agent.js +39 -0
  163. package/src/context/layers/l3-workflow.js +42 -0
  164. package/src/context/layers/l4-task.js +24 -0
  165. package/src/decision/analyzer.js +167 -0
  166. package/src/decision/engine.js +270 -0
  167. package/src/decision/index.js +38 -0
  168. package/src/decision/registry-healer.js +450 -0
  169. package/src/decision/registry-updater.js +330 -0
  170. package/src/gates/circuit-breaker.js +119 -0
  171. package/src/gates/g1-planning-complete.js +153 -0
  172. package/src/gates/g2-qa-planning.js +153 -0
  173. package/src/gates/g3-implementation.js +188 -0
  174. package/src/gates/g4-qa-implementation.js +207 -0
  175. package/src/gates/g5-deploy-ready.js +180 -0
  176. package/src/gates/gate-base.js +144 -0
  177. package/src/gates/index.js +46 -0
  178. package/src/installer/brownfield-upgrader.js +249 -0
  179. package/src/installer/core.js +55 -3
  180. package/src/installer/file-hasher.js +51 -0
  181. package/src/installer/manifest.js +117 -0
  182. package/src/installer/templates.js +17 -15
  183. package/src/installer/transaction.js +229 -0
  184. package/src/installer/validator.js +18 -1
  185. package/src/intelligence/registry-manager.js +2 -2
  186. package/src/memory/agent-memory.js +255 -0
  187. package/src/memory/gotchas-injector.js +72 -0
  188. package/src/memory/gotchas.js +361 -0
  189. package/src/memory/index.js +35 -0
  190. package/src/memory/search.js +233 -0
  191. package/src/memory/session-digest.js +239 -0
  192. package/src/merger/env-merger.js +112 -0
  193. package/src/merger/index.js +56 -0
  194. package/src/merger/replace-merger.js +51 -0
  195. package/src/merger/yaml-merger.js +127 -0
  196. package/src/orchestrator/agent-selector.js +285 -0
  197. package/src/orchestrator/deviation-handler.js +350 -0
  198. package/src/orchestrator/handoff-engine.js +271 -0
  199. package/src/orchestrator/index.js +67 -0
  200. package/src/orchestrator/intent-classifier.js +264 -0
  201. package/src/orchestrator/pipeline-manager.js +492 -0
  202. package/src/orchestrator/pipeline-state.js +223 -0
  203. package/src/orchestrator/session-manager.js +409 -0
  204. package/src/tasks/executor.js +195 -0
  205. package/src/tasks/handoff.js +226 -0
  206. package/src/tasks/index.js +4 -0
  207. package/src/tasks/loader.js +210 -0
  208. package/src/tasks/router.js +182 -0
  209. package/src/terminal/collector.js +216 -0
  210. package/src/terminal/index.js +30 -0
  211. package/src/terminal/isolation.js +129 -0
  212. package/src/terminal/monitor.js +277 -0
  213. package/src/terminal/spawner.js +269 -0
  214. package/src/upgrade/checker.js +1 -1
  215. package/src/wizard/i18n.js +3 -3
@@ -0,0 +1,277 @@
1
+ ---
2
+ id: brief-constraint-identify
3
+ agent: brief
4
+ trigger: brief-stakeholder-map
5
+ phase: clarity
6
+ requires_input: true
7
+ parallelizable: false
8
+ outputs: [constraints.yaml]
9
+ handoff_to: brief-consolidate
10
+ autonomous_gate: true
11
+ criteria:
12
+ - All constraint types identified
13
+ - Constraint conflicts resolved
14
+ - Realistic feasibility assessment
15
+ ---
16
+ # Identify and Resolve Constraint Conflicts
17
+
18
+ ## Purpose
19
+ Identify all project constraints, detect conflicts, and work with user to resolve them.
20
+
21
+ ## Prerequisites
22
+ - `validation-report.yaml` with initial constraints
23
+ - `stakeholder-map.yaml` for authority on constraint resolution
24
+
25
+ ## Steps
26
+
27
+ ### 1. Consolidate All Constraints
28
+ From previous artifacts, gather:
29
+ - Technical constraints
30
+ - Timeline constraints
31
+ - Budget constraints
32
+ - Team constraints
33
+ - Regulatory/compliance constraints
34
+ - Business constraints
35
+
36
+ ### 2. Analyze Each Constraint Type
37
+
38
+ **Technical Constraints**:
39
+ - Must-use technologies
40
+ - Integration requirements
41
+ - Platform requirements
42
+ - Data constraints
43
+ - Infrastructure limitations
44
+
45
+ **Timeline Constraints**:
46
+ - Hard deadlines (launch date, regulatory deadline)
47
+ - Soft deadlines (preferred dates)
48
+ - Milestones
49
+ - Dependencies on external events
50
+
51
+ **Budget Constraints**:
52
+ - Development budget (hours × rate)
53
+ - Infrastructure budget (hosting, services)
54
+ - Third-party service costs (APIs, SaaS)
55
+ - One-time vs. recurring costs
56
+
57
+ **Team Constraints**:
58
+ - Team size and composition
59
+ - Skill levels and gaps
60
+ - Availability (full-time, part-time, contract)
61
+ - Timezone distribution
62
+
63
+ **Regulatory Constraints**:
64
+ - GDPR, CCPA (data privacy)
65
+ - HIPAA (healthcare)
66
+ - PCI-DSS (payments)
67
+ - SOC2 (security)
68
+ - Industry-specific regulations
69
+
70
+ ### 3. Detect Constraint Conflicts
71
+ Common conflicts:
72
+ - **Time vs. Scope**: Not enough time to build all features
73
+ - **Budget vs. Quality**: Budget doesn't support proper testing
74
+ - **Team Skills vs. Tech Stack**: Team doesn't know required technologies
75
+ - **Timeline vs. Quality**: Rush leads to technical debt
76
+ - **Multiple Hard Deadlines**: Can't meet all simultaneously
77
+
78
+ ### 4. Assess Constraint Flexibility
79
+ For each constraint, determine:
80
+ - **Fixed**: Cannot change (legal deadline, existing API)
81
+ - **Negotiable**: Can discuss changes (MVP scope, timeline)
82
+ - **Flexible**: Can easily adjust (nice-to-have features)
83
+
84
+ ### 5. Calculate Feasibility
85
+ Estimate if project is feasible given constraints:
86
+ - Required effort (hours) vs. available capacity (team × hours)
87
+ - Required timeline vs. estimated development time
88
+ - Required budget vs. estimated costs
89
+ - Required skills vs. available skills
90
+
91
+ If infeasible, flag with recommended adjustments.
92
+
93
+ ### 6. Present Conflicts to User
94
+ For each conflict:
95
+ - Describe the conflict
96
+ - Explain the impact if not resolved
97
+ - Provide 2-3 resolution options with trade-offs
98
+ - Recommend preferred option
99
+
100
+ ### 7. Collect User Decisions
101
+ - Which constraints are truly fixed?
102
+ - Which can be relaxed?
103
+ - How to resolve each conflict?
104
+ - What are acceptable trade-offs?
105
+
106
+ ### 8. Update Constraint List
107
+ - Mark fixed vs. flexible
108
+ - Document resolutions
109
+ - Note any assumptions made
110
+
111
+ ### 9. Re-assess Feasibility
112
+ - After resolutions, is project now feasible?
113
+ - If not, escalate to stakeholders for major decisions
114
+
115
+ ### 10. Document Final Constraints
116
+ - Clear, unambiguous constraint list
117
+ - All conflicts resolved
118
+ - Feasibility confirmed
119
+
120
+ ## Decision Points
121
+ - **Infeasible Project**: If project cannot be done within constraints, recommend scope reduction or constraint relaxation
122
+ - **Major Conflict**: If conflict requires stakeholder decision, facilitate that conversation
123
+
124
+ ## Error Handling
125
+ - **Unrealistic Expectations**: Gently educate user on typical timelines/costs
126
+ - **Unwilling to Compromise**: Document the risk and proceed (user responsibility)
127
+
128
+ ## Output Format
129
+ ```yaml
130
+ # constraints.yaml
131
+ timestamp: 2026-02-13T13:45:00Z
132
+
133
+ all_constraints:
134
+ technical:
135
+ - id: CT-001
136
+ constraint: Must integrate with existing WordPress blog API
137
+ flexibility: fixed
138
+ impact: high
139
+ reason: Business requirement, existing content must be accessible
140
+ - id: CT-002
141
+ constraint: Must use React for frontend
142
+ flexibility: negotiable
143
+ impact: medium
144
+ reason: Team expertise, but could learn Vue if needed
145
+ timeline:
146
+ - id: CT-003
147
+ constraint: MVP launch by May 13, 2026 (3 months)
148
+ flexibility: negotiable
149
+ impact: high
150
+ reason: Marketing campaign scheduled, but can adjust
151
+ budget:
152
+ - id: CT-004
153
+ constraint: Development budget is $60,000 (600 hours @ $100/hr)
154
+ flexibility: negotiable
155
+ impact: high
156
+ reason: Allocated budget for Q1-Q2, could request more if justified
157
+ - id: CT-005
158
+ constraint: Hosting budget is $200/month
159
+ flexibility: fixed
160
+ impact: medium
161
+ reason: Recurring budget approved, hard to change
162
+ team:
163
+ - id: CT-006
164
+ constraint: Team of 2 React developers, no backend experience
165
+ flexibility: fixed
166
+ impact: high
167
+ reason: Current team, hiring not possible short-term
168
+ regulatory:
169
+ - id: CT-007
170
+ constraint: Must be GDPR compliant for EU users
171
+ flexibility: fixed
172
+ impact: high
173
+ reason: Legal requirement
174
+
175
+ detected_conflicts:
176
+ - conflict_id: CONF-001
177
+ description: Timeline too aggressive for scope
178
+ constraints_involved: [CT-003, functional requirements FR-001 through FR-008]
179
+ impact: Project will miss deadline or deliver incomplete features
180
+ severity: high
181
+ resolution_options:
182
+ - option: Reduce MVP scope to core features only (FR-001, FR-002, FR-005)
183
+ pros: Can meet timeline, focused MVP
184
+ cons: Deferred features delay user value
185
+ recommended: true
186
+ - option: Extend timeline to 5 months
187
+ pros: All features delivered with quality
188
+ cons: Misses marketing campaign
189
+ recommended: false
190
+ - option: Hire contractor for additional capacity
191
+ pros: Accelerate development
192
+ cons: Increases budget, onboarding overhead
193
+ recommended: false
194
+ user_decision: Reduce scope to core features
195
+ resolution: MVP scope reduced to user auth, posting, and search. Admin moderation and comments deferred to phase 2.
196
+
197
+ - conflict_id: CONF-002
198
+ description: Team lacks backend skills but project requires full-stack
199
+ constraints_involved: [CT-006, architecture requirements]
200
+ impact: Backend development will be slow, potential quality issues
201
+ severity: high
202
+ resolution_options:
203
+ - option: Use Backend-as-a-Service (Firebase, Supabase, AWS Amplify)
204
+ pros: Reduces backend complexity, team can focus on React
205
+ cons: Vendor lock-in, recurring costs
206
+ recommended: true
207
+ - option: Hire backend contractor
208
+ pros: Expert backend implementation
209
+ cons: Increases budget, coordination overhead
210
+ recommended: false
211
+ - option: Team learns backend while building
212
+ pros: Team skill development
213
+ cons: Slower development, higher bug risk
214
+ recommended: false
215
+ user_decision: Use Supabase (BaaS)
216
+ resolution: Supabase chosen for auth, database, and API. Team focuses on React frontend.
217
+
218
+ - conflict_id: CONF-003
219
+ description: Budget may not support 3-month intensive development
220
+ constraints_involved: [CT-004, CT-003]
221
+ impact: May run out of budget before completion
222
+ severity: medium
223
+ resolution_options:
224
+ - option: Reduce scope to fit budget
225
+ pros: Stays within budget
226
+ cons: Fewer features
227
+ recommended: true
228
+ - option: Request budget increase
229
+ pros: Full feature set
230
+ cons: Requires approval, may not be granted
231
+ recommended: false
232
+ user_decision: Reduced scope fits within budget
233
+ resolution: Scope reduction (CONF-001) brings estimated effort to 480 hours, fits within 600-hour budget with buffer.
234
+
235
+ resolved_conflicts: 3
236
+ remaining_conflicts: 0
237
+
238
+ feasibility_assessment:
239
+ before_resolution:
240
+ required_effort_hours: 720
241
+ available_capacity_hours: 600 (2 devs × 3 months × 100 hours/month)
242
+ feasibility: infeasible
243
+ gap: 120 hours
244
+ after_resolution:
245
+ required_effort_hours: 480
246
+ available_capacity_hours: 600
247
+ feasibility: feasible
248
+ buffer: 120 hours (20%)
249
+ confidence: high
250
+
251
+ final_constraints:
252
+ fixed:
253
+ - WordPress integration (CT-001)
254
+ - Hosting budget $200/month (CT-005)
255
+ - Team size 2 developers (CT-006)
256
+ - GDPR compliance (CT-007)
257
+ negotiable:
258
+ - React frontend (CT-002) - chosen, but could have been Vue
259
+ - Timeline 3 months (CT-003) - could extend if needed
260
+ flexible:
261
+ - Feature scope - reduced to MVP
262
+ - Development budget (CT-004) - could request more if justified
263
+
264
+ assumptions:
265
+ - Supabase free tier sufficient for MVP, will upgrade as needed
266
+ - Developers available 100 hours/month each (full-time equivalent)
267
+ - No major requirements changes during development
268
+ - WordPress API is well-documented and stable
269
+
270
+ risk_mitigations:
271
+ - 20% time buffer for unknowns and bugs
272
+ - Weekly checkpoint meetings to track progress
273
+ - Feature flags to enable/disable incomplete features
274
+ - Plan for soft launch before marketing campaign
275
+
276
+ next_step: consolidate_brief
277
+ ```
@@ -0,0 +1,339 @@
1
+ ---
2
+ id: brief-extract-requirements
3
+ agent: brief
4
+ trigger: orchestrator
5
+ phase: clarity
6
+ requires_input: true
7
+ parallelizable: false
8
+ outputs: [requirements-raw.yaml]
9
+ handoff_to: brief-validate-completeness
10
+ autonomous_gate: true
11
+ criteria:
12
+ - All 5 requirement categories populated
13
+ - At least 5 functional requirements captured
14
+ - At least 3 personas identified
15
+ - Confidence >= 85%
16
+ ---
17
+ # Extract Requirements from User Input
18
+
19
+ ## Purpose
20
+ Extract and structure requirements from user's initial brain dump into the five core categories.
21
+
22
+ ## Prerequisites
23
+ - User has provided initial project description or brain dump
24
+ - Access to user input (text, conversation history, or documents)
25
+
26
+ ## Steps
27
+
28
+ ### 1. Parse User Input
29
+ - Read user's brain dump or project description
30
+ - Identify key themes and topics
31
+ - Note any explicit requirements or constraints
32
+ - Flag ambiguities for follow-up questions
33
+
34
+ ### 2. Extract Functional Requirements
35
+ Identify **what the system must do**:
36
+ - User actions (login, create post, search, etc.)
37
+ - System behaviors (send email, process payment, generate report)
38
+ - Business rules (user must be 18+, discount applies after 10 purchases)
39
+ - Data operations (CRUD operations, calculations, transformations)
40
+ - Integrations (third-party APIs, external systems)
41
+
42
+ Format as: **Actor + Action + Object + Context**
43
+ Example: "User can create a blog post with title, content, and tags"
44
+
45
+ Extract at least 5 functional requirements. If fewer found, ask user for more details.
46
+
47
+ ### 3. Extract Non-Functional Requirements
48
+ Identify **how the system should perform**:
49
+ - **Performance**: Response time, throughput, load time targets
50
+ - **Scalability**: Expected users, data volume, growth rate
51
+ - **Availability**: Uptime requirements, maintenance windows
52
+ - **Security**: Authentication, authorization, data protection, compliance
53
+ - **Usability**: Accessibility, mobile support, user experience quality
54
+ - **Compatibility**: Browser support, device support, API versioning
55
+ - **Reliability**: Error handling, data backup, disaster recovery
56
+ - **Maintainability**: Code quality, documentation, testability
57
+
58
+ Extract at least 3 NFRs. If none mentioned, use reasonable defaults and note as assumptions.
59
+
60
+ ### 4. Extract Constraints
61
+ Identify **limitations and boundaries**:
62
+ - **Technical**: Must use specific technology, existing systems to integrate with
63
+ - **Budget**: Development cost limits, hosting budget
64
+ - **Timeline**: Deadlines, milestones, MVP date
65
+ - **Team**: Team size, skills, availability
66
+ - **Regulatory**: GDPR, HIPAA, SOC2, industry regulations
67
+ - **Business**: Existing contracts, partnerships, brand guidelines
68
+ - **Operational**: Support hours, deployment frequency
69
+
70
+ Extract all explicit constraints. Flag if constraints conflict.
71
+
72
+ ### 5. Identify Personas
73
+ Identify **who will use the system**:
74
+ - Role name (Admin, Customer, Manager, API Consumer)
75
+ - Goals (what they want to achieve)
76
+ - Pain points (current problems)
77
+ - Technical proficiency (novice, intermediate, expert)
78
+ - Frequency of use (daily, weekly, occasional)
79
+
80
+ Create at least 3 personas. If user hasn't mentioned, infer from functional requirements.
81
+
82
+ ### 6. Define Success Criteria
83
+ Identify **how to measure success**:
84
+ - Business metrics (revenue, conversion rate, user growth)
85
+ - User metrics (engagement, satisfaction, retention)
86
+ - Technical metrics (uptime, response time, error rate)
87
+ - Project metrics (on-time delivery, budget adherence)
88
+
89
+ Extract at least 3 success criteria. If none mentioned, ask user to define.
90
+
91
+ ### 7. Identify Gaps and Ambiguities
92
+ Flag areas needing clarification:
93
+ - Vague requirements ("fast", "user-friendly", "secure")
94
+ - Missing details (no authentication method specified)
95
+ - Conflicting requirements (need fast delivery but comprehensive features)
96
+ - Unclear priorities (everything is "must-have")
97
+
98
+ Prepare questions to resolve these in next step.
99
+
100
+ ### 8. Structure into YAML
101
+ Organize extracted requirements into structured format:
102
+ - Group related requirements
103
+ - Number each requirement for reference
104
+ - Add notes for assumptions or uncertainties
105
+ - Mark requirements as explicit (user stated) vs. inferred
106
+
107
+ ### 9. Calculate Extraction Confidence
108
+ Assess confidence (0-100) based on:
109
+ - Completeness (all categories populated)
110
+ - Clarity (requirements are specific vs. vague)
111
+ - Consistency (no conflicts)
112
+ - Sufficiency (enough detail to proceed)
113
+
114
+ ### 10. Generate Clarification Questions
115
+ Create list of questions to ask user:
116
+ - Fill gaps (missing categories)
117
+ - Resolve ambiguities (vague requirements)
118
+ - Prioritize (what's MVP vs. nice-to-have)
119
+ - Validate assumptions (inferred requirements)
120
+
121
+ ## Decision Points
122
+ - **Minimal Information**: If user provided <100 words, ask for more context before extracting
123
+ - **Conflicting Requirements**: Flag immediately and ask for prioritization
124
+ - **Regulated Industry**: If healthcare/finance/etc., ask about compliance needs upfront
125
+
126
+ ## Error Handling
127
+ - **Empty Input**: Request user to provide project description
128
+ - **Non-English Input**: Ask user to provide in English or request translation
129
+ - **Multiple Projects**: Ask user to clarify which project to focus on
130
+ - **Too Much Information**: Summarize and ask user to confirm understanding
131
+
132
+ ## Output Format
133
+ ```yaml
134
+ # requirements-raw.yaml
135
+ timestamp: 2026-02-13T13:00:00Z
136
+ source: user_brain_dump
137
+
138
+ functional_requirements:
139
+ - id: FR-001
140
+ requirement: User can register with email and password
141
+ actor: User
142
+ action: register
143
+ object: account
144
+ context: using email and password
145
+ source: explicit
146
+ - id: FR-002
147
+ requirement: User can create blog posts with title, content, tags, and images
148
+ actor: User
149
+ action: create
150
+ object: blog post
151
+ context: with title, content, tags, and images
152
+ source: explicit
153
+ - id: FR-003
154
+ requirement: System sends email confirmation after registration
155
+ actor: System
156
+ action: send email
157
+ object: confirmation
158
+ context: after user registration
159
+ source: inferred
160
+ - id: FR-004
161
+ requirement: Admin can moderate and delete inappropriate posts
162
+ actor: Admin
163
+ action: moderate and delete
164
+ object: posts
165
+ context: that violate community guidelines
166
+ source: explicit
167
+ - id: FR-005
168
+ requirement: Users can search posts by keyword, tag, or author
169
+ actor: User
170
+ action: search
171
+ object: posts
172
+ context: by keyword, tag, or author
173
+ source: explicit
174
+
175
+ non_functional_requirements:
176
+ performance:
177
+ - id: NFR-001
178
+ requirement: Page load time must be under 2 seconds
179
+ category: performance
180
+ metric: page_load_time
181
+ target: <2s
182
+ source: explicit
183
+ scalability:
184
+ - id: NFR-002
185
+ requirement: Support 10,000 concurrent users
186
+ category: scalability
187
+ metric: concurrent_users
188
+ target: 10000
189
+ source: explicit
190
+ security:
191
+ - id: NFR-003
192
+ requirement: All data must be encrypted in transit and at rest
193
+ category: security
194
+ requirement_type: data_protection
195
+ source: inferred
196
+ - id: NFR-004
197
+ requirement: GDPR compliant for EU users
198
+ category: security
199
+ requirement_type: compliance
200
+ source: explicit
201
+ usability:
202
+ - id: NFR-005
203
+ requirement: Mobile responsive design for all pages
204
+ category: usability
205
+ requirement_type: compatibility
206
+ source: explicit
207
+
208
+ constraints:
209
+ technical:
210
+ - id: C-001
211
+ constraint: Must integrate with existing WordPress blog via API
212
+ type: technical
213
+ impact: high
214
+ source: explicit
215
+ timeline:
216
+ - id: C-002
217
+ constraint: MVP must launch within 3 months
218
+ type: timeline
219
+ deadline: 2026-05-13
220
+ source: explicit
221
+ budget:
222
+ - id: C-003
223
+ constraint: Hosting budget is $200/month maximum
224
+ type: budget
225
+ limit: $200/month
226
+ source: explicit
227
+ team:
228
+ - id: C-004
229
+ constraint: Team of 2 developers, both familiar with React but not backend
230
+ type: team
231
+ size: 2
232
+ skills: [React]
233
+ gaps: [backend]
234
+ source: explicit
235
+
236
+ personas:
237
+ - id: P-001
238
+ name: Content Creator
239
+ role: Blogger
240
+ goals:
241
+ - Write and publish blog posts easily
242
+ - Reach wide audience
243
+ - Engage with readers through comments
244
+ pain_points:
245
+ - Current platform is slow and buggy
246
+ - Difficult to format posts
247
+ - Limited analytics
248
+ technical_proficiency: intermediate
249
+ frequency: daily
250
+ priority: primary
251
+ - id: P-002
252
+ name: Site Administrator
253
+ role: Admin
254
+ goals:
255
+ - Maintain community standards
256
+ - Manage users and content
257
+ - Monitor site health
258
+ pain_points:
259
+ - Manual moderation is time-consuming
260
+ - No tools for bulk operations
261
+ technical_proficiency: expert
262
+ frequency: daily
263
+ priority: secondary
264
+ - id: P-003
265
+ name: Reader
266
+ role: Visitor
267
+ goals:
268
+ - Discover interesting content
269
+ - Easy reading experience
270
+ - Save favorite posts
271
+ pain_points:
272
+ - Hard to find relevant content
273
+ - Cluttered interface
274
+ technical_proficiency: novice
275
+ frequency: weekly
276
+ priority: primary
277
+
278
+ success_criteria:
279
+ - id: SC-001
280
+ metric: User registrations
281
+ target: 1000 users in first month
282
+ category: business
283
+ - id: SC-002
284
+ metric: Page load time
285
+ target: <2 seconds average
286
+ category: technical
287
+ - id: SC-003
288
+ metric: User satisfaction
289
+ target: 4.5/5 rating
290
+ category: user
291
+ - id: SC-004
292
+ metric: Uptime
293
+ target: 99.5%
294
+ category: technical
295
+
296
+ gaps_and_ambiguities:
297
+ - gap: Authentication method not specified (JWT, session, OAuth?)
298
+ severity: medium
299
+ question: What authentication method should we use?
300
+ - gap: Image upload limits not specified
301
+ severity: low
302
+ question: What are max image size and allowed formats?
303
+ - gap: Moderation workflow unclear
304
+ severity: medium
305
+ question: Should moderation be pre-publish or post-publish?
306
+ - gap: Search implementation not detailed
307
+ severity: low
308
+ question: Should search be full-text or simple keyword matching?
309
+ - gap: Priority unclear (all requirements presented as must-have)
310
+ severity: high
311
+ question: Which features are MVP vs. phase 2?
312
+
313
+ assumptions:
314
+ - Assumed GDPR compliance needed (not explicitly stated but inferred from "EU users" mention)
315
+ - Assumed email confirmation needed for registration (standard practice)
316
+ - Assumed HTTPS for all connections (security best practice)
317
+ - Assumed data encryption at rest (security best practice)
318
+
319
+ confidence: 78
320
+ confidence_reasoning: |
321
+ Good functional requirements coverage (5 FRs). Non-functional requirements
322
+ present but some are vague. Personas identified. Major gap is prioritization
323
+ (MVP vs. future). Authentication details missing. Overall sufficient to proceed
324
+ to validation step where we'll fill gaps.
325
+
326
+ clarification_questions:
327
+ - Which features are must-have for MVP vs. nice-to-have for later phases?
328
+ - What authentication method do you prefer (JWT, session-based, OAuth)?
329
+ - Should user content moderation be pre-publish (requires approval) or post-publish (published immediately)?
330
+ - What are the image upload constraints (max size, allowed formats)?
331
+ - Do you have an existing user base migrating from WordPress?
332
+ - What analytics are most important to track?
333
+
334
+ next_steps:
335
+ - Validate completeness of requirements
336
+ - Ask clarification questions
337
+ - Prioritize requirements
338
+ - Map to MVP scope
339
+ ```