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.
- package/README.md +7 -6
- package/framework/agents/build/dev.md +343 -0
- package/framework/agents/clarity/architect.md +113 -0
- package/framework/agents/clarity/brief.md +183 -0
- package/framework/agents/clarity/brownfield-wu.md +182 -0
- package/framework/agents/clarity/detail.md +111 -0
- package/framework/agents/clarity/greenfield-wu.md +154 -0
- package/framework/agents/clarity/phases.md +1 -0
- package/framework/agents/clarity/tasks.md +1 -0
- package/framework/agents/clarity/ux.md +113 -0
- package/framework/agents/deploy/devops.md +1 -0
- package/framework/agents/quality/qa-implementation.md +1 -0
- package/framework/agents/quality/qa-planning.md +1 -0
- package/framework/config.yaml +3 -3
- package/framework/constitution.md +58 -1
- package/framework/context/governance.md +37 -0
- package/framework/context/protocols.md +34 -0
- package/framework/context/quality.md +27 -0
- package/framework/context/root.md +24 -0
- package/framework/data/entity-registry.yaml +1 -1
- package/framework/domains/agents/architect.yaml +51 -0
- package/framework/domains/agents/brief.yaml +47 -0
- package/framework/domains/agents/brownfield-wu.yaml +49 -0
- package/framework/domains/agents/detail.yaml +47 -0
- package/framework/domains/agents/dev.yaml +49 -0
- package/framework/domains/agents/devops.yaml +43 -0
- package/framework/domains/agents/greenfield-wu.yaml +47 -0
- package/framework/domains/agents/orchestrator.yaml +49 -0
- package/framework/domains/agents/phases.yaml +47 -0
- package/framework/domains/agents/qa-implementation.yaml +43 -0
- package/framework/domains/agents/qa-planning.yaml +44 -0
- package/framework/domains/agents/tasks.yaml +48 -0
- package/framework/domains/agents/ux.yaml +50 -0
- package/framework/domains/constitution.yaml +77 -0
- package/framework/domains/global.yaml +64 -0
- package/framework/domains/workflows/brownfield-discovery.yaml +16 -0
- package/framework/domains/workflows/brownfield-fullstack.yaml +26 -0
- package/framework/domains/workflows/brownfield-service.yaml +22 -0
- package/framework/domains/workflows/brownfield-ui.yaml +22 -0
- package/framework/domains/workflows/greenfield-fullstack.yaml +26 -0
- package/framework/hooks/constitution-guard.js +101 -0
- package/framework/hooks/mode-governance.js +92 -0
- package/framework/hooks/model-governance.js +76 -0
- package/framework/hooks/prism-engine.js +89 -0
- package/framework/hooks/session-digest.js +60 -0
- package/framework/hooks/settings.json +44 -0
- package/framework/i18n/en.yaml +3 -3
- package/framework/i18n/es.yaml +3 -3
- package/framework/i18n/fr.yaml +3 -3
- package/framework/i18n/pt.yaml +3 -3
- package/framework/intelligence/context-engine.md +2 -2
- package/framework/intelligence/decision-engine.md +1 -1
- package/framework/migrations/v1.4-to-v2.0.yaml +167 -0
- package/framework/migrations/v2.0-to-v2.0.1.yaml +132 -0
- package/framework/orchestrator/chati.md +350 -7
- package/framework/schemas/session.schema.json +15 -0
- package/framework/tasks/architect-api-design.md +63 -0
- package/framework/tasks/architect-consolidate.md +47 -0
- package/framework/tasks/architect-db-design.md +73 -0
- package/framework/tasks/architect-design.md +95 -0
- package/framework/tasks/architect-security-review.md +62 -0
- package/framework/tasks/architect-stack-selection.md +53 -0
- package/framework/tasks/brief-consolidate.md +249 -0
- package/framework/tasks/brief-constraint-identify.md +277 -0
- package/framework/tasks/brief-extract-requirements.md +339 -0
- package/framework/tasks/brief-stakeholder-map.md +176 -0
- package/framework/tasks/brief-validate-completeness.md +121 -0
- package/framework/tasks/brownfield-wu-architecture-map.md +394 -0
- package/framework/tasks/brownfield-wu-deep-discovery.md +312 -0
- package/framework/tasks/brownfield-wu-dependency-scan.md +359 -0
- package/framework/tasks/brownfield-wu-migration-plan.md +483 -0
- package/framework/tasks/brownfield-wu-report.md +325 -0
- package/framework/tasks/brownfield-wu-risk-assess.md +424 -0
- package/framework/tasks/detail-acceptance-criteria.md +372 -0
- package/framework/tasks/detail-consolidate.md +138 -0
- package/framework/tasks/detail-edge-case-analysis.md +300 -0
- package/framework/tasks/detail-expand-prd.md +389 -0
- package/framework/tasks/detail-nfr-extraction.md +223 -0
- package/framework/tasks/dev-code-review.md +404 -0
- package/framework/tasks/dev-consolidate.md +543 -0
- package/framework/tasks/dev-debug.md +322 -0
- package/framework/tasks/dev-implement.md +252 -0
- package/framework/tasks/dev-iterate.md +411 -0
- package/framework/tasks/dev-pr-prepare.md +497 -0
- package/framework/tasks/dev-refactor.md +342 -0
- package/framework/tasks/dev-test-write.md +306 -0
- package/framework/tasks/devops-ci-setup.md +412 -0
- package/framework/tasks/devops-consolidate.md +712 -0
- package/framework/tasks/devops-deploy-config.md +598 -0
- package/framework/tasks/devops-monitoring-setup.md +658 -0
- package/framework/tasks/devops-release-prepare.md +673 -0
- package/framework/tasks/greenfield-wu-analyze-empty.md +169 -0
- package/framework/tasks/greenfield-wu-report.md +266 -0
- package/framework/tasks/greenfield-wu-scaffold-detection.md +203 -0
- package/framework/tasks/greenfield-wu-tech-stack-assess.md +255 -0
- package/framework/tasks/orchestrator-deviation.md +260 -0
- package/framework/tasks/orchestrator-escalate.md +276 -0
- package/framework/tasks/orchestrator-handoff.md +243 -0
- package/framework/tasks/orchestrator-health.md +372 -0
- package/framework/tasks/orchestrator-mode-switch.md +262 -0
- package/framework/tasks/orchestrator-resume.md +189 -0
- package/framework/tasks/orchestrator-route.md +169 -0
- package/framework/tasks/orchestrator-spawn-terminal.md +358 -0
- package/framework/tasks/orchestrator-status.md +260 -0
- package/framework/tasks/orchestrator-suggest-mode.md +372 -0
- package/framework/tasks/phases-breakdown.md +91 -0
- package/framework/tasks/phases-dependency-mapping.md +67 -0
- package/framework/tasks/phases-mvp-scoping.md +94 -0
- package/framework/tasks/qa-impl-consolidate.md +522 -0
- package/framework/tasks/qa-impl-performance-test.md +487 -0
- package/framework/tasks/qa-impl-regression-check.md +413 -0
- package/framework/tasks/qa-impl-sast-scan.md +402 -0
- package/framework/tasks/qa-impl-test-execute.md +344 -0
- package/framework/tasks/qa-impl-verdict.md +339 -0
- package/framework/tasks/qa-planning-consolidate.md +309 -0
- package/framework/tasks/qa-planning-coverage-plan.md +338 -0
- package/framework/tasks/qa-planning-gate-define.md +339 -0
- package/framework/tasks/qa-planning-risk-matrix.md +631 -0
- package/framework/tasks/qa-planning-test-strategy.md +217 -0
- package/framework/tasks/tasks-acceptance-write.md +75 -0
- package/framework/tasks/tasks-consolidate.md +57 -0
- package/framework/tasks/tasks-decompose.md +80 -0
- package/framework/tasks/tasks-estimate.md +66 -0
- package/framework/tasks/ux-a11y-check.md +49 -0
- package/framework/tasks/ux-component-map.md +55 -0
- package/framework/tasks/ux-consolidate.md +46 -0
- package/framework/tasks/ux-user-flow.md +46 -0
- package/framework/tasks/ux-wireframe.md +76 -0
- package/package.json +1 -1
- package/scripts/bundle-framework.js +2 -0
- package/scripts/changelog-generator.js +222 -0
- package/scripts/codebase-mapper.js +728 -0
- package/scripts/commit-message-generator.js +167 -0
- package/scripts/coverage-analyzer.js +260 -0
- package/scripts/dependency-analyzer.js +280 -0
- package/scripts/framework-analyzer.js +308 -0
- package/scripts/generate-constitution-domain.js +253 -0
- package/scripts/health-check.js +481 -0
- package/scripts/ide-sync.js +327 -0
- package/scripts/performance-analyzer.js +325 -0
- package/scripts/plan-tracker.js +278 -0
- package/scripts/populate-entity-registry.js +481 -0
- package/scripts/pr-review.js +317 -0
- package/scripts/rollback-manager.js +310 -0
- package/scripts/stuck-detector.js +343 -0
- package/scripts/test-quality-assessment.js +257 -0
- package/scripts/validate-agents.js +367 -0
- package/scripts/validate-tasks.js +465 -0
- package/src/autonomy/autonomous-gate.js +293 -0
- package/src/autonomy/index.js +51 -0
- package/src/autonomy/mode-manager.js +225 -0
- package/src/autonomy/mode-suggester.js +283 -0
- package/src/autonomy/progress-reporter.js +268 -0
- package/src/autonomy/safety-net.js +320 -0
- package/src/context/bracket-tracker.js +79 -0
- package/src/context/domain-loader.js +107 -0
- package/src/context/engine.js +144 -0
- package/src/context/formatter.js +184 -0
- package/src/context/index.js +4 -0
- package/src/context/layers/l0-constitution.js +28 -0
- package/src/context/layers/l1-global.js +37 -0
- package/src/context/layers/l2-agent.js +39 -0
- package/src/context/layers/l3-workflow.js +42 -0
- package/src/context/layers/l4-task.js +24 -0
- package/src/decision/analyzer.js +167 -0
- package/src/decision/engine.js +270 -0
- package/src/decision/index.js +38 -0
- package/src/decision/registry-healer.js +450 -0
- package/src/decision/registry-updater.js +330 -0
- package/src/gates/circuit-breaker.js +119 -0
- package/src/gates/g1-planning-complete.js +153 -0
- package/src/gates/g2-qa-planning.js +153 -0
- package/src/gates/g3-implementation.js +188 -0
- package/src/gates/g4-qa-implementation.js +207 -0
- package/src/gates/g5-deploy-ready.js +180 -0
- package/src/gates/gate-base.js +144 -0
- package/src/gates/index.js +46 -0
- package/src/installer/brownfield-upgrader.js +249 -0
- package/src/installer/core.js +55 -3
- package/src/installer/file-hasher.js +51 -0
- package/src/installer/manifest.js +117 -0
- package/src/installer/templates.js +17 -15
- package/src/installer/transaction.js +229 -0
- package/src/installer/validator.js +18 -1
- package/src/intelligence/registry-manager.js +2 -2
- package/src/memory/agent-memory.js +255 -0
- package/src/memory/gotchas-injector.js +72 -0
- package/src/memory/gotchas.js +361 -0
- package/src/memory/index.js +35 -0
- package/src/memory/search.js +233 -0
- package/src/memory/session-digest.js +239 -0
- package/src/merger/env-merger.js +112 -0
- package/src/merger/index.js +56 -0
- package/src/merger/replace-merger.js +51 -0
- package/src/merger/yaml-merger.js +127 -0
- package/src/orchestrator/agent-selector.js +285 -0
- package/src/orchestrator/deviation-handler.js +350 -0
- package/src/orchestrator/handoff-engine.js +271 -0
- package/src/orchestrator/index.js +67 -0
- package/src/orchestrator/intent-classifier.js +264 -0
- package/src/orchestrator/pipeline-manager.js +492 -0
- package/src/orchestrator/pipeline-state.js +223 -0
- package/src/orchestrator/session-manager.js +409 -0
- package/src/tasks/executor.js +195 -0
- package/src/tasks/handoff.js +226 -0
- package/src/tasks/index.js +4 -0
- package/src/tasks/loader.js +210 -0
- package/src/tasks/router.js +182 -0
- package/src/terminal/collector.js +216 -0
- package/src/terminal/index.js +30 -0
- package/src/terminal/isolation.js +129 -0
- package/src/terminal/monitor.js +277 -0
- package/src/terminal/spawner.js +269 -0
- package/src/upgrade/checker.js +1 -1
- 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
|
+
```
|