dw-kit 1.2.1 → 1.3.4
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/.claude/hooks/post-write.sh +64 -58
- package/.claude/hooks/pre-commit-gate.sh +96 -90
- package/.claude/hooks/privacy-block.sh +99 -94
- package/.claude/hooks/progress-ping.sh +53 -47
- package/.claude/hooks/safety-guard.sh +60 -54
- package/.claude/hooks/scout-block.sh +88 -82
- package/.claude/hooks/session-init.sh +6 -0
- package/.claude/hooks/stop-check.sh +88 -36
- package/.claude/hooks/telemetry-log.sh +34 -0
- package/.claude/rules/dw.md +138 -0
- package/.claude/settings.json +28 -1
- package/.claude/skills/dw-arch-review/SKILL.md +119 -119
- package/.claude/skills/dw-archive/SKILL.md +81 -81
- package/.claude/skills/dw-commit/SKILL.md +81 -81
- package/.claude/skills/dw-config-init/SKILL.md +91 -91
- package/.claude/skills/dw-config-validate/SKILL.md +75 -75
- package/.claude/skills/dw-dashboard/SKILL.md +209 -209
- package/.claude/skills/dw-debug/SKILL.md +97 -97
- package/.claude/skills/dw-decision/SKILL.md +116 -0
- package/.claude/skills/dw-docs-update/SKILL.md +125 -125
- package/.claude/skills/dw-estimate/SKILL.md +90 -90
- package/.claude/skills/dw-execute/SKILL.md +121 -98
- package/.claude/skills/dw-flow/SKILL.md +274 -274
- package/.claude/skills/dw-handoff/SKILL.md +92 -81
- package/.claude/skills/dw-kit-report/SKILL.md +152 -152
- package/.claude/skills/dw-log-work/SKILL.md +69 -69
- package/.claude/skills/dw-onboard/SKILL.md +201 -201
- package/.claude/skills/dw-plan/SKILL.md +222 -125
- package/.claude/skills/dw-prompt/SKILL.md +62 -62
- package/.claude/skills/dw-requirements/SKILL.md +98 -98
- package/.claude/skills/dw-research/SKILL.md +128 -114
- package/.claude/skills/dw-retroactive/SKILL.md +195 -311
- package/.claude/skills/dw-review/SKILL.md +66 -66
- package/.claude/skills/dw-rollback/SKILL.md +90 -90
- package/.claude/skills/dw-sprint-review/SKILL.md +99 -99
- package/.claude/skills/dw-task-init/SKILL.md +71 -59
- package/.claude/skills/dw-test-plan/SKILL.md +113 -113
- package/.claude/skills/dw-thinking/SKILL.md +70 -70
- package/.claude/skills/dw-upgrade/SKILL.md +72 -72
- package/.dw/core/PILLARS.md +122 -0
- package/.dw/core/ROLES.md +257 -257
- package/.dw/core/templates/v2/spec.md +68 -0
- package/.dw/core/templates/v2/tracking.md +62 -0
- package/.dw/core/v14-evaluation-protocol.md +118 -0
- package/CLAUDE.md +42 -39
- package/MIGRATION-v1.3.md +202 -0
- package/README.md +35 -6
- package/package.json +4 -2
- package/src/cli.mjs +29 -1
- package/src/commands/dashboard.mjs +116 -0
- package/src/commands/doctor.mjs +165 -149
- package/src/commands/init.mjs +339 -332
- package/src/commands/metrics.mjs +185 -0
- package/src/lib/active-index.mjs +87 -0
- package/src/lib/cut-analysis.mjs +240 -0
- package/src/lib/telemetry.mjs +80 -0
- package/.claude/rules/dw-core.md +0 -100
- package/.claude/rules/dw-skills.md +0 -53
- package/.claude/rules/workflow-rules.md +0 -77
package/.dw/core/ROLES.md
CHANGED
|
@@ -1,257 +1,257 @@
|
|
|
1
|
-
<!-- core-version: 1.0 -->
|
|
2
|
-
|
|
3
|
-
# Team Roles & Authority
|
|
4
|
-
|
|
5
|
-
> **Nguyên tắc**: Roles = capabilities, không phải hierarchy.
|
|
6
|
-
> Config `team.roles` quyết định phases nào available, không phải quality tier.
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Role Overview
|
|
11
|
-
|
|
12
|
-
| Role | Ký hiệu config | Core responsibility | Decision authority |
|
|
13
|
-
|------|----------------|--------------------|--------------------|
|
|
14
|
-
| Developer | `dev` | Implementation, testing | Code-level decisions |
|
|
15
|
-
| Tech Lead | `techlead` | Architecture, code standards | Architecture decisions, plan approval |
|
|
16
|
-
| Business Analyst | `ba` | Requirements, user stories | Requirements sign-off |
|
|
17
|
-
| QC Engineer | `qc` | Test planning, quality verification | QA sign-off (Layer 4) |
|
|
18
|
-
| Product Manager | `pm` | Progress visibility, metrics | Sprint planning, backlog priority |
|
|
19
|
-
|
|
20
|
-
> `dev` luôn required. Các roles khác là optional — không có thì phase đó gracefully degrade.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Developer (`dev`)
|
|
25
|
-
|
|
26
|
-
**Trách nhiệm chính**: Research → Plan → Execute → Commit
|
|
27
|
-
|
|
28
|
-
### Phases Developer Owns
|
|
29
|
-
|
|
30
|
-
| Phase | Responsibility |
|
|
31
|
-
|-------|---------------|
|
|
32
|
-
| Initialize | Tạo task docs, scope assessment |
|
|
33
|
-
| Understand | Codebase research, context gathering |
|
|
34
|
-
| Plan | Solution design, subtask breakdown |
|
|
35
|
-
| Execute | Implementation, TDD, subtask commits |
|
|
36
|
-
| Verify | Self-review (Layer 1), automated gates (Layer 2) |
|
|
37
|
-
| Close | Commit, effort log, handoff |
|
|
38
|
-
|
|
39
|
-
### Decision Authority
|
|
40
|
-
|
|
41
|
-
- Code implementation decisions
|
|
42
|
-
- Library/dependency choices (minor)
|
|
43
|
-
- Subtask ordering và approach (trong scope của plan approved)
|
|
44
|
-
- **DỪNG và hỏi khi**: architecture change, API contract change, scope expansion
|
|
45
|
-
|
|
46
|
-
### Best Practices
|
|
47
|
-
|
|
48
|
-
- Commit nhỏ, thường xuyên (mỗi subtask = 1 commit)
|
|
49
|
-
- Update progress file sau mỗi subtask
|
|
50
|
-
- Không implement ngoài scope plan đã approve
|
|
51
|
-
- Phát hiện giả định sai → ghi Changelog + hỏi TL trước khi tiếp tục
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Tech Lead (`techlead`)
|
|
56
|
-
|
|
57
|
-
**Trách nhiệm chính**: Architecture quality, standards enforcement, plan approval
|
|
58
|
-
|
|
59
|
-
### Phases TL Owns
|
|
60
|
-
|
|
61
|
-
| Phase | Responsibility |
|
|
62
|
-
|-------|---------------|
|
|
63
|
-
| Plan | Architecture review, approve plan trước Execute |
|
|
64
|
-
| Execute | Unblock architecture decisions during implementation |
|
|
65
|
-
| Verify | Code review (Layer 3 — architecture focus) |
|
|
66
|
-
| Close | Final technical sign-off |
|
|
67
|
-
|
|
68
|
-
### Decision Authority
|
|
69
|
-
|
|
70
|
-
- Architecture decisions (service boundaries, patterns, data models)
|
|
71
|
-
- Plan approval: **explicit gate** — Execute không bắt đầu khi chưa có TL approve
|
|
72
|
-
- A/B testing resolution: TL chọn approach khi hai approaches không rõ ưu/nhược
|
|
73
|
-
- Technical debt acknowledgment: quyết định "acceptable" hay "must fix"
|
|
74
|
-
|
|
75
|
-
### Architecture Review Checklist
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
[ ] Approach consistent với codebase patterns?
|
|
79
|
-
[ ] Scalability implications acceptable?
|
|
80
|
-
[ ] Security design đúng?
|
|
81
|
-
[ ] API contract backward compatible (hoặc migration plan có)?
|
|
82
|
-
[ ] Subtask breakdown hợp lý? Dependencies đúng?
|
|
83
|
-
[ ] Risks identified và có mitigation?
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### TL không có?
|
|
87
|
-
|
|
88
|
-
- Plan vẫn proceed nhưng developer self-review architecture decisions
|
|
89
|
-
- Ghi rõ trong plan: "Architecture decision by dev (no TL review)"
|
|
90
|
-
- Architecture decisions nên bảo thủ hơn khi không có TL
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## Business Analyst (`ba`)
|
|
95
|
-
|
|
96
|
-
**Trách nhiệm chính**: Requirements clarity, user stories, acceptance criteria
|
|
97
|
-
|
|
98
|
-
### Phases BA Owns
|
|
99
|
-
|
|
100
|
-
| Phase | Responsibility |
|
|
101
|
-
|-------|---------------|
|
|
102
|
-
| Initialize | Requirements gathering, user stories |
|
|
103
|
-
| Plan | Review subtask acceptance criteria |
|
|
104
|
-
| Verify | Acceptance criteria verification |
|
|
105
|
-
|
|
106
|
-
### Decision Authority
|
|
107
|
-
|
|
108
|
-
- Requirements sign-off: "dev builds the right thing"
|
|
109
|
-
- Scope boundary: in-scope vs out-of-scope
|
|
110
|
-
- Acceptance criteria: testable, specific, agreed
|
|
111
|
-
|
|
112
|
-
### Requirements Output Format
|
|
113
|
-
|
|
114
|
-
```markdown
|
|
115
|
-
## User Story
|
|
116
|
-
As a [role], I want [goal] so that [benefit].
|
|
117
|
-
|
|
118
|
-
## Acceptance Criteria
|
|
119
|
-
Given [precondition]
|
|
120
|
-
When [action]
|
|
121
|
-
Then [outcome]
|
|
122
|
-
|
|
123
|
-
## Out of Scope
|
|
124
|
-
- [explicitly excluded items]
|
|
125
|
-
|
|
126
|
-
## Edge Cases to Handle
|
|
127
|
-
- [edge case 1]
|
|
128
|
-
- [edge case 2]
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### BA không có?
|
|
132
|
-
|
|
133
|
-
- Developer writes requirements từ conversation với stakeholder
|
|
134
|
-
- Requirements review là developer + TL (không có independent BA)
|
|
135
|
-
- Risk cao hơn về misunderstood requirements — tăng frequency of check-ins
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## QC Engineer (`qc`)
|
|
140
|
-
|
|
141
|
-
**Trách nhiệm chính**: Test planning, independent quality verification
|
|
142
|
-
|
|
143
|
-
### Phases QC Owns
|
|
144
|
-
|
|
145
|
-
| Phase | Responsibility |
|
|
146
|
-
|-------|---------------|
|
|
147
|
-
| Plan | Test plan tạo song song với dev plan |
|
|
148
|
-
| Verify | Execute test plan, Layer 4 sign-off |
|
|
149
|
-
|
|
150
|
-
### Decision Authority
|
|
151
|
-
|
|
152
|
-
- QA sign-off: **explicit gate** cho `thorough` depth — không thể self-approve
|
|
153
|
-
- Bug severity classification
|
|
154
|
-
- Regression scope: gì cần test lại sau change
|
|
155
|
-
|
|
156
|
-
### Test Plan Structure
|
|
157
|
-
|
|
158
|
-
```markdown
|
|
159
|
-
## Test Cases
|
|
160
|
-
### TC-1: [Test case name]
|
|
161
|
-
- **Given**: [precondition]
|
|
162
|
-
- **When**: [action]
|
|
163
|
-
- **Then**: [expected result]
|
|
164
|
-
- **Priority**: P1/P2/P3
|
|
165
|
-
|
|
166
|
-
## Regression Checklist
|
|
167
|
-
- [ ] [Feature 1 không bị ảnh hưởng]
|
|
168
|
-
- [ ] [Feature 2 không bị ảnh hưởng]
|
|
169
|
-
|
|
170
|
-
## Security Checklist (nếu applicable)
|
|
171
|
-
- [ ] Input validation
|
|
172
|
-
- [ ] Auth/authz checks
|
|
173
|
-
- [ ] No data exposure
|
|
174
|
-
|
|
175
|
-
## Performance Checklist (nếu applicable)
|
|
176
|
-
- [ ] Response time acceptable
|
|
177
|
-
- [ ] No N+1 queries introduced
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
### QC không có?
|
|
181
|
-
|
|
182
|
-
- Developer tự execute test plan (nếu có) hoặc manual verification
|
|
183
|
-
- Layer 4 QA sign-off skip — nhưng automated gates (Layer 4a) vẫn chạy
|
|
184
|
-
- Risk cao hơn về undiscovered bugs
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
|
|
188
|
-
## Product Manager (`pm`)
|
|
189
|
-
|
|
190
|
-
**Trách nhiệm chính**: Progress visibility, metrics, sprint planning
|
|
191
|
-
|
|
192
|
-
### Phases PM Owns
|
|
193
|
-
|
|
194
|
-
| Phase | Responsibility |
|
|
195
|
-
|-------|---------------|
|
|
196
|
-
| Initialize | Sprint planning, priority |
|
|
197
|
-
| Close | Sprint review, velocity tracking |
|
|
198
|
-
| Standalone: Reports | Dashboard generation |
|
|
199
|
-
|
|
200
|
-
### PM View
|
|
201
|
-
|
|
202
|
-
PM không cần đọc code — PM đọc:
|
|
203
|
-
- Progress files (status per subtask)
|
|
204
|
-
- Dashboard reports (velocity, metrics)
|
|
205
|
-
- Sprint review summaries
|
|
206
|
-
|
|
207
|
-
### Dashboard Metrics
|
|
208
|
-
|
|
209
|
-
| Metric | Source | Update frequency |
|
|
210
|
-
|--------|--------|-----------------|
|
|
211
|
-
| Tasks: done/in-progress/blocked | Progress files | Real-time |
|
|
212
|
-
| Velocity | Closed tasks per sprint | Per sprint |
|
|
213
|
-
| Estimate accuracy | Estimate vs actual | Per task |
|
|
214
|
-
| DORA: deployment frequency | Git history | Per release |
|
|
215
|
-
| DORA: lead time | Task start → deploy | Per release |
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## Multi-Role Workflow
|
|
220
|
-
|
|
221
|
-
Full team workflow (tất cả roles):
|
|
222
|
-
|
|
223
|
-
```
|
|
224
|
-
BA: /dw
|
|
225
|
-
↓
|
|
226
|
-
TL: /dw
|
|
227
|
-
↓
|
|
228
|
-
Dev: /dw
|
|
229
|
-
Dev: /dw
|
|
230
|
-
Dev+QC: /dw
|
|
231
|
-
↓
|
|
232
|
-
TL approve plan
|
|
233
|
-
↓
|
|
234
|
-
Dev: /dw
|
|
235
|
-
↓
|
|
236
|
-
TL: /dw
|
|
237
|
-
↓
|
|
238
|
-
QC: manual/auto testing → Layer 4 verification
|
|
239
|
-
↓
|
|
240
|
-
Dev: /dw
|
|
241
|
-
↓
|
|
242
|
-
PM: /dw
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
Không phải mọi task cần full chain. `default_depth` + available roles quyết định.
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
|
|
249
|
-
## Role-Depth Matrix
|
|
250
|
-
|
|
251
|
-
| Role | Quick | Standard | Thorough |
|
|
252
|
-
|------|-------|----------|----------|
|
|
253
|
-
| dev | required | required | required |
|
|
254
|
-
| techlead | not needed | arch decisions only | full review + approval |
|
|
255
|
-
| ba | not needed | requirements check | full requirements |
|
|
256
|
-
| qc | not needed | not needed | full test plan + sign-off |
|
|
257
|
-
| pm | not needed | optional | dashboard |
|
|
1
|
+
<!-- core-version: 1.0 -->
|
|
2
|
+
|
|
3
|
+
# Team Roles & Authority
|
|
4
|
+
|
|
5
|
+
> **Nguyên tắc**: Roles = capabilities, không phải hierarchy.
|
|
6
|
+
> Config `team.roles` quyết định phases nào available, không phải quality tier.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Role Overview
|
|
11
|
+
|
|
12
|
+
| Role | Ký hiệu config | Core responsibility | Decision authority |
|
|
13
|
+
|------|----------------|--------------------|--------------------|
|
|
14
|
+
| Developer | `dev` | Implementation, testing | Code-level decisions |
|
|
15
|
+
| Tech Lead | `techlead` | Architecture, code standards | Architecture decisions, plan approval |
|
|
16
|
+
| Business Analyst | `ba` | Requirements, user stories | Requirements sign-off |
|
|
17
|
+
| QC Engineer | `qc` | Test planning, quality verification | QA sign-off (Layer 4) |
|
|
18
|
+
| Product Manager | `pm` | Progress visibility, metrics | Sprint planning, backlog priority |
|
|
19
|
+
|
|
20
|
+
> `dev` luôn required. Các roles khác là optional — không có thì phase đó gracefully degrade.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Developer (`dev`)
|
|
25
|
+
|
|
26
|
+
**Trách nhiệm chính**: Research → Plan → Execute → Commit
|
|
27
|
+
|
|
28
|
+
### Phases Developer Owns
|
|
29
|
+
|
|
30
|
+
| Phase | Responsibility |
|
|
31
|
+
|-------|---------------|
|
|
32
|
+
| Initialize | Tạo task docs, scope assessment |
|
|
33
|
+
| Understand | Codebase research, context gathering |
|
|
34
|
+
| Plan | Solution design, subtask breakdown |
|
|
35
|
+
| Execute | Implementation, TDD, subtask commits |
|
|
36
|
+
| Verify | Self-review (Layer 1), automated gates (Layer 2) |
|
|
37
|
+
| Close | Commit, effort log, handoff |
|
|
38
|
+
|
|
39
|
+
### Decision Authority
|
|
40
|
+
|
|
41
|
+
- Code implementation decisions
|
|
42
|
+
- Library/dependency choices (minor)
|
|
43
|
+
- Subtask ordering và approach (trong scope của plan approved)
|
|
44
|
+
- **DỪNG và hỏi khi**: architecture change, API contract change, scope expansion
|
|
45
|
+
|
|
46
|
+
### Best Practices
|
|
47
|
+
|
|
48
|
+
- Commit nhỏ, thường xuyên (mỗi subtask = 1 commit)
|
|
49
|
+
- Update progress file sau mỗi subtask
|
|
50
|
+
- Không implement ngoài scope plan đã approve
|
|
51
|
+
- Phát hiện giả định sai → ghi Changelog + hỏi TL trước khi tiếp tục
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Tech Lead (`techlead`)
|
|
56
|
+
|
|
57
|
+
**Trách nhiệm chính**: Architecture quality, standards enforcement, plan approval
|
|
58
|
+
|
|
59
|
+
### Phases TL Owns
|
|
60
|
+
|
|
61
|
+
| Phase | Responsibility |
|
|
62
|
+
|-------|---------------|
|
|
63
|
+
| Plan | Architecture review, approve plan trước Execute |
|
|
64
|
+
| Execute | Unblock architecture decisions during implementation |
|
|
65
|
+
| Verify | Code review (Layer 3 — architecture focus) |
|
|
66
|
+
| Close | Final technical sign-off |
|
|
67
|
+
|
|
68
|
+
### Decision Authority
|
|
69
|
+
|
|
70
|
+
- Architecture decisions (service boundaries, patterns, data models)
|
|
71
|
+
- Plan approval: **explicit gate** — Execute không bắt đầu khi chưa có TL approve
|
|
72
|
+
- A/B testing resolution: TL chọn approach khi hai approaches không rõ ưu/nhược
|
|
73
|
+
- Technical debt acknowledgment: quyết định "acceptable" hay "must fix"
|
|
74
|
+
|
|
75
|
+
### Architecture Review Checklist
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
[ ] Approach consistent với codebase patterns?
|
|
79
|
+
[ ] Scalability implications acceptable?
|
|
80
|
+
[ ] Security design đúng?
|
|
81
|
+
[ ] API contract backward compatible (hoặc migration plan có)?
|
|
82
|
+
[ ] Subtask breakdown hợp lý? Dependencies đúng?
|
|
83
|
+
[ ] Risks identified và có mitigation?
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### TL không có?
|
|
87
|
+
|
|
88
|
+
- Plan vẫn proceed nhưng developer self-review architecture decisions
|
|
89
|
+
- Ghi rõ trong plan: "Architecture decision by dev (no TL review)"
|
|
90
|
+
- Architecture decisions nên bảo thủ hơn khi không có TL
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Business Analyst (`ba`)
|
|
95
|
+
|
|
96
|
+
**Trách nhiệm chính**: Requirements clarity, user stories, acceptance criteria
|
|
97
|
+
|
|
98
|
+
### Phases BA Owns
|
|
99
|
+
|
|
100
|
+
| Phase | Responsibility |
|
|
101
|
+
|-------|---------------|
|
|
102
|
+
| Initialize | Requirements gathering, user stories |
|
|
103
|
+
| Plan | Review subtask acceptance criteria |
|
|
104
|
+
| Verify | Acceptance criteria verification |
|
|
105
|
+
|
|
106
|
+
### Decision Authority
|
|
107
|
+
|
|
108
|
+
- Requirements sign-off: "dev builds the right thing"
|
|
109
|
+
- Scope boundary: in-scope vs out-of-scope
|
|
110
|
+
- Acceptance criteria: testable, specific, agreed
|
|
111
|
+
|
|
112
|
+
### Requirements Output Format
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## User Story
|
|
116
|
+
As a [role], I want [goal] so that [benefit].
|
|
117
|
+
|
|
118
|
+
## Acceptance Criteria
|
|
119
|
+
Given [precondition]
|
|
120
|
+
When [action]
|
|
121
|
+
Then [outcome]
|
|
122
|
+
|
|
123
|
+
## Out of Scope
|
|
124
|
+
- [explicitly excluded items]
|
|
125
|
+
|
|
126
|
+
## Edge Cases to Handle
|
|
127
|
+
- [edge case 1]
|
|
128
|
+
- [edge case 2]
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### BA không có?
|
|
132
|
+
|
|
133
|
+
- Developer writes requirements từ conversation với stakeholder
|
|
134
|
+
- Requirements review là developer + TL (không có independent BA)
|
|
135
|
+
- Risk cao hơn về misunderstood requirements — tăng frequency of check-ins
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## QC Engineer (`qc`)
|
|
140
|
+
|
|
141
|
+
**Trách nhiệm chính**: Test planning, independent quality verification
|
|
142
|
+
|
|
143
|
+
### Phases QC Owns
|
|
144
|
+
|
|
145
|
+
| Phase | Responsibility |
|
|
146
|
+
|-------|---------------|
|
|
147
|
+
| Plan | Test plan tạo song song với dev plan |
|
|
148
|
+
| Verify | Execute test plan, Layer 4 sign-off |
|
|
149
|
+
|
|
150
|
+
### Decision Authority
|
|
151
|
+
|
|
152
|
+
- QA sign-off: **explicit gate** cho `thorough` depth — không thể self-approve
|
|
153
|
+
- Bug severity classification
|
|
154
|
+
- Regression scope: gì cần test lại sau change
|
|
155
|
+
|
|
156
|
+
### Test Plan Structure
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
## Test Cases
|
|
160
|
+
### TC-1: [Test case name]
|
|
161
|
+
- **Given**: [precondition]
|
|
162
|
+
- **When**: [action]
|
|
163
|
+
- **Then**: [expected result]
|
|
164
|
+
- **Priority**: P1/P2/P3
|
|
165
|
+
|
|
166
|
+
## Regression Checklist
|
|
167
|
+
- [ ] [Feature 1 không bị ảnh hưởng]
|
|
168
|
+
- [ ] [Feature 2 không bị ảnh hưởng]
|
|
169
|
+
|
|
170
|
+
## Security Checklist (nếu applicable)
|
|
171
|
+
- [ ] Input validation
|
|
172
|
+
- [ ] Auth/authz checks
|
|
173
|
+
- [ ] No data exposure
|
|
174
|
+
|
|
175
|
+
## Performance Checklist (nếu applicable)
|
|
176
|
+
- [ ] Response time acceptable
|
|
177
|
+
- [ ] No N+1 queries introduced
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### QC không có?
|
|
181
|
+
|
|
182
|
+
- Developer tự execute test plan (nếu có) hoặc manual verification
|
|
183
|
+
- Layer 4 QA sign-off skip — nhưng automated gates (Layer 4a) vẫn chạy
|
|
184
|
+
- Risk cao hơn về undiscovered bugs
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Product Manager (`pm`)
|
|
189
|
+
|
|
190
|
+
**Trách nhiệm chính**: Progress visibility, metrics, sprint planning
|
|
191
|
+
|
|
192
|
+
### Phases PM Owns
|
|
193
|
+
|
|
194
|
+
| Phase | Responsibility |
|
|
195
|
+
|-------|---------------|
|
|
196
|
+
| Initialize | Sprint planning, priority |
|
|
197
|
+
| Close | Sprint review, velocity tracking |
|
|
198
|
+
| Standalone: Reports | Dashboard generation |
|
|
199
|
+
|
|
200
|
+
### PM View
|
|
201
|
+
|
|
202
|
+
PM không cần đọc code — PM đọc:
|
|
203
|
+
- Progress files (status per subtask)
|
|
204
|
+
- Dashboard reports (velocity, metrics)
|
|
205
|
+
- Sprint review summaries
|
|
206
|
+
|
|
207
|
+
### Dashboard Metrics
|
|
208
|
+
|
|
209
|
+
| Metric | Source | Update frequency |
|
|
210
|
+
|--------|--------|-----------------|
|
|
211
|
+
| Tasks: done/in-progress/blocked | Progress files | Real-time |
|
|
212
|
+
| Velocity | Closed tasks per sprint | Per sprint |
|
|
213
|
+
| Estimate accuracy | Estimate vs actual | Per task |
|
|
214
|
+
| DORA: deployment frequency | Git history | Per release |
|
|
215
|
+
| DORA: lead time | Task start → deploy | Per release |
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Multi-Role Workflow
|
|
220
|
+
|
|
221
|
+
Full team workflow (tất cả roles):
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
BA: /dw:requirements → requirements doc + user stories
|
|
225
|
+
↓
|
|
226
|
+
TL: /dw:arch-review → architecture decision + approve
|
|
227
|
+
↓
|
|
228
|
+
Dev: /dw:task-init → task docs
|
|
229
|
+
Dev: /dw:research → codebase analysis
|
|
230
|
+
Dev+QC: /dw:plan → dev plan + test plan (parallel)
|
|
231
|
+
↓
|
|
232
|
+
TL approve plan
|
|
233
|
+
↓
|
|
234
|
+
Dev: /dw:execute → TDD implementation, commits
|
|
235
|
+
↓
|
|
236
|
+
TL: /dw:review → architecture + code review
|
|
237
|
+
↓
|
|
238
|
+
QC: manual/auto testing → Layer 4 verification
|
|
239
|
+
↓
|
|
240
|
+
Dev: /dw:commit → pre-commit gates
|
|
241
|
+
↓
|
|
242
|
+
PM: /dw:dashboard → visibility, metrics
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Không phải mọi task cần full chain. `default_depth` + available roles quyết định.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Role-Depth Matrix
|
|
250
|
+
|
|
251
|
+
| Role | Quick | Standard | Thorough |
|
|
252
|
+
|------|-------|----------|----------|
|
|
253
|
+
| dev | required | required | required |
|
|
254
|
+
| techlead | not needed | arch decisions only | full review + approval |
|
|
255
|
+
| ba | not needed | requirements check | full requirements |
|
|
256
|
+
| qc | not needed | not needed | full test plan + sign-off |
|
|
257
|
+
| pm | not needed | optional | dashboard |
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
task_id: {task-name}
|
|
3
|
+
created: {YYYY-MM-DD}
|
|
4
|
+
status: Draft | Approved | In Progress | Done
|
|
5
|
+
owner: {name}
|
|
6
|
+
depth: quick | standard | thorough
|
|
7
|
+
related_adr: {ADR-XXXX | none}
|
|
8
|
+
target_ship: {YYYY-MM-DD | none}
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Spec: {Task Title}
|
|
12
|
+
|
|
13
|
+
## Intent
|
|
14
|
+
|
|
15
|
+
{1-2 paragraphs — what and why. No background padding.}
|
|
16
|
+
|
|
17
|
+
## Why Now
|
|
18
|
+
|
|
19
|
+
{Forcing function. Deadline, incident, dependency, opportunity.}
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
|
|
23
|
+
### In Scope
|
|
24
|
+
|
|
25
|
+
**ST-1: {Subtask name}**
|
|
26
|
+
- {Concrete action}
|
|
27
|
+
- Acceptance: {verifiable criterion}
|
|
28
|
+
- Effort: {hours or days}
|
|
29
|
+
|
|
30
|
+
**ST-2: ...**
|
|
31
|
+
|
|
32
|
+
### Out of Scope (Won't Contain)
|
|
33
|
+
|
|
34
|
+
- {Explicit exclusions — prevents scope creep}
|
|
35
|
+
|
|
36
|
+
## Timeline (if ship target)
|
|
37
|
+
|
|
38
|
+
| Phase | Duration | Target Date |
|
|
39
|
+
|-------|----------|-------------|
|
|
40
|
+
| ... | ... | ... |
|
|
41
|
+
|
|
42
|
+
## Risks & Mitigations
|
|
43
|
+
|
|
44
|
+
| Risk | Severity | Mitigation |
|
|
45
|
+
|------|----------|-----------|
|
|
46
|
+
| ... | H/M/L | ... |
|
|
47
|
+
|
|
48
|
+
## Success Criteria
|
|
49
|
+
|
|
50
|
+
Measurable outcomes (not vibes):
|
|
51
|
+
|
|
52
|
+
- [ ] {Numeric threshold, e.g., "latency <100ms p95"}
|
|
53
|
+
- [ ] {Binary gate, e.g., "passes smoke test"}
|
|
54
|
+
|
|
55
|
+
## Dependencies
|
|
56
|
+
|
|
57
|
+
- {Upstream blockers}
|
|
58
|
+
- {External systems}
|
|
59
|
+
|
|
60
|
+
## Known Unknowns (admitted gaps)
|
|
61
|
+
|
|
62
|
+
- {Question 1 — to resolve during execution}
|
|
63
|
+
|
|
64
|
+
## Acceptance (Task Complete When)
|
|
65
|
+
|
|
66
|
+
- [ ] {High-level criteria, e.g., "shipped to prod"}
|
|
67
|
+
- [ ] {Documentation updated}
|
|
68
|
+
- [ ] {Migration note added if breaking}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
task_id: {task-name}
|
|
3
|
+
started: {YYYY-MM-DD}
|
|
4
|
+
last_updated: {YYYY-MM-DD}
|
|
5
|
+
status: Not Started | In Progress | Blocked | Done
|
|
6
|
+
current_phase: {phase name}
|
|
7
|
+
blockers: {none | description}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Tracking: {Task Title}
|
|
11
|
+
|
|
12
|
+
## Status Snapshot
|
|
13
|
+
|
|
14
|
+
**Phase:** {current}
|
|
15
|
+
**Next milestone:** {date or deliverable}
|
|
16
|
+
|
|
17
|
+
## Subtask Progress
|
|
18
|
+
|
|
19
|
+
| # | Subtask | Status | Date | Notes |
|
|
20
|
+
|---|---------|--------|------|-------|
|
|
21
|
+
| ST-1 | ... | ⬜ Pending | — | |
|
|
22
|
+
|
|
23
|
+
Status legend: ⬜ Pending · 🟡 In Progress · ✅ Done · 🔴 Blocked · ⏸ Paused
|
|
24
|
+
|
|
25
|
+
## Changelog
|
|
26
|
+
|
|
27
|
+
### {YYYY-MM-DD} — {Session/commit title}
|
|
28
|
+
|
|
29
|
+
**Actions taken:**
|
|
30
|
+
- ...
|
|
31
|
+
|
|
32
|
+
**Decisions made:**
|
|
33
|
+
- ...
|
|
34
|
+
|
|
35
|
+
**Pain points logged:**
|
|
36
|
+
- ...
|
|
37
|
+
|
|
38
|
+
## Handoff Notes
|
|
39
|
+
|
|
40
|
+
**For next session (or next agent):**
|
|
41
|
+
|
|
42
|
+
- **Read first:** {files}
|
|
43
|
+
- **Current state:** {phase, subtask}
|
|
44
|
+
- **Don't do:** {anti-patterns}
|
|
45
|
+
- **Watch out:** {risks, gotchas}
|
|
46
|
+
|
|
47
|
+
## Friction Journal
|
|
48
|
+
|
|
49
|
+
Every time current system causes friction while working, append here:
|
|
50
|
+
|
|
51
|
+
| Date | Friction | Component | Proposed fix |
|
|
52
|
+
|------|----------|-----------|-------------|
|
|
53
|
+
| ... | ... | ... | ... |
|
|
54
|
+
|
|
55
|
+
## Agent Debate Log (optional, for thorough depth)
|
|
56
|
+
|
|
57
|
+
### {Date} — {Context}
|
|
58
|
+
|
|
59
|
+
**Red-bot findings:** ...
|
|
60
|
+
**Blue-bot suggestions:** ...
|
|
61
|
+
**Incorporated:** ...
|
|
62
|
+
**Deferred:** ...
|