chati-dev 1.4.0 → 2.0.2
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 +40 -24
- 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/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/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 +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 +2 -2
- 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 +82 -11
- 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,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: qa-planning-test-strategy
|
|
3
|
+
agent: qa-planning
|
|
4
|
+
trigger: orchestrator
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [test-strategy.yaml]
|
|
9
|
+
handoff_to: qa-planning-gate-define
|
|
10
|
+
autonomous_gate: false
|
|
11
|
+
criteria:
|
|
12
|
+
- Test coverage plan defined for all layers
|
|
13
|
+
- Risk areas identified and prioritized
|
|
14
|
+
- Testing pyramid structure established
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Test Strategy
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
Define a comprehensive testing strategy covering unit, integration, end-to-end, and manual testing approaches tailored to the project's architecture and risk profile.
|
|
21
|
+
|
|
22
|
+
## Prerequisites
|
|
23
|
+
- Project brief and detail documents available
|
|
24
|
+
- Architecture document defining system components
|
|
25
|
+
- Phase plan showing implementation timeline
|
|
26
|
+
- Task breakdown with complexity estimates
|
|
27
|
+
|
|
28
|
+
## Steps
|
|
29
|
+
|
|
30
|
+
1. **Analyze System Architecture**
|
|
31
|
+
- Review the architecture document to identify all system layers (CLI, agents, orchestrator, state management, file operations)
|
|
32
|
+
- Map component dependencies and interaction points
|
|
33
|
+
- Identify external integrations (MCPs, IDEs, package managers)
|
|
34
|
+
- Document stateful vs stateless components
|
|
35
|
+
|
|
36
|
+
2. **Establish Testing Pyramid**
|
|
37
|
+
- Define unit test coverage targets (70-80% for core logic)
|
|
38
|
+
- Plan integration test scenarios (agent workflows, file operations, state transitions)
|
|
39
|
+
- Identify end-to-end test cases (full pipeline runs from /chati to handoff)
|
|
40
|
+
- Determine manual testing scope (IDE integration, i18n verification)
|
|
41
|
+
|
|
42
|
+
3. **Categorize Test Types**
|
|
43
|
+
- **Unit Tests**: Pure functions, validators, parsers, formatters
|
|
44
|
+
- **Integration Tests**: Agent task execution, file I/O, YAML parsing/writing
|
|
45
|
+
- **Contract Tests**: MCP interfaces, CLI command structures
|
|
46
|
+
- **End-to-End Tests**: Complete user workflows (greenfield, brownfield)
|
|
47
|
+
- **Manual Tests**: IDE compatibility, internationalization, accessibility
|
|
48
|
+
|
|
49
|
+
4. **Identify Risk Areas**
|
|
50
|
+
- State management corruption (session.yaml consistency)
|
|
51
|
+
- File system operations (permissions, race conditions)
|
|
52
|
+
- Agent handoff logic (transition validation)
|
|
53
|
+
- Mode governance enforcement (unauthorized transitions)
|
|
54
|
+
- Multi-language support (i18n edge cases)
|
|
55
|
+
- Upgrade/migration scenarios (data preservation)
|
|
56
|
+
|
|
57
|
+
5. **Define Testing Tools and Frameworks**
|
|
58
|
+
- Unit/Integration: Specify framework (Jest, Vitest, Mocha)
|
|
59
|
+
- E2E: Define approach (custom scripts, snapshot testing)
|
|
60
|
+
- SAST: Select static analysis tools
|
|
61
|
+
- Performance: Identify benchmarking tools
|
|
62
|
+
- Coverage: Configure threshold enforcement
|
|
63
|
+
|
|
64
|
+
6. **Plan Test Data Strategy**
|
|
65
|
+
- Create fixture templates for session states
|
|
66
|
+
- Define mock responses for MCP tools
|
|
67
|
+
- Establish test project configurations
|
|
68
|
+
- Document data cleanup procedures
|
|
69
|
+
|
|
70
|
+
7. **Establish Test Environments**
|
|
71
|
+
- **Local Development**: Developer machines with IDE integration
|
|
72
|
+
- **CI/CD**: Automated pipeline execution environment
|
|
73
|
+
- **Isolation**: Sandboxed file system for destructive tests
|
|
74
|
+
- **Matrix**: Multi-IDE, multi-OS compatibility testing
|
|
75
|
+
|
|
76
|
+
8. **Define Test Execution Order**
|
|
77
|
+
- Pre-commit: Unit tests + linting
|
|
78
|
+
- Pre-push: Integration tests
|
|
79
|
+
- CI: Full suite + SAST + performance
|
|
80
|
+
- Release: E2E + manual smoke tests
|
|
81
|
+
|
|
82
|
+
9. **Plan for Non-Functional Testing**
|
|
83
|
+
- Performance: CLI startup time, agent response time
|
|
84
|
+
- Security: Input validation, path traversal prevention
|
|
85
|
+
- Reliability: Error recovery, graceful degradation
|
|
86
|
+
- Usability: Error message clarity, help text accuracy
|
|
87
|
+
|
|
88
|
+
10. **Document Testing Standards**
|
|
89
|
+
- Code coverage minimums by component type
|
|
90
|
+
- Test naming conventions
|
|
91
|
+
- Assertion best practices
|
|
92
|
+
- Mock/stub usage guidelines
|
|
93
|
+
|
|
94
|
+
11. **Create Test Strategy Document**
|
|
95
|
+
- Compile all findings into test-strategy.yaml
|
|
96
|
+
- Include rationale for each decision
|
|
97
|
+
- Map test types to risk levels
|
|
98
|
+
- Provide timeline for test implementation
|
|
99
|
+
|
|
100
|
+
12. **Validate Completeness**
|
|
101
|
+
- Ensure all architecture components have test coverage
|
|
102
|
+
- Verify all risk areas are addressed
|
|
103
|
+
- Confirm testing pyramid is balanced
|
|
104
|
+
- Check alignment with quality gates (preview next task)
|
|
105
|
+
|
|
106
|
+
## Decision Points
|
|
107
|
+
|
|
108
|
+
- **Test Framework Selection**: If project dependencies already include a testing framework, align with existing tooling. Otherwise, recommend based on project type (TypeScript → Vitest/Jest).
|
|
109
|
+
|
|
110
|
+
- **E2E Scope**: For complex multi-agent workflows, determine if full pipeline E2E tests should be snapshot-based or behavior-based.
|
|
111
|
+
|
|
112
|
+
- **Manual Test Coverage**: Assess whether IDE compatibility requires manual testing or can be automated through headless IDE APIs.
|
|
113
|
+
|
|
114
|
+
## Error Handling
|
|
115
|
+
|
|
116
|
+
**Missing Architecture Document**
|
|
117
|
+
- Request architecture completion before proceeding
|
|
118
|
+
- Cannot define test strategy without system component map
|
|
119
|
+
- Escalate to orchestrator for dependency resolution
|
|
120
|
+
|
|
121
|
+
**Unclear Risk Profile**
|
|
122
|
+
- Review brief/detail documents for business-critical features
|
|
123
|
+
- Default to high-risk classification for state management, file operations
|
|
124
|
+
- Document assumptions and flag for review
|
|
125
|
+
|
|
126
|
+
**Tool Compatibility Issues**
|
|
127
|
+
- If selected test frameworks conflict with project dependencies, provide alternatives
|
|
128
|
+
- Document trade-offs in test-strategy.yaml
|
|
129
|
+
- Suggest resolution path to orchestrator
|
|
130
|
+
|
|
131
|
+
## Output Format
|
|
132
|
+
|
|
133
|
+
```yaml
|
|
134
|
+
# test-strategy.yaml
|
|
135
|
+
version: 1.0.0
|
|
136
|
+
created: YYYY-MM-DD
|
|
137
|
+
agent: qa-planning
|
|
138
|
+
|
|
139
|
+
testing_pyramid:
|
|
140
|
+
unit:
|
|
141
|
+
target_coverage: 75%
|
|
142
|
+
tools: [vitest]
|
|
143
|
+
scope:
|
|
144
|
+
- Pure functions in validators/
|
|
145
|
+
- Parsers and formatters
|
|
146
|
+
- State management utilities
|
|
147
|
+
|
|
148
|
+
integration:
|
|
149
|
+
target_coverage: 60%
|
|
150
|
+
tools: [vitest]
|
|
151
|
+
scope:
|
|
152
|
+
- Agent task execution
|
|
153
|
+
- File I/O operations
|
|
154
|
+
- YAML state persistence
|
|
155
|
+
|
|
156
|
+
e2e:
|
|
157
|
+
target_coverage: critical_paths
|
|
158
|
+
approach: snapshot-based
|
|
159
|
+
scope:
|
|
160
|
+
- Complete greenfield workflow
|
|
161
|
+
- Complete brownfield workflow
|
|
162
|
+
- Mode transition scenarios
|
|
163
|
+
|
|
164
|
+
manual:
|
|
165
|
+
scope:
|
|
166
|
+
- IDE compatibility (7 IDEs)
|
|
167
|
+
- i18n verification (4 languages)
|
|
168
|
+
- Accessibility audit
|
|
169
|
+
|
|
170
|
+
risk_areas:
|
|
171
|
+
critical:
|
|
172
|
+
- State corruption in session.yaml
|
|
173
|
+
- Mode governance bypass
|
|
174
|
+
- File system race conditions
|
|
175
|
+
high:
|
|
176
|
+
- Agent handoff validation
|
|
177
|
+
- MCP integration failures
|
|
178
|
+
- Upgrade migration errors
|
|
179
|
+
medium:
|
|
180
|
+
- i18n edge cases
|
|
181
|
+
- CLI argument parsing
|
|
182
|
+
- Error message clarity
|
|
183
|
+
|
|
184
|
+
tools:
|
|
185
|
+
unit_integration: vitest
|
|
186
|
+
sast: eslint-plugin-security
|
|
187
|
+
performance: hyperfine
|
|
188
|
+
coverage: c8
|
|
189
|
+
|
|
190
|
+
environments:
|
|
191
|
+
local:
|
|
192
|
+
isolation: true
|
|
193
|
+
cleanup: automatic
|
|
194
|
+
ci:
|
|
195
|
+
matrix:
|
|
196
|
+
node: [18, 20, 22]
|
|
197
|
+
os: [ubuntu, macos, windows]
|
|
198
|
+
|
|
199
|
+
execution_order:
|
|
200
|
+
pre_commit: [unit, lint]
|
|
201
|
+
pre_push: [integration]
|
|
202
|
+
ci: [unit, integration, sast, performance]
|
|
203
|
+
release: [e2e, manual_smoke]
|
|
204
|
+
|
|
205
|
+
standards:
|
|
206
|
+
coverage_minimum:
|
|
207
|
+
global: 70%
|
|
208
|
+
core_logic: 80%
|
|
209
|
+
utilities: 60%
|
|
210
|
+
naming_convention: describe-it-BDD
|
|
211
|
+
mock_strategy: prefer-test-doubles
|
|
212
|
+
|
|
213
|
+
next_steps:
|
|
214
|
+
- Define quality gates and thresholds
|
|
215
|
+
- Create detailed coverage plan per module
|
|
216
|
+
- Build risk matrix mapping
|
|
217
|
+
```
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: tasks-acceptance-write
|
|
3
|
+
agent: tasks
|
|
4
|
+
trigger: tasks-estimate
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [task-criteria.yaml]
|
|
9
|
+
handoff_to: tasks-consolidate
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- Each task has clear acceptance criteria
|
|
13
|
+
- Definition of done specified
|
|
14
|
+
- Test requirements defined
|
|
15
|
+
---
|
|
16
|
+
# Write Acceptance Criteria for Tasks
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Define specific, testable acceptance criteria for each development task.
|
|
20
|
+
|
|
21
|
+
## Steps
|
|
22
|
+
|
|
23
|
+
### 1. For Each Task, Define
|
|
24
|
+
- What must be implemented
|
|
25
|
+
- How to verify completion
|
|
26
|
+
- What tests are required
|
|
27
|
+
- Definition of done
|
|
28
|
+
|
|
29
|
+
### 2. Make Criteria Specific
|
|
30
|
+
Not: "Registration works"
|
|
31
|
+
But: "User can submit valid email and password, account is created in database, JWT returned, user redirected to dashboard"
|
|
32
|
+
|
|
33
|
+
### 3. Include Test Requirements
|
|
34
|
+
- Unit tests: What functions/methods need coverage
|
|
35
|
+
- Integration tests: What API endpoints need testing
|
|
36
|
+
- E2E tests: What user flows need automation
|
|
37
|
+
|
|
38
|
+
### 4. Define Definition of Done
|
|
39
|
+
Standard checklist for all tasks:
|
|
40
|
+
- Code written and reviewed
|
|
41
|
+
- Tests written and passing
|
|
42
|
+
- Documentation updated
|
|
43
|
+
- No linting errors
|
|
44
|
+
- Deployed to dev environment
|
|
45
|
+
|
|
46
|
+
## Output Format
|
|
47
|
+
```yaml
|
|
48
|
+
# task-criteria.yaml
|
|
49
|
+
task_criteria:
|
|
50
|
+
- task_id: TASK-002
|
|
51
|
+
acceptance_criteria:
|
|
52
|
+
- POST /api/auth/register endpoint created
|
|
53
|
+
- Accepts email and password in request body
|
|
54
|
+
- Validates email format and password strength
|
|
55
|
+
- Returns 400 if validation fails with specific errors
|
|
56
|
+
- Returns 409 if email already exists
|
|
57
|
+
- Returns 201 with user object and JWT on success
|
|
58
|
+
- Password is hashed with bcrypt before storage
|
|
59
|
+
test_requirements:
|
|
60
|
+
unit_tests:
|
|
61
|
+
- Test email validation function
|
|
62
|
+
- Test password validation function
|
|
63
|
+
- Test password hashing
|
|
64
|
+
integration_tests:
|
|
65
|
+
- Test successful registration
|
|
66
|
+
- Test duplicate email rejection
|
|
67
|
+
- Test invalid input validation
|
|
68
|
+
definition_of_done:
|
|
69
|
+
- Code written
|
|
70
|
+
- Unit tests passing (>90% coverage)
|
|
71
|
+
- Integration tests passing
|
|
72
|
+
- Code reviewed and approved
|
|
73
|
+
- API documented in OpenAPI spec
|
|
74
|
+
- Merged to main branch
|
|
75
|
+
```
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: tasks-consolidate
|
|
3
|
+
agent: tasks
|
|
4
|
+
trigger: tasks-acceptance-write
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [tasks-final.yaml]
|
|
9
|
+
handoff_to: qa-planning
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- All task artifacts consolidated
|
|
13
|
+
- Work breakdown structure complete
|
|
14
|
+
- Ready for QA planning
|
|
15
|
+
---
|
|
16
|
+
# Consolidate Task List
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Merge all task artifacts into final comprehensive task breakdown.
|
|
20
|
+
|
|
21
|
+
## Steps
|
|
22
|
+
|
|
23
|
+
### 1. Combine All Task Data
|
|
24
|
+
Merge: tasks-list.yaml, estimates.yaml, task-criteria.yaml
|
|
25
|
+
|
|
26
|
+
### 2. Create Work Breakdown Structure
|
|
27
|
+
Organize tasks hierarchically:
|
|
28
|
+
- Phase → Feature → Tasks
|
|
29
|
+
|
|
30
|
+
### 3. Add Sprint Planning Hints
|
|
31
|
+
Suggest which tasks could be grouped into sprints.
|
|
32
|
+
|
|
33
|
+
### 4. Generate Final Task List
|
|
34
|
+
Complete, ready for development.
|
|
35
|
+
|
|
36
|
+
## Output Format
|
|
37
|
+
```yaml
|
|
38
|
+
# tasks-final.yaml
|
|
39
|
+
timestamp: 2026-02-13T18:00:00Z
|
|
40
|
+
total_tasks: 67
|
|
41
|
+
total_estimated_hours: 480
|
|
42
|
+
[All task details consolidated]
|
|
43
|
+
sprint_suggestions:
|
|
44
|
+
sprint_1:
|
|
45
|
+
focus: Database schema and authentication backend
|
|
46
|
+
tasks: [TASK-001, TASK-002, TASK-005, TASK-006]
|
|
47
|
+
estimated_hours: 60
|
|
48
|
+
sprint_2:
|
|
49
|
+
focus: Authentication UI and post backend
|
|
50
|
+
tasks: [TASK-003, TASK-004, TASK-010, TASK-011]
|
|
51
|
+
estimated_hours: 72
|
|
52
|
+
next_phase: qa_planning
|
|
53
|
+
handoff_note: |
|
|
54
|
+
Complete task breakdown with 67 atomic tasks, estimated at 480 hours
|
|
55
|
+
including buffer. Tasks organized by module with clear acceptance criteria.
|
|
56
|
+
Ready for QA Planning agent to define test strategy.
|
|
57
|
+
```
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: tasks-decompose
|
|
3
|
+
agent: tasks
|
|
4
|
+
trigger: phases
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [tasks-list.yaml]
|
|
9
|
+
handoff_to: tasks-estimate
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- All features decomposed into atomic tasks
|
|
13
|
+
- Each task is independently deliverable
|
|
14
|
+
- Task granularity appropriate (1-5 days each)
|
|
15
|
+
---
|
|
16
|
+
# Decompose Features into Atomic Tasks
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Break down each feature into small, independently deliverable development tasks.
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
- `mvp-scope.yaml` with MVP features
|
|
23
|
+
- `architecture-final.yaml` for technical structure
|
|
24
|
+
|
|
25
|
+
## Steps
|
|
26
|
+
|
|
27
|
+
### 1. For Each MVP Feature, Create Tasks
|
|
28
|
+
Example: FR-001 (User registration) becomes:
|
|
29
|
+
- Design database schema for users table
|
|
30
|
+
- Implement registration API endpoint
|
|
31
|
+
- Add password hashing with bcrypt
|
|
32
|
+
- Create registration form UI
|
|
33
|
+
- Add client-side validation
|
|
34
|
+
- Add server-side validation
|
|
35
|
+
- Write unit tests for registration logic
|
|
36
|
+
- Write integration tests for API
|
|
37
|
+
- Write E2E test for registration flow
|
|
38
|
+
|
|
39
|
+
### 2. Ensure Tasks are Atomic
|
|
40
|
+
Each task should:
|
|
41
|
+
- Be completable in 1-5 days
|
|
42
|
+
- Have clear definition of done
|
|
43
|
+
- Be independently testable
|
|
44
|
+
- Not require other incomplete tasks (except explicit dependencies)
|
|
45
|
+
|
|
46
|
+
### 3. Organize by Module
|
|
47
|
+
Group tasks by technical module (auth, posts, search, ui, etc.)
|
|
48
|
+
|
|
49
|
+
### 4. Add Task Dependencies
|
|
50
|
+
Task B depends on Task A if it cannot start until A is complete.
|
|
51
|
+
|
|
52
|
+
## Output Format
|
|
53
|
+
```yaml
|
|
54
|
+
# tasks-list.yaml
|
|
55
|
+
tasks:
|
|
56
|
+
- id: TASK-001
|
|
57
|
+
title: Design users table schema
|
|
58
|
+
module: database
|
|
59
|
+
description: Create database schema for users table with id, email, password_hash, timestamps
|
|
60
|
+
feature: FR-001
|
|
61
|
+
priority: P0
|
|
62
|
+
dependencies: []
|
|
63
|
+
estimated_days: 1
|
|
64
|
+
- id: TASK-002
|
|
65
|
+
title: Implement user registration API endpoint
|
|
66
|
+
module: auth
|
|
67
|
+
description: Create POST /api/auth/register endpoint with validation
|
|
68
|
+
feature: FR-001
|
|
69
|
+
priority: P0
|
|
70
|
+
dependencies: [TASK-001]
|
|
71
|
+
estimated_days: 2
|
|
72
|
+
- id: TASK-003
|
|
73
|
+
title: Create registration form UI
|
|
74
|
+
module: frontend
|
|
75
|
+
description: Build registration page with form, validation, error handling
|
|
76
|
+
feature: FR-001
|
|
77
|
+
priority: P0
|
|
78
|
+
dependencies: [TASK-002]
|
|
79
|
+
estimated_days: 3
|
|
80
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: tasks-estimate
|
|
3
|
+
agent: tasks
|
|
4
|
+
trigger: tasks-decompose
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [estimates.yaml]
|
|
9
|
+
handoff_to: tasks-acceptance-write
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- All tasks estimated with T-shirt sizing or days
|
|
13
|
+
- Total effort calculated
|
|
14
|
+
- Estimates include buffer for unknowns
|
|
15
|
+
---
|
|
16
|
+
# Estimate Task Complexity
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Estimate effort for each task using T-shirt sizes or day estimates.
|
|
20
|
+
|
|
21
|
+
## Steps
|
|
22
|
+
|
|
23
|
+
### 1. Review Each Task
|
|
24
|
+
Assess complexity based on:
|
|
25
|
+
- Technical difficulty
|
|
26
|
+
- Unknowns and risks
|
|
27
|
+
- Dependencies on external systems
|
|
28
|
+
- Team familiarity with technology
|
|
29
|
+
|
|
30
|
+
### 2. Assign T-Shirt Size
|
|
31
|
+
- XS: <1 day, trivial
|
|
32
|
+
- S: 1-2 days, straightforward
|
|
33
|
+
- M: 3-5 days, moderate complexity
|
|
34
|
+
- L: 6-10 days, complex (consider breaking down)
|
|
35
|
+
- XL: >10 days (must break down)
|
|
36
|
+
|
|
37
|
+
### 3. Convert to Day Estimates
|
|
38
|
+
Provide specific day estimates for planning.
|
|
39
|
+
|
|
40
|
+
### 4. Add Buffer
|
|
41
|
+
20-30% buffer for unknowns, bugs, learning.
|
|
42
|
+
|
|
43
|
+
### 5. Calculate Totals
|
|
44
|
+
Sum by module, by phase, and overall.
|
|
45
|
+
|
|
46
|
+
## Output Format
|
|
47
|
+
```yaml
|
|
48
|
+
# estimates.yaml
|
|
49
|
+
task_estimates:
|
|
50
|
+
- task_id: TASK-001
|
|
51
|
+
size: S
|
|
52
|
+
estimated_days: 1
|
|
53
|
+
confidence: high
|
|
54
|
+
- task_id: TASK-002
|
|
55
|
+
size: M
|
|
56
|
+
estimated_days: 3
|
|
57
|
+
confidence: medium
|
|
58
|
+
- task_id: TASK-003
|
|
59
|
+
size: M
|
|
60
|
+
estimated_days: 3
|
|
61
|
+
confidence: high
|
|
62
|
+
totals:
|
|
63
|
+
raw_estimate: 400 hours
|
|
64
|
+
with_20_percent_buffer: 480 hours
|
|
65
|
+
with_30_percent_buffer: 520 hours
|
|
66
|
+
```
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ux-a11y-check
|
|
3
|
+
agent: ux
|
|
4
|
+
trigger: ux-component-map
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [a11y-report.yaml]
|
|
9
|
+
handoff_to: ux-consolidate
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- WCAG 2.1 AA requirements documented
|
|
13
|
+
- Accessibility patterns defined for key interactions
|
|
14
|
+
- Screen reader considerations documented
|
|
15
|
+
---
|
|
16
|
+
# Accessibility Audit and Requirements
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Define accessibility requirements to meet WCAG 2.1 AA compliance.
|
|
20
|
+
|
|
21
|
+
## Steps
|
|
22
|
+
Document:
|
|
23
|
+
- Semantic HTML requirements
|
|
24
|
+
- ARIA labels for interactive elements
|
|
25
|
+
- Keyboard navigation support
|
|
26
|
+
- Color contrast requirements (4.5:1 for text)
|
|
27
|
+
- Focus management
|
|
28
|
+
- Screen reader announcements
|
|
29
|
+
- Alt text for images
|
|
30
|
+
- Form error announcements
|
|
31
|
+
|
|
32
|
+
## Output Format
|
|
33
|
+
```yaml
|
|
34
|
+
# a11y-report.yaml
|
|
35
|
+
wcag_compliance: AA
|
|
36
|
+
requirements:
|
|
37
|
+
- All interactive elements keyboard accessible (Tab, Enter, Escape)
|
|
38
|
+
- Focus visible with clear outline
|
|
39
|
+
- Color contrast 4.5:1 minimum for text
|
|
40
|
+
- Alt text for all images
|
|
41
|
+
- ARIA labels for icon buttons
|
|
42
|
+
- Form errors announced to screen readers
|
|
43
|
+
- Skip links for main content
|
|
44
|
+
- Heading hierarchy maintained (h1, h2, h3)
|
|
45
|
+
testing:
|
|
46
|
+
- Lighthouse accessibility audit >90
|
|
47
|
+
- Manual keyboard navigation test
|
|
48
|
+
- Screen reader test (NVDA/JAWS)
|
|
49
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ux-component-map
|
|
3
|
+
agent: ux
|
|
4
|
+
trigger: ux-user-flow
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [component-map.yaml]
|
|
9
|
+
handoff_to: ux-a11y-check
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- Component hierarchy documented
|
|
13
|
+
- Reusable components identified
|
|
14
|
+
- Component props defined
|
|
15
|
+
---
|
|
16
|
+
# Map UI Component Hierarchy
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Define reusable UI components and their hierarchy.
|
|
20
|
+
|
|
21
|
+
## Steps
|
|
22
|
+
Identify components:
|
|
23
|
+
- Atoms: Button, Input, Label, Icon
|
|
24
|
+
- Molecules: FormField (Label + Input + Error), PostCard
|
|
25
|
+
- Organisms: Header, PostList, PostForm
|
|
26
|
+
- Templates: AuthLayout, DashboardLayout
|
|
27
|
+
- Pages: HomePage, LoginPage, CreatePostPage
|
|
28
|
+
|
|
29
|
+
Document props and composition.
|
|
30
|
+
|
|
31
|
+
## Output Format
|
|
32
|
+
```yaml
|
|
33
|
+
# component-map.yaml
|
|
34
|
+
components:
|
|
35
|
+
atoms:
|
|
36
|
+
- name: Button
|
|
37
|
+
props: [variant, size, onClick, children, disabled]
|
|
38
|
+
- name: Input
|
|
39
|
+
props: [type, value, onChange, error, placeholder]
|
|
40
|
+
molecules:
|
|
41
|
+
- name: FormField
|
|
42
|
+
props: [label, type, value, onChange, error]
|
|
43
|
+
composition: [Label, Input, ErrorMessage]
|
|
44
|
+
- name: PostCard
|
|
45
|
+
props: [title, excerpt, author, date, tags]
|
|
46
|
+
composition: [Card, Heading, Text, TagList]
|
|
47
|
+
organisms:
|
|
48
|
+
- name: Header
|
|
49
|
+
props: [isAuthenticated, user]
|
|
50
|
+
composition: [Logo, Nav, SearchBar, UserMenu]
|
|
51
|
+
pages:
|
|
52
|
+
- name: HomePage
|
|
53
|
+
layout: MainLayout
|
|
54
|
+
components: [Header, PostList, Pagination, Footer]
|
|
55
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ux-consolidate
|
|
3
|
+
agent: ux
|
|
4
|
+
trigger: ux-a11y-check
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [ux-final.yaml]
|
|
9
|
+
handoff_to: phases
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- All UX artifacts consolidated
|
|
13
|
+
- Design system foundation defined
|
|
14
|
+
- UX package complete
|
|
15
|
+
---
|
|
16
|
+
# Consolidate UX Documentation
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Merge all UX artifacts into comprehensive UX specification document.
|
|
20
|
+
|
|
21
|
+
## Steps
|
|
22
|
+
Combine wireframes, user flows, component map, and accessibility requirements.
|
|
23
|
+
|
|
24
|
+
Add design system foundations:
|
|
25
|
+
- Color palette
|
|
26
|
+
- Typography scale
|
|
27
|
+
- Spacing system
|
|
28
|
+
- Component variants
|
|
29
|
+
|
|
30
|
+
## Output Format
|
|
31
|
+
```yaml
|
|
32
|
+
# ux-final.yaml
|
|
33
|
+
timestamp: 2026-02-13T17:00:00Z
|
|
34
|
+
[All UX details consolidated]
|
|
35
|
+
design_system:
|
|
36
|
+
colors:
|
|
37
|
+
primary: blue-600
|
|
38
|
+
secondary: gray-700
|
|
39
|
+
success: green-600
|
|
40
|
+
error: red-600
|
|
41
|
+
typography:
|
|
42
|
+
headings: font-bold
|
|
43
|
+
body: font-normal
|
|
44
|
+
spacing: [4px, 8px, 16px, 24px, 32px, 48px, 64px]
|
|
45
|
+
next_phase: phases
|
|
46
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ux-user-flow
|
|
3
|
+
agent: ux
|
|
4
|
+
trigger: ux-wireframe
|
|
5
|
+
phase: clarity
|
|
6
|
+
requires_input: false
|
|
7
|
+
parallelizable: false
|
|
8
|
+
outputs: [user-flows.yaml]
|
|
9
|
+
handoff_to: ux-component-map
|
|
10
|
+
autonomous_gate: true
|
|
11
|
+
criteria:
|
|
12
|
+
- Happy path flows documented for all key user journeys
|
|
13
|
+
- Error paths documented
|
|
14
|
+
- Flow diagrams created (text-based)
|
|
15
|
+
---
|
|
16
|
+
# Map User Flows
|
|
17
|
+
|
|
18
|
+
## Purpose
|
|
19
|
+
Document user journeys through the application including happy paths and error paths.
|
|
20
|
+
|
|
21
|
+
## Steps
|
|
22
|
+
Map key user flows:
|
|
23
|
+
1. New user registration and first post
|
|
24
|
+
2. Returning user login and post creation
|
|
25
|
+
3. Search for content
|
|
26
|
+
4. Edit existing post
|
|
27
|
+
5. Error scenarios (failed login, validation errors)
|
|
28
|
+
|
|
29
|
+
## Output Format
|
|
30
|
+
```yaml
|
|
31
|
+
# user-flows.yaml
|
|
32
|
+
flows:
|
|
33
|
+
- name: New User First Post
|
|
34
|
+
steps:
|
|
35
|
+
- User visits / (home)
|
|
36
|
+
- Clicks "Register"
|
|
37
|
+
- Fills registration form
|
|
38
|
+
- Submits → redirected to /dashboard
|
|
39
|
+
- Clicks "Create Post"
|
|
40
|
+
- Fills post form
|
|
41
|
+
- Clicks "Publish" → redirected to /posts/:id
|
|
42
|
+
- Success! Post is live
|
|
43
|
+
error_paths:
|
|
44
|
+
- If email exists: Show error, remain on register page
|
|
45
|
+
- If validation fails: Show specific errors inline
|
|
46
|
+
```
|