chati-dev 1.4.0 → 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 (200) hide show
  1. package/README.md +3 -3
  2. package/framework/agents/build/dev.md +343 -0
  3. package/framework/agents/clarity/architect.md +112 -0
  4. package/framework/agents/clarity/brief.md +182 -0
  5. package/framework/agents/clarity/brownfield-wu.md +181 -0
  6. package/framework/agents/clarity/detail.md +110 -0
  7. package/framework/agents/clarity/greenfield-wu.md +153 -0
  8. package/framework/agents/clarity/ux.md +112 -0
  9. package/framework/config.yaml +3 -3
  10. package/framework/constitution.md +31 -1
  11. package/framework/context/governance.md +37 -0
  12. package/framework/context/protocols.md +34 -0
  13. package/framework/context/quality.md +27 -0
  14. package/framework/context/root.md +24 -0
  15. package/framework/domains/agents/architect.yaml +51 -0
  16. package/framework/domains/agents/brief.yaml +47 -0
  17. package/framework/domains/agents/brownfield-wu.yaml +49 -0
  18. package/framework/domains/agents/detail.yaml +47 -0
  19. package/framework/domains/agents/dev.yaml +49 -0
  20. package/framework/domains/agents/devops.yaml +43 -0
  21. package/framework/domains/agents/greenfield-wu.yaml +47 -0
  22. package/framework/domains/agents/orchestrator.yaml +49 -0
  23. package/framework/domains/agents/phases.yaml +47 -0
  24. package/framework/domains/agents/qa-implementation.yaml +43 -0
  25. package/framework/domains/agents/qa-planning.yaml +44 -0
  26. package/framework/domains/agents/tasks.yaml +48 -0
  27. package/framework/domains/agents/ux.yaml +50 -0
  28. package/framework/domains/constitution.yaml +77 -0
  29. package/framework/domains/global.yaml +64 -0
  30. package/framework/domains/workflows/brownfield-discovery.yaml +16 -0
  31. package/framework/domains/workflows/brownfield-fullstack.yaml +26 -0
  32. package/framework/domains/workflows/brownfield-service.yaml +22 -0
  33. package/framework/domains/workflows/brownfield-ui.yaml +22 -0
  34. package/framework/domains/workflows/greenfield-fullstack.yaml +26 -0
  35. package/framework/hooks/constitution-guard.js +101 -0
  36. package/framework/hooks/mode-governance.js +92 -0
  37. package/framework/hooks/model-governance.js +76 -0
  38. package/framework/hooks/prism-engine.js +89 -0
  39. package/framework/hooks/session-digest.js +60 -0
  40. package/framework/hooks/settings.json +44 -0
  41. package/framework/migrations/v1.4-to-v2.0.yaml +167 -0
  42. package/framework/migrations/v2.0-to-v2.0.1.yaml +132 -0
  43. package/framework/orchestrator/chati.md +284 -6
  44. package/framework/tasks/architect-api-design.md +63 -0
  45. package/framework/tasks/architect-consolidate.md +47 -0
  46. package/framework/tasks/architect-db-design.md +73 -0
  47. package/framework/tasks/architect-design.md +95 -0
  48. package/framework/tasks/architect-security-review.md +62 -0
  49. package/framework/tasks/architect-stack-selection.md +53 -0
  50. package/framework/tasks/brief-consolidate.md +249 -0
  51. package/framework/tasks/brief-constraint-identify.md +277 -0
  52. package/framework/tasks/brief-extract-requirements.md +339 -0
  53. package/framework/tasks/brief-stakeholder-map.md +176 -0
  54. package/framework/tasks/brief-validate-completeness.md +121 -0
  55. package/framework/tasks/brownfield-wu-architecture-map.md +394 -0
  56. package/framework/tasks/brownfield-wu-deep-discovery.md +312 -0
  57. package/framework/tasks/brownfield-wu-dependency-scan.md +359 -0
  58. package/framework/tasks/brownfield-wu-migration-plan.md +483 -0
  59. package/framework/tasks/brownfield-wu-report.md +325 -0
  60. package/framework/tasks/brownfield-wu-risk-assess.md +424 -0
  61. package/framework/tasks/detail-acceptance-criteria.md +372 -0
  62. package/framework/tasks/detail-consolidate.md +138 -0
  63. package/framework/tasks/detail-edge-case-analysis.md +300 -0
  64. package/framework/tasks/detail-expand-prd.md +389 -0
  65. package/framework/tasks/detail-nfr-extraction.md +223 -0
  66. package/framework/tasks/dev-code-review.md +404 -0
  67. package/framework/tasks/dev-consolidate.md +543 -0
  68. package/framework/tasks/dev-debug.md +322 -0
  69. package/framework/tasks/dev-implement.md +252 -0
  70. package/framework/tasks/dev-iterate.md +411 -0
  71. package/framework/tasks/dev-pr-prepare.md +497 -0
  72. package/framework/tasks/dev-refactor.md +342 -0
  73. package/framework/tasks/dev-test-write.md +306 -0
  74. package/framework/tasks/devops-ci-setup.md +412 -0
  75. package/framework/tasks/devops-consolidate.md +712 -0
  76. package/framework/tasks/devops-deploy-config.md +598 -0
  77. package/framework/tasks/devops-monitoring-setup.md +658 -0
  78. package/framework/tasks/devops-release-prepare.md +673 -0
  79. package/framework/tasks/greenfield-wu-analyze-empty.md +169 -0
  80. package/framework/tasks/greenfield-wu-report.md +266 -0
  81. package/framework/tasks/greenfield-wu-scaffold-detection.md +203 -0
  82. package/framework/tasks/greenfield-wu-tech-stack-assess.md +255 -0
  83. package/framework/tasks/orchestrator-deviation.md +260 -0
  84. package/framework/tasks/orchestrator-escalate.md +276 -0
  85. package/framework/tasks/orchestrator-handoff.md +243 -0
  86. package/framework/tasks/orchestrator-health.md +372 -0
  87. package/framework/tasks/orchestrator-mode-switch.md +262 -0
  88. package/framework/tasks/orchestrator-resume.md +189 -0
  89. package/framework/tasks/orchestrator-route.md +169 -0
  90. package/framework/tasks/orchestrator-spawn-terminal.md +358 -0
  91. package/framework/tasks/orchestrator-status.md +260 -0
  92. package/framework/tasks/orchestrator-suggest-mode.md +372 -0
  93. package/framework/tasks/phases-breakdown.md +91 -0
  94. package/framework/tasks/phases-dependency-mapping.md +67 -0
  95. package/framework/tasks/phases-mvp-scoping.md +94 -0
  96. package/framework/tasks/qa-impl-consolidate.md +522 -0
  97. package/framework/tasks/qa-impl-performance-test.md +487 -0
  98. package/framework/tasks/qa-impl-regression-check.md +413 -0
  99. package/framework/tasks/qa-impl-sast-scan.md +402 -0
  100. package/framework/tasks/qa-impl-test-execute.md +344 -0
  101. package/framework/tasks/qa-impl-verdict.md +339 -0
  102. package/framework/tasks/qa-planning-consolidate.md +309 -0
  103. package/framework/tasks/qa-planning-coverage-plan.md +338 -0
  104. package/framework/tasks/qa-planning-gate-define.md +339 -0
  105. package/framework/tasks/qa-planning-risk-matrix.md +631 -0
  106. package/framework/tasks/qa-planning-test-strategy.md +217 -0
  107. package/framework/tasks/tasks-acceptance-write.md +75 -0
  108. package/framework/tasks/tasks-consolidate.md +57 -0
  109. package/framework/tasks/tasks-decompose.md +80 -0
  110. package/framework/tasks/tasks-estimate.md +66 -0
  111. package/framework/tasks/ux-a11y-check.md +49 -0
  112. package/framework/tasks/ux-component-map.md +55 -0
  113. package/framework/tasks/ux-consolidate.md +46 -0
  114. package/framework/tasks/ux-user-flow.md +46 -0
  115. package/framework/tasks/ux-wireframe.md +76 -0
  116. package/package.json +1 -1
  117. package/scripts/bundle-framework.js +2 -0
  118. package/scripts/changelog-generator.js +222 -0
  119. package/scripts/codebase-mapper.js +728 -0
  120. package/scripts/commit-message-generator.js +167 -0
  121. package/scripts/coverage-analyzer.js +260 -0
  122. package/scripts/dependency-analyzer.js +280 -0
  123. package/scripts/framework-analyzer.js +308 -0
  124. package/scripts/generate-constitution-domain.js +253 -0
  125. package/scripts/health-check.js +481 -0
  126. package/scripts/ide-sync.js +327 -0
  127. package/scripts/performance-analyzer.js +325 -0
  128. package/scripts/plan-tracker.js +278 -0
  129. package/scripts/populate-entity-registry.js +481 -0
  130. package/scripts/pr-review.js +317 -0
  131. package/scripts/rollback-manager.js +310 -0
  132. package/scripts/stuck-detector.js +343 -0
  133. package/scripts/test-quality-assessment.js +257 -0
  134. package/scripts/validate-agents.js +367 -0
  135. package/scripts/validate-tasks.js +465 -0
  136. package/src/autonomy/autonomous-gate.js +293 -0
  137. package/src/autonomy/index.js +51 -0
  138. package/src/autonomy/mode-manager.js +225 -0
  139. package/src/autonomy/mode-suggester.js +283 -0
  140. package/src/autonomy/progress-reporter.js +268 -0
  141. package/src/autonomy/safety-net.js +320 -0
  142. package/src/context/bracket-tracker.js +79 -0
  143. package/src/context/domain-loader.js +107 -0
  144. package/src/context/engine.js +144 -0
  145. package/src/context/formatter.js +184 -0
  146. package/src/context/index.js +4 -0
  147. package/src/context/layers/l0-constitution.js +28 -0
  148. package/src/context/layers/l1-global.js +37 -0
  149. package/src/context/layers/l2-agent.js +39 -0
  150. package/src/context/layers/l3-workflow.js +42 -0
  151. package/src/context/layers/l4-task.js +24 -0
  152. package/src/decision/analyzer.js +167 -0
  153. package/src/decision/engine.js +270 -0
  154. package/src/decision/index.js +38 -0
  155. package/src/decision/registry-healer.js +450 -0
  156. package/src/decision/registry-updater.js +330 -0
  157. package/src/gates/circuit-breaker.js +119 -0
  158. package/src/gates/g1-planning-complete.js +153 -0
  159. package/src/gates/g2-qa-planning.js +153 -0
  160. package/src/gates/g3-implementation.js +188 -0
  161. package/src/gates/g4-qa-implementation.js +207 -0
  162. package/src/gates/g5-deploy-ready.js +180 -0
  163. package/src/gates/gate-base.js +144 -0
  164. package/src/gates/index.js +46 -0
  165. package/src/installer/brownfield-upgrader.js +249 -0
  166. package/src/installer/core.js +55 -3
  167. package/src/installer/file-hasher.js +51 -0
  168. package/src/installer/manifest.js +117 -0
  169. package/src/installer/templates.js +17 -15
  170. package/src/installer/transaction.js +229 -0
  171. package/src/installer/validator.js +18 -1
  172. package/src/memory/agent-memory.js +255 -0
  173. package/src/memory/gotchas-injector.js +72 -0
  174. package/src/memory/gotchas.js +361 -0
  175. package/src/memory/index.js +35 -0
  176. package/src/memory/search.js +233 -0
  177. package/src/memory/session-digest.js +239 -0
  178. package/src/merger/env-merger.js +112 -0
  179. package/src/merger/index.js +56 -0
  180. package/src/merger/replace-merger.js +51 -0
  181. package/src/merger/yaml-merger.js +127 -0
  182. package/src/orchestrator/agent-selector.js +285 -0
  183. package/src/orchestrator/deviation-handler.js +350 -0
  184. package/src/orchestrator/handoff-engine.js +271 -0
  185. package/src/orchestrator/index.js +67 -0
  186. package/src/orchestrator/intent-classifier.js +264 -0
  187. package/src/orchestrator/pipeline-manager.js +492 -0
  188. package/src/orchestrator/pipeline-state.js +223 -0
  189. package/src/orchestrator/session-manager.js +409 -0
  190. package/src/tasks/executor.js +195 -0
  191. package/src/tasks/handoff.js +226 -0
  192. package/src/tasks/index.js +4 -0
  193. package/src/tasks/loader.js +210 -0
  194. package/src/tasks/router.js +182 -0
  195. package/src/terminal/collector.js +216 -0
  196. package/src/terminal/index.js +30 -0
  197. package/src/terminal/isolation.js +129 -0
  198. package/src/terminal/monitor.js +277 -0
  199. package/src/terminal/spawner.js +269 -0
  200. package/src/upgrade/checker.js +1 -1
