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.
- package/README.md +3 -3
- package/framework/agents/build/dev.md +343 -0
- package/framework/agents/clarity/architect.md +112 -0
- package/framework/agents/clarity/brief.md +182 -0
- package/framework/agents/clarity/brownfield-wu.md +181 -0
- package/framework/agents/clarity/detail.md +110 -0
- package/framework/agents/clarity/greenfield-wu.md +153 -0
- package/framework/agents/clarity/ux.md +112 -0
- package/framework/config.yaml +3 -3
- package/framework/constitution.md +31 -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/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/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 +284 -6
- 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/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
|
@@ -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
|
+
```
|