dw-kit 1.9.1 → 1.9.3
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/agents/planner.md +100 -100
- package/.claude/agents/quality-checker.md +86 -86
- package/.claude/agents/researcher.md +93 -93
- package/.claude/agents/reviewer.md +126 -126
- package/.claude/hooks/supply-chain-scan.sh +0 -0
- package/.claude/rules/code-style.md +37 -37
- package/.claude/settings.json +2 -28
- package/.claude/skills/dw-plan/template-plan.md +47 -47
- package/.claude/skills/dw-research/template-research.md +51 -51
- package/.claude/skills/dw-review/checklist.md +88 -88
- package/.claude/skills/dw-thinking/THINKING.md +91 -91
- package/.claude/templates/agent-report.md +35 -35
- package/.claude/templates/en/task-context.md +77 -73
- package/.claude/templates/en/task-plan.md +83 -79
- package/.claude/templates/en/task-progress.md +69 -65
- package/.claude/templates/pr-template.md +56 -56
- package/.claude/templates/task-context.md +77 -73
- package/.claude/templates/task-plan.md +83 -79
- package/.claude/templates/task-progress.md +69 -65
- package/.dw/adapters/claude-cli/extensions/README.md +36 -36
- package/.dw/adapters/claude-cli/generated/README.md +23 -23
- package/.dw/adapters/claude-cli/overrides/README.md +37 -37
- package/.dw/adapters/generic/README.md +21 -21
- package/.dw/config/presets/enterprise.yml +52 -52
- package/.dw/config/presets/small-team.yml +39 -39
- package/.dw/config/presets/solo-quick.yml +37 -37
- package/.dw/core/AGENTS.md +53 -53
- package/.dw/core/QUALITY.md +220 -220
- package/.dw/core/THINKING.md +126 -126
- package/.dw/core/WORKFLOW.md +17 -12
- package/.dw/core/templates/v2/spec.md +2 -0
- package/.dw/core/templates/v2/tracking.md +2 -0
- package/.dw/core/templates/vi/task-context.md +96 -92
- package/.dw/core/templates/vi/task-plan.md +97 -93
- package/.dw/core/templates/vi/task-progress.md +60 -56
- package/LICENSE +201 -201
- package/NOTICE +26 -26
- package/README.md +150 -121
- package/README.vi.md +230 -0
- package/bin/dw.mjs +28 -28
- package/package.json +4 -1
- package/src/commands/claude-vn-fix.mjs +267 -267
- package/src/commands/prompt.mjs +112 -112
- package/src/commands/validate.mjs +102 -102
- package/src/commands/voice.mjs +431 -2
- package/src/lib/board-data.mjs +23 -57
- package/src/lib/clipboard.mjs +24 -24
- package/src/lib/goal-driver.mjs +312 -0
- package/src/lib/goal-progress.mjs +193 -0
- package/src/lib/platform.mjs +39 -39
- package/src/lib/process-kill.mjs +77 -0
- package/src/lib/prompt-suggest.mjs +84 -84
- package/src/lib/task-md-utils.mjs +78 -0
- package/src/lib/ui.mjs +66 -66
- package/src/lib/update-checker.mjs +73 -73
- package/.dw/security/advisory-snapshot.json +0 -157
package/.dw/core/THINKING.md
CHANGED
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
<!-- core-version: 1.0 -->
|
|
2
|
-
|
|
3
|
-
# Tư Duy Phản Biện, Hệ Thống, Đa Góc Nhìn & First Principles
|
|
4
|
-
|
|
5
|
-
Framework tư duy cho cả người và AI agent khi research, plan, và implement.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 1. First Principles Thinking
|
|
10
|
-
|
|
11
|
-
**Mục đích**: Bỏ qua assumptions, trở về câu hỏi cơ bản nhất. Tránh "chúng tôi luôn làm vậy."
|
|
12
|
-
|
|
13
|
-
### Quy Trình
|
|
14
|
-
|
|
15
|
-
1. **Decompose**: Tách vấn đề thành các phần cơ bản nhất — không thể tách nhỏ hơn
|
|
16
|
-
2. **Question assumptions**: Mỗi assumption: "Điều này có đúng không? Có thể kiểm chứng được không?"
|
|
17
|
-
3. **Rebuild**: Từ những gì đã verify, build lại solution từ đầu
|
|
18
|
-
4. **Compare**: Solution mới có ưu việt hơn solution cũ không? Tại sao?
|
|
19
|
-
|
|
20
|
-
### Câu Hỏi First Principles
|
|
21
|
-
|
|
22
|
-
- "Vấn đề thực sự cần giải quyết là gì?" (không phải symptom)
|
|
23
|
-
- "Nếu không có bất kỳ constraint nào, solution tốt nhất là gì?"
|
|
24
|
-
- "Constraint nào là thực sự hard, constraint nào là assumed?"
|
|
25
|
-
- "Ai đang được served bởi solution này? Họ thực sự cần gì?"
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## 2. Tư Duy Phản Biện (Critical Thinking)
|
|
30
|
-
|
|
31
|
-
**Mục đích**: Không chấp nhận giả định một chiều. Đặt câu hỏi, xem xét rủi ro, phương án thay thế.
|
|
32
|
-
|
|
33
|
-
### Câu Hỏi Khi Research & Plan
|
|
34
|
-
|
|
35
|
-
- **Giả định**: Những giả định nào đang coi là đúng? Nếu sai thì ảnh hưởng thế nào?
|
|
36
|
-
- **Bằng chứng**: Kết luận dựa trên đâu (code, doc, đo lường)? Thiếu bằng chứng ở đâu?
|
|
37
|
-
- **Edge cases**: Trường hợp biên nào có thể làm hỏng thiết kế? (null, empty, concurrent, rollback)
|
|
38
|
-
- **Rủi ro**: Rủi ro kỹ thuật, vận hành, bảo mật? Xác suất và tác động?
|
|
39
|
-
- **Phương án thay thế**: Còn cách nào khác? Trade-off so với approach hiện tại?
|
|
40
|
-
- **Phản diện (Devil's advocate)**: Lý do mạnh nhất để KHÔNG làm theo approach đang chọn?
|
|
41
|
-
- **Đơn giản hơn**: Có cách nào đơn giản hơn đạt cùng mục tiêu không?
|
|
42
|
-
|
|
43
|
-
### Áp Dụng Trong Task
|
|
44
|
-
|
|
45
|
-
- **Research**: Ghi rõ "Giả định", "Hạn chế đã biết", "Chưa rõ / cần kiểm chứng"
|
|
46
|
-
- **Plan**: Có mục "Rủi ro & Giả định" và "Phương án đã xem xét"
|
|
47
|
-
- **Execute**: Phát hiện giả định sai → DỪNG, ghi Changelog, cập nhật plan
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## 3. Tư Duy Hệ Thống (Systems Thinking)
|
|
52
|
-
|
|
53
|
-
**Mục đích**: Xem task trong bối cảnh hệ thống lớn. Dependencies, tác động lan truyền, failure modes.
|
|
54
|
-
|
|
55
|
-
### Các Khía Cạnh Cần Xem Xét
|
|
56
|
-
|
|
57
|
-
- **Dependencies**: Task này phụ thuộc vào gì? Ai phụ thuộc vào kết quả của task này?
|
|
58
|
-
- **Boundaries**: Ranh giới rõ ràng chưa? Interfaces ổn định chưa?
|
|
59
|
-
- **Data flow**: Dữ liệu đi từ đâu đến đâu? Thêm DB/cache/queue? Consistency?
|
|
60
|
-
- **Feedback loops**: Thay đổi có tạo vòng lặp không? Cần giới hạn hay debounce?
|
|
61
|
-
- **Failure modes**: Một phần lỗi → hệ thống còn lại ứng xử thế nào? Graceful degradation?
|
|
62
|
-
- **Scale**: Khi tải tăng, điểm nghẽn ở đâu? N+1 queries, missing indexes, locks?
|
|
63
|
-
|
|
64
|
-
### Áp Dụng Trong Task
|
|
65
|
-
|
|
66
|
-
- **Research**: Mô tả (hoặc diagram) luồng hiện tại và vị trí của task
|
|
67
|
-
- **Plan**: Mục "Tác động hệ thống" — modules bị ảnh hưởng, API changes, migration
|
|
68
|
-
- **Subtasks**: Tách rõ schema / service / route / frontend để review dependencies
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## 4. Đa Góc Nhìn (Multiple Perspectives)
|
|
73
|
-
|
|
74
|
-
**Mục đích**: Tránh optimize cho một role. Cân bằng nhu cầu nhiều bên liên quan.
|
|
75
|
-
|
|
76
|
-
### Bảng Góc Nhìn
|
|
77
|
-
|
|
78
|
-
| Góc nhìn | Câu hỏi điển hình |
|
|
79
|
-
|----------|-------------------|
|
|
80
|
-
| **End user** | Dễ dùng không? Feature có match use case thực tế? |
|
|
81
|
-
| **Developer** | Code dễ đọc, test được không? API nhất quán? |
|
|
82
|
-
| **Security** | Ai được làm gì? Có lộ data không? Auth/authz đúng? Rate limit? |
|
|
83
|
-
| **Ops/Vận hành** | Deploy thế nào? Migration cần gì? Metric/log/debug khi lỗi? |
|
|
84
|
-
| **Business/Product** | Giải quyết đúng pain point chưa? Ship được từng phần? |
|
|
85
|
-
| **Ngắn hạn vs dài hạn** | Ship nhanh vs kiến trúc bền vững. Tech debt chấp nhận được không? |
|
|
86
|
-
|
|
87
|
-
### Áp Dụng Trong Task
|
|
88
|
-
|
|
89
|
-
- **Plan**: Mục "Góc nhìn & Trade-offs" — mỗi quyết định lớn, ghi tác động per role
|
|
90
|
-
- **Acceptance criteria**: Có thể tách "User: ...", "Dev: ...", "Security: ..."
|
|
91
|
-
- **Review**: Nếu chỉ đúng về kỹ thuật nhưng bỏ qua security/ops → bổ sung
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## 5. Checklist Nhanh (Trước Khi Kết Thúc Mỗi Phase)
|
|
96
|
-
|
|
97
|
-
### Research
|
|
98
|
-
|
|
99
|
-
- [ ] Đã ghi giả định và có thể sai không?
|
|
100
|
-
- [ ] Đã ghi những gì chưa rõ / cần kiểm chứng?
|
|
101
|
-
- [ ] Đã identify failure modes của kiến trúc hiện tại?
|
|
102
|
-
|
|
103
|
-
### Plan
|
|
104
|
-
|
|
105
|
-
- [ ] Đã xem xét ≥2 approaches và so sánh trade-offs?
|
|
106
|
-
- [ ] Có mục Rủi ro & Giả định?
|
|
107
|
-
- [ ] Có mục Edge cases?
|
|
108
|
-
- [ ] Có mục Tác động hệ thống?
|
|
109
|
-
- [ ] Đã xem xét ≥2 góc nhìn (user, security, dev, ops)?
|
|
110
|
-
- [ ] Devil's advocate: lý do mạnh nhất để không làm approach này?
|
|
111
|
-
|
|
112
|
-
### Execute
|
|
113
|
-
|
|
114
|
-
- [ ] Có assumption nào bị chứng minh sai? → Ghi Changelog, cập nhật plan
|
|
115
|
-
- [ ] Có scope thay đổi? → Cập nhật plan, hỏi human
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## 6. Prompt Gợi Ý Cho Agent
|
|
120
|
-
|
|
121
|
-
Khi giao task cho AI agent:
|
|
122
|
-
|
|
123
|
-
> "Khi làm task này, áp dụng framework trong `core/THINKING.md`:
|
|
124
|
-
> - Trước khi viết plan, liệt kê: (1) giả định đang dùng, (2) 2 rủi ro chính, (3) 1 phương án thay thế đã loại và lý do
|
|
125
|
-
> - Xem xét tác động lên ít nhất 2 góc nhìn (vd: user + security)
|
|
126
|
-
> - Nếu phát hiện giả định sai trong khi execute → dừng, ghi Changelog, hỏi"
|
|
1
|
+
<!-- core-version: 1.0 -->
|
|
2
|
+
|
|
3
|
+
# Tư Duy Phản Biện, Hệ Thống, Đa Góc Nhìn & First Principles
|
|
4
|
+
|
|
5
|
+
Framework tư duy cho cả người và AI agent khi research, plan, và implement.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. First Principles Thinking
|
|
10
|
+
|
|
11
|
+
**Mục đích**: Bỏ qua assumptions, trở về câu hỏi cơ bản nhất. Tránh "chúng tôi luôn làm vậy."
|
|
12
|
+
|
|
13
|
+
### Quy Trình
|
|
14
|
+
|
|
15
|
+
1. **Decompose**: Tách vấn đề thành các phần cơ bản nhất — không thể tách nhỏ hơn
|
|
16
|
+
2. **Question assumptions**: Mỗi assumption: "Điều này có đúng không? Có thể kiểm chứng được không?"
|
|
17
|
+
3. **Rebuild**: Từ những gì đã verify, build lại solution từ đầu
|
|
18
|
+
4. **Compare**: Solution mới có ưu việt hơn solution cũ không? Tại sao?
|
|
19
|
+
|
|
20
|
+
### Câu Hỏi First Principles
|
|
21
|
+
|
|
22
|
+
- "Vấn đề thực sự cần giải quyết là gì?" (không phải symptom)
|
|
23
|
+
- "Nếu không có bất kỳ constraint nào, solution tốt nhất là gì?"
|
|
24
|
+
- "Constraint nào là thực sự hard, constraint nào là assumed?"
|
|
25
|
+
- "Ai đang được served bởi solution này? Họ thực sự cần gì?"
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 2. Tư Duy Phản Biện (Critical Thinking)
|
|
30
|
+
|
|
31
|
+
**Mục đích**: Không chấp nhận giả định một chiều. Đặt câu hỏi, xem xét rủi ro, phương án thay thế.
|
|
32
|
+
|
|
33
|
+
### Câu Hỏi Khi Research & Plan
|
|
34
|
+
|
|
35
|
+
- **Giả định**: Những giả định nào đang coi là đúng? Nếu sai thì ảnh hưởng thế nào?
|
|
36
|
+
- **Bằng chứng**: Kết luận dựa trên đâu (code, doc, đo lường)? Thiếu bằng chứng ở đâu?
|
|
37
|
+
- **Edge cases**: Trường hợp biên nào có thể làm hỏng thiết kế? (null, empty, concurrent, rollback)
|
|
38
|
+
- **Rủi ro**: Rủi ro kỹ thuật, vận hành, bảo mật? Xác suất và tác động?
|
|
39
|
+
- **Phương án thay thế**: Còn cách nào khác? Trade-off so với approach hiện tại?
|
|
40
|
+
- **Phản diện (Devil's advocate)**: Lý do mạnh nhất để KHÔNG làm theo approach đang chọn?
|
|
41
|
+
- **Đơn giản hơn**: Có cách nào đơn giản hơn đạt cùng mục tiêu không?
|
|
42
|
+
|
|
43
|
+
### Áp Dụng Trong Task
|
|
44
|
+
|
|
45
|
+
- **Research**: Ghi rõ "Giả định", "Hạn chế đã biết", "Chưa rõ / cần kiểm chứng"
|
|
46
|
+
- **Plan**: Có mục "Rủi ro & Giả định" và "Phương án đã xem xét"
|
|
47
|
+
- **Execute**: Phát hiện giả định sai → DỪNG, ghi Changelog, cập nhật plan
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 3. Tư Duy Hệ Thống (Systems Thinking)
|
|
52
|
+
|
|
53
|
+
**Mục đích**: Xem task trong bối cảnh hệ thống lớn. Dependencies, tác động lan truyền, failure modes.
|
|
54
|
+
|
|
55
|
+
### Các Khía Cạnh Cần Xem Xét
|
|
56
|
+
|
|
57
|
+
- **Dependencies**: Task này phụ thuộc vào gì? Ai phụ thuộc vào kết quả của task này?
|
|
58
|
+
- **Boundaries**: Ranh giới rõ ràng chưa? Interfaces ổn định chưa?
|
|
59
|
+
- **Data flow**: Dữ liệu đi từ đâu đến đâu? Thêm DB/cache/queue? Consistency?
|
|
60
|
+
- **Feedback loops**: Thay đổi có tạo vòng lặp không? Cần giới hạn hay debounce?
|
|
61
|
+
- **Failure modes**: Một phần lỗi → hệ thống còn lại ứng xử thế nào? Graceful degradation?
|
|
62
|
+
- **Scale**: Khi tải tăng, điểm nghẽn ở đâu? N+1 queries, missing indexes, locks?
|
|
63
|
+
|
|
64
|
+
### Áp Dụng Trong Task
|
|
65
|
+
|
|
66
|
+
- **Research**: Mô tả (hoặc diagram) luồng hiện tại và vị trí của task
|
|
67
|
+
- **Plan**: Mục "Tác động hệ thống" — modules bị ảnh hưởng, API changes, migration
|
|
68
|
+
- **Subtasks**: Tách rõ schema / service / route / frontend để review dependencies
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 4. Đa Góc Nhìn (Multiple Perspectives)
|
|
73
|
+
|
|
74
|
+
**Mục đích**: Tránh optimize cho một role. Cân bằng nhu cầu nhiều bên liên quan.
|
|
75
|
+
|
|
76
|
+
### Bảng Góc Nhìn
|
|
77
|
+
|
|
78
|
+
| Góc nhìn | Câu hỏi điển hình |
|
|
79
|
+
|----------|-------------------|
|
|
80
|
+
| **End user** | Dễ dùng không? Feature có match use case thực tế? |
|
|
81
|
+
| **Developer** | Code dễ đọc, test được không? API nhất quán? |
|
|
82
|
+
| **Security** | Ai được làm gì? Có lộ data không? Auth/authz đúng? Rate limit? |
|
|
83
|
+
| **Ops/Vận hành** | Deploy thế nào? Migration cần gì? Metric/log/debug khi lỗi? |
|
|
84
|
+
| **Business/Product** | Giải quyết đúng pain point chưa? Ship được từng phần? |
|
|
85
|
+
| **Ngắn hạn vs dài hạn** | Ship nhanh vs kiến trúc bền vững. Tech debt chấp nhận được không? |
|
|
86
|
+
|
|
87
|
+
### Áp Dụng Trong Task
|
|
88
|
+
|
|
89
|
+
- **Plan**: Mục "Góc nhìn & Trade-offs" — mỗi quyết định lớn, ghi tác động per role
|
|
90
|
+
- **Acceptance criteria**: Có thể tách "User: ...", "Dev: ...", "Security: ..."
|
|
91
|
+
- **Review**: Nếu chỉ đúng về kỹ thuật nhưng bỏ qua security/ops → bổ sung
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 5. Checklist Nhanh (Trước Khi Kết Thúc Mỗi Phase)
|
|
96
|
+
|
|
97
|
+
### Research
|
|
98
|
+
|
|
99
|
+
- [ ] Đã ghi giả định và có thể sai không?
|
|
100
|
+
- [ ] Đã ghi những gì chưa rõ / cần kiểm chứng?
|
|
101
|
+
- [ ] Đã identify failure modes của kiến trúc hiện tại?
|
|
102
|
+
|
|
103
|
+
### Plan
|
|
104
|
+
|
|
105
|
+
- [ ] Đã xem xét ≥2 approaches và so sánh trade-offs?
|
|
106
|
+
- [ ] Có mục Rủi ro & Giả định?
|
|
107
|
+
- [ ] Có mục Edge cases?
|
|
108
|
+
- [ ] Có mục Tác động hệ thống?
|
|
109
|
+
- [ ] Đã xem xét ≥2 góc nhìn (user, security, dev, ops)?
|
|
110
|
+
- [ ] Devil's advocate: lý do mạnh nhất để không làm approach này?
|
|
111
|
+
|
|
112
|
+
### Execute
|
|
113
|
+
|
|
114
|
+
- [ ] Có assumption nào bị chứng minh sai? → Ghi Changelog, cập nhật plan
|
|
115
|
+
- [ ] Có scope thay đổi? → Cập nhật plan, hỏi human
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 6. Prompt Gợi Ý Cho Agent
|
|
120
|
+
|
|
121
|
+
Khi giao task cho AI agent:
|
|
122
|
+
|
|
123
|
+
> "Khi làm task này, áp dụng framework trong `core/THINKING.md`:
|
|
124
|
+
> - Trước khi viết plan, liệt kê: (1) giả định đang dùng, (2) 2 rủi ro chính, (3) 1 phương án thay thế đã loại và lý do
|
|
125
|
+
> - Xem xét tác động lên ít nhất 2 góc nhìn (vd: user + security)
|
|
126
|
+
> - Nếu phát hiện giả định sai trong khi execute → dừng, ghi Changelog, hỏi"
|
package/.dw/core/WORKFLOW.md
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
<!-- core-version: 1.
|
|
2
|
-
<!-- last-updated: 2026-
|
|
1
|
+
<!-- core-version: 1.1 -->
|
|
2
|
+
<!-- last-updated: 2026-06-11 -->
|
|
3
3
|
|
|
4
4
|
# dw-kit Workflow Methodology
|
|
5
5
|
|
|
6
6
|
> **Platform-agnostic.** File này chứa methodology thuần — không có Claude syntax, không có tool names.
|
|
7
7
|
> Platform-specific execution nằm trong `.dw/adapters/`.
|
|
8
|
+
>
|
|
9
|
+
> **Task doc lineage (canonical = v3, per ADR-0008 / ADR-0020):** mỗi task = **1 file `task.md`**
|
|
10
|
+
> với Sections (1 Snapshot · 2 Intent & Scope · 3 Subtask Tracker · 4 Timeline · 5 Handoff). Bộ
|
|
11
|
+
> 3-file đời cũ (`*-context/plan/progress.md`) và bộ 2-file v2 (`spec.md`+`tracking.md`) là **legacy** —
|
|
12
|
+
> chỉ dùng `dw task migrate` cho task cũ. Ở dưới khi nói "task doc" nghĩa là `task.md` v3.
|
|
8
13
|
|
|
9
14
|
---
|
|
10
15
|
|
|
@@ -45,7 +50,7 @@
|
|
|
45
50
|
Mỗi task nên có depth riêng, không khóa cứng theo project:
|
|
46
51
|
|
|
47
52
|
- **Default**: dùng `workflow.default_depth` từ `.dw/config/dw.config.yml`
|
|
48
|
-
- **Override**: ghi trực tiếp trong task
|
|
53
|
+
- **Override**: ghi trực tiếp trong task doc (`task.md` frontmatter `depth:` hoặc Section 2 Intent)
|
|
49
54
|
- **Rule**: task nào có API/DB/security scope thì có thể nâng lên `thorough` dù project đang `standard`
|
|
50
55
|
|
|
51
56
|
Ưu tiên thực tế: `default_depth` giúp setup nhanh, còn execution quyết định theo rủi ro từng task.
|
|
@@ -70,9 +75,9 @@ Trả lời trước khi tiếp tục:
|
|
|
70
75
|
|
|
71
76
|
### Output Phase 1
|
|
72
77
|
|
|
73
|
-
- [ ] Task
|
|
74
|
-
- [ ]
|
|
75
|
-
- [ ]
|
|
78
|
+
- [ ] Task doc tạo tại `{paths.tasks}/[task-name]/task.md` (v3, 1-file — qua `dw task new`)
|
|
79
|
+
- [ ] Section 1 Snapshot + Section 2 Intent & Scope điền: yêu cầu gốc + scope assessment + depth recommendation
|
|
80
|
+
- [ ] Section 3 Subtask Tracker khởi tạo (status sống DUY NHẤT ở đây — chống drift)
|
|
76
81
|
|
|
77
82
|
### Readiness Check
|
|
78
83
|
|
|
@@ -118,7 +123,7 @@ Khi context thiếu, AI không dừng và chờ. AI:
|
|
|
118
123
|
|
|
119
124
|
### Output Phase 2
|
|
120
125
|
|
|
121
|
-
- [ ] `
|
|
126
|
+
- [ ] `task.md` Section 2 (Intent & Scope) điền đầy đủ
|
|
122
127
|
- [ ] Files liên quan: listed với vai trò rõ ràng
|
|
123
128
|
- [ ] Kiến trúc hiện tại: documented (diagram nếu cần)
|
|
124
129
|
- [ ] Gaps: identified, resolved hoặc flagged
|
|
@@ -181,7 +186,7 @@ Mỗi subtask phải:
|
|
|
181
186
|
|
|
182
187
|
### Output Phase 3
|
|
183
188
|
|
|
184
|
-
- [ ] `
|
|
189
|
+
- [ ] `task.md` Section 2/3 (plan + subtasks) hoàn chỉnh
|
|
185
190
|
- [ ] ≥2 approaches so sánh
|
|
186
191
|
- [ ] Subtasks với dependencies, criteria, estimate
|
|
187
192
|
- [ ] Risk table với mitigation
|
|
@@ -219,12 +224,12 @@ Nếu task không có tests: viết tests sau implement, nhưng TRƯỚC khi mar
|
|
|
219
224
|
2. **Chỉ làm đúng scope của subtask** — không "while I'm here" fixes
|
|
220
225
|
3. **Gặp ambiguity → DỪNG và hỏi** — không tự suy diễn cho thay đổi lớn
|
|
221
226
|
4. **Phát hiện scope thay đổi → cập nhật plan, hỏi human** trước khi tiếp tục
|
|
222
|
-
5. **Mỗi subtask done = update
|
|
227
|
+
5. **Mỗi subtask done = update Section 3 Tracker + Section 4 Timeline + commit**
|
|
223
228
|
|
|
224
229
|
### Khi Gặp Blockers
|
|
225
230
|
|
|
226
231
|
```
|
|
227
|
-
1. Ghi blocker vào
|
|
232
|
+
1. Ghi blocker vào `task.md` Section 5 Handoff & Friction (mô tả, context)
|
|
228
233
|
2. Xác định: blocker có thể self-resolve không?
|
|
229
234
|
- Có: document approach, proceed
|
|
230
235
|
- Không: DỪNG, escalate, ghi next-steps rõ ràng
|
|
@@ -234,7 +239,7 @@ Nếu task không có tests: viết tests sau implement, nhưng TRƯỚC khi mar
|
|
|
234
239
|
### Output Phase 4
|
|
235
240
|
|
|
236
241
|
- [ ] Mỗi subtask: code implemented + tests pass
|
|
237
|
-
- [ ]
|
|
242
|
+
- [ ] `task.md` Section 3 Tracker cập nhật sau mỗi subtask
|
|
238
243
|
- [ ] Mỗi subtask: 1 commit (format chuẩn)
|
|
239
244
|
- [ ] Không còn debug code (console.log, debugger)
|
|
240
245
|
|
|
@@ -333,7 +338,7 @@ Move task docs từ `{paths.tasks}/` → `{paths.tasks}/archive/` sau khi:
|
|
|
333
338
|
### Output Phase 6
|
|
334
339
|
|
|
335
340
|
- [ ] Final commit(s) với message chuẩn
|
|
336
|
-
- [ ]
|
|
341
|
+
- [ ] `task.md` Section 3 Tracker: tất cả subtask = ✅ Done, Section 4 Timeline có entry close-out
|
|
337
342
|
- [ ] Effort log updated (nếu enabled)
|
|
338
343
|
- [ ] Handoff notes ghi (nếu bàn giao)
|
|
339
344
|
- [ ] Task archived (sau merge)
|
|
@@ -1,92 +1,96 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
##
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
1
|
+
<!-- ⚠️ LEGACY TEMPLATE — do not use for new tasks. -->
|
|
2
|
+
<!-- Canonical task doc lineage = v3 (.dw/core/templates/v3/task.md), per ADR-0008 / ADR-0020. -->
|
|
3
|
+
<!-- Kept only as reference for `dw task migrate` + reading legacy task docs. -->
|
|
4
|
+
|
|
5
|
+
# Context: [Task Name]
|
|
6
|
+
|
|
7
|
+
## Ngày khảo sát: [date]
|
|
8
|
+
## Depth: quick | standard | thorough
|
|
9
|
+
## Depth Source: default (from config) | override (task-specific)
|
|
10
|
+
## Override Reason (nếu có): [ví dụ: API contract change / DB migration / security-sensitive]
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Yêu Cầu
|
|
15
|
+
|
|
16
|
+
> [Mô tả yêu cầu gốc. Nếu có BA: link đến requirements doc]
|
|
17
|
+
|
|
18
|
+
**Acceptance criteria cấp cao:**
|
|
19
|
+
- Given [trạng thái ban đầu], When [action], Then [kết quả mong đợi]
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Codebase Analysis
|
|
24
|
+
|
|
25
|
+
### Scope Assessment
|
|
26
|
+
|
|
27
|
+
AI đã phân tích codebase và tìm thấy:
|
|
28
|
+
|
|
29
|
+
**Files liên quan:**
|
|
30
|
+
| # | File | Vai trò | Thay đổi? | Confidence |
|
|
31
|
+
|---|------|---------|-----------|-----------|
|
|
32
|
+
| 1 | | | Có / Không / Chưa rõ | HIGH / MED / LOW |
|
|
33
|
+
|
|
34
|
+
> Xác nhận hoặc sửa danh sách trên trước khi tiếp tục.
|
|
35
|
+
|
|
36
|
+
### Kiến Trúc Hiện Tại
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
[Mô tả luồng — AI điền sau khi research]
|
|
40
|
+
Input → [Module A] → [Module B] → Output
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Data Flow
|
|
44
|
+
|
|
45
|
+
- **Input**: [từ đâu, format gì]
|
|
46
|
+
- **Processing**: [logic chính]
|
|
47
|
+
- **Output**: [đi đâu, format gì]
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Dependencies
|
|
52
|
+
|
|
53
|
+
**Upstream** (task này phụ thuộc vào):
|
|
54
|
+
- [ ] [Module/API] — [vai trò]
|
|
55
|
+
|
|
56
|
+
**Downstream** (bị ảnh hưởng bởi task):
|
|
57
|
+
- [ ] [Module/API] — [ảnh hưởng thế nào]
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Patterns Phát Hiện
|
|
62
|
+
|
|
63
|
+
| Pattern | Mô tả | Ví dụ (file:line) | Follow? |
|
|
64
|
+
|---------|--------|-------------------|---------|
|
|
65
|
+
| | | | Có / Không |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Test Coverage
|
|
70
|
+
|
|
71
|
+
- Tests hiện tại: [có/không, file nào]
|
|
72
|
+
- Coverage: [% hoặc mô tả]
|
|
73
|
+
- Gaps: [thiếu test ở đâu — cần bổ sung]
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Giả Định
|
|
78
|
+
|
|
79
|
+
> AI tự động điền dựa trên codebase analysis. Xác nhận hoặc sửa.
|
|
80
|
+
|
|
81
|
+
| # | Giả định | Nguồn | Có thể sai không? |
|
|
82
|
+
|---|----------|-------|-------------------|
|
|
83
|
+
| 1 | | Code analysis | Thấp / Trung / Cao |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Chưa Rõ — Cần Làm Rõ Trước Khi Plan
|
|
88
|
+
|
|
89
|
+
- [ ] [Câu hỏi 1] — ảnh hưởng đến approach nếu sai
|
|
90
|
+
- [ ] [Câu hỏi 2]
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Ghi Chú
|
|
95
|
+
|
|
96
|
+
[Gotchas, tech debt liên quan, lịch sử thay đổi gần đây]
|