@@ -0,0 +1,53 @@
1
+ ---
2
+ id: architect-stack-selection
3
+ agent: architect
4
+ trigger: architect-design
5
+ phase: clarity
6
+ requires_input: false
7
+ parallelizable: false
8
+ outputs: [stack-selection.yaml]
9
+ handoff_to: architect-api-design
10
+ autonomous_gate: true
11
+ criteria:
12
+ - Specific technologies chosen for each layer
13
+ - Choices justified with technical reasoning
14
+ - Compatibility verified
15
+ ---
16
+ # Select Technology Stack
17
+
18
+ ## Purpose
19
+ Choose specific technologies for each architectural layer based on requirements and constraints.
20
+
21
+ ## Steps
22
+ From brief: React frontend, Supabase backend (BaaS), PostgreSQL database.
23
+
24
+ Expand with specific versions and libraries:
25
+ - Frontend: React 18.2, Vite 5.x, TypeScript 5.x, TanStack Query, React Hook Form, Zod
26
+ - Backend: Supabase (auth, database, storage)
27
+ - Database: PostgreSQL 15+ (via Supabase)
28
+ - UI: Tailwind CSS, Headless UI
29
+ - Testing: Vitest, React Testing Library, Playwright
30
+
31
+ Document rationale for each choice.
32
+
33
+ ## Output Format
34
+ ```yaml
35
+ # stack-selection.yaml
36
+ frontend:
37
+ framework: React 18.2 (team expertise, large ecosystem)
38
+ build_tool: Vite 5 (fast HMR, modern)
39
+ language: TypeScript 5 (type safety)
40
+ state: TanStack Query (server state caching)
41
+ forms: React Hook Form (performance)
42
+ validation: Zod (runtime validation, type inference)
43
+ ui: Tailwind CSS (utility-first, rapid development)
44
+ backend:
45
+ platform: Supabase (BaaS, addresses team skill gap)
46
+ auth: Supabase Auth (JWT-based)
47
+ database: PostgreSQL 15 (via Supabase)
48
+ storage: Supabase Storage (image uploads)
49
+ testing:
50
+ unit: Vitest (Vite-native, fast)
51
+ integration: React Testing Library
52
+ e2e: Playwright (cross-browser)
53
+ ```
@@ -0,0 +1,249 @@
1
+ ---
2
+ id: brief-consolidate
3
+ agent: brief
4
+ trigger: brief-constraint-identify
5
+ phase: clarity
6
+ requires_input: false
7
+ parallelizable: false
8
+ outputs: [brief.yaml]
9
+ handoff_to: detail
10
+ autonomous_gate: false
11
+ criteria:
12
+ - All requirements consolidated and prioritized
13
+ - MVP scope clearly defined
14
+ - User approval obtained
15
+ - Completeness score >= 95%
16
+ ---
17
+ # Consolidate Brief Document
18
+
19
+ ## Purpose
20
+ Compile all requirements gathering work into a comprehensive brief document for user approval.
21
+
22
+ ## Prerequisites
23
+ - `requirements-raw.yaml`
24
+ - `validation-report.yaml`
25
+ - `stakeholder-map.yaml`
26
+ - `constraints.yaml`
27
+
28
+ ## Steps
29
+
30
+ ### 1. Load All Artifacts
31
+ Read all prerequisite files and verify completeness.
32
+
33
+ ### 2. Create Executive Summary
34
+ 5-7 sentence overview covering:
35
+ - Project vision and goals
36
+ - Target users
37
+ - Key features
38
+ - Success criteria
39
+ - Timeline and budget
40
+
41
+ ### 3. Consolidate Requirements
42
+ Merge and deduplicate requirements from all sources:
43
+ - Functional requirements with priorities
44
+ - Non-functional requirements with metrics
45
+ - All resolved constraints
46
+ - Success criteria
47
+
48
+ ### 4. Define MVP Scope
49
+ Clearly separate:
50
+ - **MVP (Phase 1)**: Must-have features for launch
51
+ - **Phase 2**: Important but can wait
52
+ - **Future**: Nice-to-have, long-term vision
53
+
54
+ ### 5. Document Personas
55
+ Include all validated personas with:
56
+ - Goals and pain points
57
+ - User journeys (high-level)
58
+ - Priority ranking
59
+
60
+ ### 6. Include Stakeholder Map
61
+ Reference key stakeholders and decision makers.
62
+
63
+ ### 7. Document Assumptions and Risks
64
+ - All assumptions made
65
+ - Key risks identified
66
+ - Mitigation strategies
67
+
68
+ ### 8. Calculate Completeness Score
69
+ Verify all required elements present:
70
+ - Functional requirements (20%)
71
+ - Non-functional requirements (15%)
72
+ - Constraints (15%)
73
+ - Personas (15%)
74
+ - Success criteria (15%)
75
+ - MVP scope (20%)
76
+
77
+ ### 9. Present to User for Approval
78
+ - Show executive summary
79
+ - Highlight MVP scope
80
+ - Point out key trade-offs made
81
+ - Ask for explicit approval
82
+
83
+ ### 10. Generate Final Brief
84
+ Create polished, presentation-ready document.
85
+
86
+ ## Decision Points
87
+ - **User Requests Changes**: Iterate on requirements before proceeding
88
+ - **Unclear Priorities**: Ask user to rank requirements
89
+
90
+ ## Error Handling
91
+ - **Incomplete Data**: Request missing information before finalizing
92
+ - **User Unavailable for Approval**: Document and proceed with flag
93
+
94
+ ## Output Format
95
+ ```yaml
96
+ # brief.yaml
97
+ timestamp: 2026-02-13T14:00:00Z
98
+ status: approved
99
+ approved_by: Product Owner
100
+ approved_at: 2026-02-13T14:00:00Z
101
+
102
+ executive_summary: |
103
+ Building a modern blogging platform for content creators to publish and
104
+ manage posts, integrated with existing WordPress content via API. Target
105
+ users are bloggers and site administrators. MVP includes user authentication,
106
+ post creation/editing, full-text search, and WordPress integration. Success
107
+ measured by 1000 users in first month and 4.5/5 satisfaction rating.
108
+ 3-month timeline with $60k budget and 2-developer team using React +
109
+ Supabase.
110
+
111
+ project_vision: |
112
+ Create an intuitive, fast blogging platform that empowers content creators
113
+ to focus on writing while providing powerful tools for discovery and engagement.
114
+
115
+ functional_requirements:
116
+ mvp:
117
+ - FR-001: User registration with email/password
118
+ - FR-002: User login with JWT authentication
119
+ - FR-003: Create blog posts with title, content, tags, and images
120
+ - FR-004: Edit and delete own posts
121
+ - FR-005: Full-text search by keyword, tag, or author
122
+ - FR-006: View post details
123
+ - FR-007: Integration with WordPress API to display existing content
124
+ phase_2:
125
+ - FR-008: Admin moderation interface
126
+ - FR-009: Comment system
127
+ - FR-010: User profiles and bios
128
+ - FR-011: Post analytics and views
129
+ future:
130
+ - FR-012: Social sharing
131
+ - FR-013: Email notifications
132
+ - FR-014: Draft auto-save
133
+ - FR-015: Rich text editor with embeds
134
+
135
+ non_functional_requirements:
136
+ performance:
137
+ - NFR-001: Page load time <2 seconds (P0)
138
+ - NFR-002: Search results in <1 second (P1)
139
+ scalability:
140
+ - NFR-003: Support 10,000 concurrent users (P1)
141
+ security:
142
+ - NFR-004: HTTPS for all connections (P0)
143
+ - NFR-005: Password hashing with bcrypt (P0)
144
+ - NFR-006: GDPR compliant (P0)
145
+ - NFR-007: XSS and SQL injection protection (P0)
146
+ usability:
147
+ - NFR-008: Mobile responsive (P0)
148
+ - NFR-009: Accessible (WCAG 2.1 AA) (P1)
149
+ reliability:
150
+ - NFR-010: 99.5% uptime (P1)
151
+
152
+ constraints:
153
+ technical:
154
+ - React frontend (team expertise)
155
+ - Supabase backend (BaaS to address team skill gap)
156
+ - WordPress API integration (existing content)
157
+ timeline:
158
+ - MVP launch: May 13, 2026 (3 months)
159
+ budget:
160
+ - Development: $60,000 (600 hours @ $100/hr)
161
+ - Hosting: $200/month
162
+ team:
163
+ - 2 React developers
164
+ - No backend expertise
165
+ regulatory:
166
+ - GDPR compliance required
167
+
168
+ personas:
169
+ - name: Sarah (Content Creator)
170
+ role: Blogger
171
+ goals: [Write easily, Reach audience, Build following]
172
+ pain_points: [Slow tools, Complex formatting, Poor analytics]
173
+ priority: primary
174
+ - name: Mike (Administrator)
175
+ role: Site Admin
176
+ goals: [Maintain quality, Manage users, Monitor health]
177
+ pain_points: [Manual moderation, Limited tools]
178
+ priority: secondary
179
+ - name: Emily (Reader)
180
+ role: Visitor
181
+ goals: [Discover content, Easy reading, Save favorites]
182
+ pain_points: [Hard to find content, Cluttered UI]
183
+ priority: primary
184
+
185
+ success_criteria:
186
+ business:
187
+ - 1000 registered users in first month
188
+ - 500 published posts in first month
189
+ technical:
190
+ - <2s average page load time
191
+ - 99.5% uptime
192
+ - Zero critical security vulnerabilities
193
+ user:
194
+ - 4.5/5 user satisfaction rating
195
+ - <5 minutes to publish first post (new user)
196
+
197
+ assumptions:
198
+ - WordPress API is stable and documented
199
+ - Supabase free tier sufficient for MVP
200
+ - Team available full-time (100 hours/month each)
201
+ - No major requirement changes during development
202
+
203
+ risks:
204
+ - risk: Team unfamiliar with Supabase
205
+ mitigation: 1-week learning phase, thorough documentation review
206
+ - risk: WordPress API changes
207
+ mitigation: Implement adapter pattern for easy updates
208
+ - risk: Scope creep
209
+ mitigation: Strict MVP scope, feature freeze after approval
210
+
211
+ mvp_scope:
212
+ included:
213
+ - User authentication (registration, login, JWT)
214
+ - Post management (create, edit, delete, view)
215
+ - Full-text search
216
+ - WordPress integration (read-only)
217
+ - Mobile responsive UI
218
+ excluded:
219
+ - Comments (phase 2)
220
+ - Admin moderation (phase 2)
221
+ - Analytics (phase 2)
222
+ - Social features (future)
223
+
224
+ estimated_effort:
225
+ total_hours: 480
226
+ breakdown:
227
+ setup_and_infrastructure: 40 hours
228
+ authentication: 60 hours
229
+ post_management: 120 hours
230
+ search: 60 hours
231
+ wordpress_integration: 40 hours
232
+ ui_ux: 100 hours
233
+ testing: 60 hours
234
+ buffer: 120 hours (20%)
235
+
236
+ timeline:
237
+ start_date: 2026-02-14
238
+ mvp_launch: 2026-05-13
239
+ duration_weeks: 12
240
+
241
+ completeness_score: 96
242
+ approval_status: approved
243
+ next_phase: detail
244
+ handoff_note: |
245
+ Brief approved. MVP scope defined and constrained to fit 3-month timeline
246
+ with 2-developer team. Key trade-off: Using Supabase BaaS to address
247
+ backend skill gap. Next step: Detail agent to expand into full PRD with
248
+ technical specifications.
249
+ ```
@@ -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
+ ```