@educa-corp/sdd-framework 0.2.4 → 0.2.5

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.
Files changed (150) hide show
  1. package/commands/generate-architecture.md +706 -0
  2. package/commands/generate-architecture.tmpl +194 -0
  3. package/commands/generate-code.md +16 -2
  4. package/commands/generate-code.tmpl +16 -2
  5. package/commands/generate-tech-docs.md +19 -0
  6. package/commands/generate-tech-docs.tmpl +19 -0
  7. package/core/FRAMEWORK_VERSION +1 -1
  8. package/core/commands/generate-architecture.md +706 -0
  9. package/core/commands/generate-code.md +16 -2
  10. package/core/commands/generate-tech-docs.md +19 -0
  11. package/core/skills/setup-ai-first/SKILL.md +12 -4
  12. package/core/templates/architecture.template.md +392 -111
  13. package/docs/01-getting-started/installation.md +47 -112
  14. package/docs/01-getting-started/quickstart.md +58 -72
  15. package/docs/01-getting-started/what-is-sdd.md +75 -0
  16. package/docs/02-concepts/architecture.md +109 -0
  17. package/docs/02-concepts/glossary.md +87 -0
  18. package/docs/02-concepts/overview.md +93 -0
  19. package/docs/02-concepts/pipeline-steps/00-setup.md +102 -0
  20. package/docs/02-concepts/pipeline-steps/01-discovery.md +129 -0
  21. package/docs/02-concepts/pipeline-steps/02-specification.md +130 -0
  22. package/docs/02-concepts/pipeline-steps/03-design-spec.md +90 -0
  23. package/docs/02-concepts/pipeline-steps/04-bdd.md +120 -0
  24. package/docs/02-concepts/pipeline-steps/05-tech-docs.md +101 -0
  25. package/docs/02-concepts/pipeline-steps/06-code.md +119 -0
  26. package/docs/02-concepts/pipeline-steps/07-dev-selftest.md +92 -0
  27. package/docs/02-concepts/pipeline-steps/08-qc-automation.md +102 -0
  28. package/docs/02-concepts/pipeline-steps/09-validate-traces.md +104 -0
  29. package/docs/02-concepts/pipeline-steps/10-feedback-loop.md +105 -0
  30. package/docs/02-concepts/pipeline-steps/README.md +92 -0
  31. package/docs/02-concepts/roles-and-hitl.md +73 -0
  32. package/docs/02-concepts/traceability.md +94 -0
  33. package/docs/03-guides/architect.md +98 -0
  34. package/docs/03-guides/developer.md +76 -0
  35. package/docs/03-guides/product-owner.md +68 -0
  36. package/docs/03-guides/tester-qa.md +70 -0
  37. package/docs/04-reference/commands.md +105 -0
  38. package/docs/04-reference/configuration.md +94 -0
  39. package/docs/04-reference/model-selection.md +68 -0
  40. package/docs/04-reference/modules.md +74 -0
  41. package/docs/04-reference/trace-schema.md +93 -0
  42. package/docs/README.md +29 -40
  43. package/docs/explain/00-setup-ai-first.md +77 -0
  44. package/docs/explain/00b-generate-architecture.md +76 -0
  45. package/docs/explain/01-define-product.md +79 -0
  46. package/docs/explain/02-generate-prd.md +78 -0
  47. package/docs/explain/03-refine-prd.md +86 -0
  48. package/docs/explain/04-review-context.md +100 -0
  49. package/docs/explain/05-generate-design-spec.md +73 -0
  50. package/docs/explain/06-generate-bdd.md +77 -0
  51. package/docs/explain/07-generate-tech-docs.md +71 -0
  52. package/docs/explain/08-review-tech-docs.md +79 -0
  53. package/docs/explain/09-generate-code.md +78 -0
  54. package/docs/explain/10-review-code.md +70 -0
  55. package/docs/explain/11-map-testids.md +69 -0
  56. package/docs/explain/12-dev-gen-test.md +66 -0
  57. package/docs/explain/13-dev-run-test.md +69 -0
  58. package/docs/explain/14-dev-smoke-test.md +67 -0
  59. package/docs/explain/15-qc-analyze.md +68 -0
  60. package/docs/explain/16-qc-plan.md +61 -0
  61. package/docs/explain/17-qc-design-test.md +61 -0
  62. package/docs/explain/18-qc-review.md +59 -0
  63. package/docs/explain/19-qc-run-test.md +67 -0
  64. package/docs/explain/20-qc-report.md +61 -0
  65. package/docs/explain/21-validate-traces.md +68 -0
  66. package/docs/explain/22-generate-spec-manifest.md +60 -0
  67. package/docs/explain/23-fix-bug.md +69 -0
  68. package/docs/explain/24-debug.md +61 -0
  69. package/docs/explain/25-report-bug.md +65 -0
  70. package/docs/explain/26-propose-scenario.md +63 -0
  71. package/docs/explain/27-learn.md +65 -0
  72. package/docs/explain/28-sync.md +70 -0
  73. package/docs/explain/29-update-framework.md +65 -0
  74. package/docs/explain/README.md +134 -0
  75. package/package.json +1 -1
  76. package/skills/setup-ai-first/SKILL.md +12 -4
  77. package/skills/setup-ai-first/SKILL.tmpl +12 -4
  78. package/templates/architecture.template.md +392 -111
  79. package/docs/01-getting-started/README.md +0 -19
  80. package/docs/01-getting-started/core-concepts.md +0 -102
  81. package/docs/02-guides/README.md +0 -26
  82. package/docs/02-guides/bdd-input-checklist.md +0 -68
  83. package/docs/02-guides/developer/README.md +0 -49
  84. package/docs/02-guides/developer/bdd-and-trace.md +0 -126
  85. package/docs/02-guides/developer/commands.md +0 -76
  86. package/docs/02-guides/developer/pr-checklist.md +0 -16
  87. package/docs/02-guides/developer/scenarios.md +0 -460
  88. package/docs/02-guides/developer/workflow.md +0 -121
  89. package/docs/02-guides/prd-input-checklist.md +0 -94
  90. package/docs/02-guides/product-owner/README.md +0 -81
  91. package/docs/02-guides/product-owner/commands.md +0 -30
  92. package/docs/02-guides/product-owner/handoff-checklist.md +0 -42
  93. package/docs/02-guides/product-owner/prd-writing-rules.md +0 -45
  94. package/docs/02-guides/product-owner/scenarios.md +0 -438
  95. package/docs/02-guides/tech-docs-input-checklist.md +0 -109
  96. package/docs/02-guides/tester/README.md +0 -75
  97. package/docs/02-guides/tester/bug-reporting.md +0 -117
  98. package/docs/02-guides/tester/qc-automation.md +0 -165
  99. package/docs/02-guides/tester/reading-specs.md +0 -79
  100. package/docs/02-guides/tester/scenarios.md +0 -186
  101. package/docs/02-guides/tester/spec-manifest.md +0 -130
  102. package/docs/02-guides/tester/test-checklist.md +0 -31
  103. package/docs/02-guides/tester/workflow.md +0 -77
  104. package/docs/03-concepts/README.md +0 -20
  105. package/docs/03-concepts/architecture.md +0 -248
  106. package/docs/03-concepts/mechanisms-explained.md +0 -124
  107. package/docs/03-concepts/pipeline.md +0 -278
  108. package/docs/03-concepts/traceability.md +0 -152
  109. package/docs/04-operations/README.md +0 -33
  110. package/docs/04-operations/bug-flow.md +0 -364
  111. package/docs/04-operations/publishing.md +0 -154
  112. package/docs/04-operations/sync-and-update.md +0 -522
  113. package/docs/05-reference/README.md +0 -34
  114. package/docs/05-reference/command-cheatsheet.md +0 -147
  115. package/docs/05-reference/commands.md +0 -234
  116. package/docs/05-reference/model-selection.md +0 -74
  117. package/docs/05-reference/modules.md +0 -110
  118. package/docs/05-reference/trace-schema.md +0 -154
  119. package/docs/06-commands/README.md +0 -75
  120. package/docs/06-commands/explain-debug.md +0 -32
  121. package/docs/06-commands/explain-define-product.md +0 -43
  122. package/docs/06-commands/explain-dev-gen-test.md +0 -28
  123. package/docs/06-commands/explain-dev-run-test.md +0 -24
  124. package/docs/06-commands/explain-dev-smoke-test.md +0 -25
  125. package/docs/06-commands/explain-fix-bug.md +0 -28
  126. package/docs/06-commands/explain-generate-bdd.md +0 -45
  127. package/docs/06-commands/explain-generate-code.md +0 -53
  128. package/docs/06-commands/explain-generate-design-spec.md +0 -54
  129. package/docs/06-commands/explain-generate-prd.md +0 -45
  130. package/docs/06-commands/explain-generate-spec-manifest.md +0 -20
  131. package/docs/06-commands/explain-generate-tech-docs.md +0 -56
  132. package/docs/06-commands/explain-learn.md +0 -21
  133. package/docs/06-commands/explain-map-testids.md +0 -28
  134. package/docs/06-commands/explain-propose-scenario.md +0 -24
  135. package/docs/06-commands/explain-qc-analyze.md +0 -22
  136. package/docs/06-commands/explain-qc-design-test.md +0 -20
  137. package/docs/06-commands/explain-qc-plan.md +0 -21
  138. package/docs/06-commands/explain-qc-report.md +0 -23
  139. package/docs/06-commands/explain-qc-review.md +0 -24
  140. package/docs/06-commands/explain-qc-run-test.md +0 -27
  141. package/docs/06-commands/explain-refine-prd.md +0 -51
  142. package/docs/06-commands/explain-report-bug.md +0 -24
  143. package/docs/06-commands/explain-review-code.md +0 -45
  144. package/docs/06-commands/explain-review-context.md +0 -68
  145. package/docs/06-commands/explain-review-tech-docs.md +0 -45
  146. package/docs/06-commands/explain-setup-ai-first.md +0 -25
  147. package/docs/06-commands/explain-sync.md +0 -24
  148. package/docs/06-commands/explain-update-framework.md +0 -22
  149. package/docs/06-commands/explain-validate-traces.md +0 -25
  150. package/docs/t-sample.md +0 -826
@@ -1,186 +0,0 @@
1
- [📚 Docs](../../README.md) › [Guides](../README.md) › [Tester](README.md) › Tình huống thực tế
2
-
3
- # Tình Huống Thực Tế
4
-
5
- ## Tình huống 1: Test feature mới được assign
6
-
7
- **Bối cảnh:** PO thông báo FT-042 Checkout đã approved.
8
-
9
- ```bash
10
- # 1. Cập nhật repo
11
- git pull && git submodule update --remote --recursive
12
-
13
- # 2. Refresh manifest
14
- /generate-spec-manifest
15
-
16
- # 3. Kiểm tra status
17
- # FT-042:
18
- # status: approved ← ✅ có thể test
19
- # prd: "specs/payment/FT-042-checkout/FT-042-checkout.md"
20
- # bdd:
21
- # be: "free-trial-specs/specs/payment/FT-042-checkout/bdd/system/FT-042-UC1-checkout-system.feature"
22
- # web: "free-trial-specs/specs/payment/FT-042-checkout/bdd/web/FT-042-UC1-checkout-web.feature"
23
- ```
24
-
25
- **Test plan từ BDD BE (7 scenarios):**
26
-
27
- | # | Scenario | Input | Expected |
28
- |---|---|---|---|
29
- | 1 | Checkout thành công | Cart đủ hàng, card valid | 201 + order_id |
30
- | 2 | Cart rỗng | Không có items | 400 EMPTY_CART |
31
- | 3 | Hết hàng | item_id đã sold out | 409 OUT_OF_STOCK |
32
- | 4 | Card bị từ chối | card number test declined | 402 PAYMENT_DECLINED |
33
- | 5 | Timeout payment gateway | mock timeout | 504 + order status PENDING |
34
- | 6 | Giới hạn thanh toán | amount > 10,000,000 VND | 400 LIMIT_EXCEEDED |
35
- | 7 | Session hết hạn | expired token | 401 UNAUTHORIZED |
36
-
37
- ---
38
-
39
- ## Tình huống 2: PRD thay đổi giữa sprint
40
-
41
- **Bối cảnh:** Đang test FT-042 thì PO update PRD v1.0 → v1.1 (giới hạn từ 5tr → 10tr).
42
-
43
- ```bash
44
- git pull && git submodule update --remote --recursive
45
- /generate-spec-manifest
46
- # spec-manifest.yaml: FT-042 prd_version: "1.1"
47
- # FT-042 Changelog:
48
- # v1.1 | 2026-06-05 | BR7: payment limit thay đổi 5,000,000 → 10,000,000
49
- ```
50
-
51
- **Cập nhật test case:**
52
- ```
53
- Test case 6 cũ: amount > 5,000,000 → 400 LIMIT_EXCEEDED ← STALE
54
- Test case 6 mới: amount > 10,000,000 → 400 LIMIT_EXCEEDED ← theo v1.1
55
-
56
- Thêm test case mới:
57
- Test case 6b: amount = 9,999,999 → 201 OK (boundary case — giờ pass)
58
- Test case 6c: amount = 10,000,001 → 400 LIMIT_EXCEEDED
59
- ```
60
-
61
- > Nếu Dev chưa update code theo v1.1 → test fail vì code vẫn dùng limit 5tr → báo Dev, không phải bug.
62
-
63
- ---
64
-
65
- ## Tình huống 3: Test BE và Web cùng 1 feature
66
-
67
- **Bối cảnh:** FT-001 Login có BDD cho cả BE (API) và Web (UI).
68
-
69
- **BE test** — đọc `bdd.be` (System BDD) + `tech_docs.be`:
70
-
71
- ```
72
- Endpoint: POST /api/v1/auth/login
73
- Test tool: Postman / k6 / Jest supertest
74
-
75
- Test cases từ BDD System (cho BE):
76
- ✅ SC1: Valid credentials → 200 + JWT
77
- ✅ SC2: Wrong password → 401 (message generic)
78
- ✅ SC3: 5 failures → 423 + retry_after
79
- ✅ SC4: Locked account → 423
80
- ✅ SC5: Email không tồn tại → 404 (message = 401 message)
81
- ```
82
-
83
- **Web test** — đọc `bdd.web` + `tech_docs.web`:
84
-
85
- ```
86
- Tool: Playwright
87
-
88
- Test cases từ BDD Web:
89
- ✅ SC1: Điền đúng → redirect dashboard
90
- ✅ SC2: Sai password → toast error, password cleared
91
- ✅ SC3: 5 lần sai → form disabled + countdown timer
92
- ✅ SC4: "Quên mật khẩu?" link visible sau 3 lần sai
93
- ✅ SC5: Session expired → redirect về login với message
94
- ```
95
-
96
- **Cross-check quan trọng:** BE trả `retry_after: 1800` → Web hiển thị countdown `29:59`. Nếu Web không đọc đúng header → bug.
97
-
98
- ---
99
-
100
- ## Tình huống 4: Feature chưa có BDD
101
-
102
- **Manifest báo:**
103
- ```
104
- ⚠️ 1 PRDs with no matching BDD:
105
- - FT-055 (notification) — run /generate-bdd first
106
- ```
107
-
108
- **Xử lý:**
109
- ```
110
- Không tự gen BDD — đó là việc của Dev.
111
-
112
- 1. PRD có status: approved nhưng chưa có BDD → báo Dev lead
113
- PRD còn draft → chờ PO approve trước
114
-
115
- 2. Nếu bị yêu cầu test mà chưa có BDD:
116
- → Test dựa trên PRD AC trực tiếp
117
- → Ghi chú rõ trong test report: "Tested against PRD AC, no BDD available"
118
- → Không thể trace chi tiết → coverage thấp hơn
119
-
120
- 3. Sau khi Dev gen BDD → refresh manifest → test lại đầy đủ
121
- ```
122
-
123
- ---
124
-
125
- ## Tình huống 5: Regression testing sau merge lớn
126
-
127
- **Bối cảnh:** Dev merge refactor module Auth (đổi tên `AuthService` → `IdentityService`).
128
-
129
- ```bash
130
- git pull && git submodule update --remote --recursive
131
- /generate-spec-manifest
132
- ```
133
-
134
- **Xác định scope regression từ spec-manifest:**
135
-
136
- ```
137
- 1. Domain bị ảnh hưởng: auth
138
- 2. Tất cả features có domain: auth:
139
- - FT-001 (login), FT-003 (register), FT-007 (password reset), FT-012 (2FA)
140
-
141
- 3. Features khác có @trace.module: IdentityService:
142
- → Grep trong tech_docs: "IdentityService"
143
- → FT-019 (profile) cũng phụ thuộc vào IdentityService
144
-
145
- Regression scope: FT-001, FT-003, FT-007, FT-012, FT-019
146
- ```
147
-
148
- ---
149
-
150
- ## Tình huống 6: Test feature multi-service (BE + Web + App)
151
-
152
- **Bối cảnh:** FT-042 Checkout có cả BE API, Web UI, và App UI.
153
-
154
- ```yaml
155
- FT-042:
156
- domain: payment
157
- status: approved
158
- bdd:
159
- be: "free-trial-specs/specs/payment/FT-042-checkout/bdd/system/FT-042-UC1-checkout-system.feature"
160
- web: "free-trial-specs/specs/payment/FT-042-checkout/bdd/web/FT-042-UC1-checkout-web.feature"
161
- app: "free-trial-specs/specs/payment/FT-042-checkout/bdd/app/FT-042-UC1-checkout-app.feature"
162
- ```
163
-
164
- **Test strategy:**
165
-
166
- ```
167
- Layer 1 — BE API:
168
- → Test /api/v1/checkout endpoint isolated
169
- → Tool: Postman hoặc Jest supertest
170
-
171
- Layer 2 — Web E2E:
172
- → Tool: Playwright
173
- → Flow: Cart → Checkout page → Payment form → Order confirmation
174
-
175
- Layer 3 — App E2E:
176
- → Tool: Maestro / Detox
177
- → Flow: Cart screen → Checkout → Payment → Success screen
178
-
179
- Layer 4 — Cross-layer:
180
- → Web checkout → kiểm tra order trong BE database
181
- → App checkout → cùng order visible trong Web dashboard
182
- ```
183
-
184
- ---
185
-
186
- ← [Đọc Spec Chain](reading-specs.md) · Tiếp theo: [Báo cáo bug](bug-reporting.md)
@@ -1,130 +0,0 @@
1
- [📚 Docs](../../README.md) › [Guides](../README.md) › [Tester](README.md) › Spec Manifest & Setup
2
-
3
- # Spec Manifest & Setup
4
-
5
- ## Spec-Manifest Là Gì Và Tại Sao Cần
6
-
7
- Trong umbrella repo (có `spec_source`), **mọi spec đều nằm trong spec submodule** — gom theo feature-package: mỗi PRD có một thư mục `specs/{domain}/{prd-slug}/` chứa tất cả artifact (`{TICKET-ID}-{prd-slug}.md`, `bdd/{platform}/`, `tech-docs/`, `design-spec/`), trải trên nhiều domain:
8
-
9
- ```
10
- free-trial-umbrella/ ← umbrella (Claude Code mở ở đây)
11
- ├── free-trial-specs/ ← SPEC submodule — TẤT CẢ spec ở đây
12
- │ └── specs/
13
- │ └── auth/FT-001-login/ ← feature-package (1 PRD = 1 thư mục)
14
- │ ├── {TICKET-ID}-{prd-slug}.md ← PRD
15
- │ ├── design-spec/... ← Design Spec
16
- │ ├── bdd/system/... ← BDD System (BE)
17
- │ ├── bdd/web/... ← BDD Web (FE)
18
- │ ├── bdd/app/... ← BDD App
19
- │ └── tech-docs/... ← Tech Docs (1 doc full-stack/PRD: API contract + client design)
20
- ├── free-trial-be/ (chỉ code) ← SERVICE submodule
21
- └── free-trial-web/ (chỉ code) ← SERVICE submodule
22
- ```
23
-
24
- Tester's agent không biết domain nào / file nào ứng với TICKET-ID → cần một **index file** để tra cứu. *(Chỉ khi KHÔNG có `spec_source` thì BDD mới rải theo từng service submodule.)*
25
-
26
- `spec-manifest.yaml` là file được gen tự động, ánh xạ TICKET-ID → tất cả file liên quan:
27
-
28
- ```yaml
29
- features:
30
- FT-001:
31
- domain: auth
32
- status: approved
33
- prd: "specs/auth/FT-001-login/FT-001-login.md"
34
- pdd: "specs/product-definition/auth/FT-001-def.md"
35
- tech_docs:
36
- be: "free-trial-specs/specs/auth/FT-001-login/tech-docs/FT-001-UC1-auth-api.md"
37
- web: "free-trial-specs/specs/auth/FT-001-login/tech-docs/FT-001-UC1-login-web.md"
38
- bdd:
39
- be: "free-trial-specs/specs/auth/FT-001-login/bdd/system/FT-001-UC1-login-system.feature"
40
- web: "free-trial-specs/specs/auth/FT-001-login/bdd/web/FT-001-UC1-login-web.feature"
41
- ```
42
-
43
- **Quan trọng:**
44
- - File này **không commit vào git** (gitignored) — gen local mỗi khi cần
45
- - Luôn `git pull` trước khi gen để có submodule mới nhất
46
- - Chỉ test các feature có `status: approved` — draft PRD chưa được approve
47
- - Nếu nhiều người gen cùng lúc → kết quả **giống nhau** (deterministic) — không conflict
48
- - Khi PO cập nhật PRD hoặc BDD → re-run `/generate-spec-manifest` để manifest phản ánh nội dung mới
49
-
50
- ## Setup Tester Agent
51
-
52
- ### Lần đầu tiên
53
-
54
- ```bash
55
- # 1. Clone umbrella repo (nếu chưa có)
56
- git clone {umbrella-repo-url} free-trial-spec
57
- cd free-trial-spec
58
-
59
- # 2. Init tất cả submodules
60
- git submodule update --init --recursive
61
-
62
- # 3. Mở Claude Code tại umbrella root
63
- # QUAN TRỌNG: mở tại free-trial-spec/, không phải free-trial-tests/
64
- ```
65
-
66
- ### Trước mỗi test sprint
67
-
68
- ```bash
69
- # Cập nhật tất cả submodules về commit mới nhất
70
- git pull
71
- git submodule update --remote --recursive
72
-
73
- # Gen manifest
74
- /generate-spec-manifest
75
- # → viết spec-manifest.yaml tại free-trial-spec/ root
76
- ```
77
-
78
- ### Cấu hình tester agent đọc manifest
79
-
80
- Trong tester's agent config (hoặc system prompt), thêm:
81
-
82
- ```
83
- Trước khi test bất kỳ feature nào:
84
- 1. Đọc spec-manifest.yaml tại project root
85
- 2. Lookup TICKET-ID → lấy paths của prd, bdd, tech_docs
86
- 3. Chỉ test features có status: approved
87
- 4. Đọc PRD trước để hiểu business context
88
- 5. Đọc BDD để biết scenarios cần cover
89
- ```
90
-
91
- ## Living Docs Panel (umbrella mode)
92
-
93
- Khi làm việc với umbrella repo, VS Code Living Docs panel cần được đồng bộ trước khi xem (chạy `/sync` hoặc `/validate-traces`).
94
-
95
- **Report canonical (Living Docs):** `{spec_source}/.living-docs/trace-report.json` + bản mirror TSV — nằm trong **spec module** (gitignored, regenerate mỗi lần `/sync` hoặc `/validate-traces`).
96
-
97
- **Panel mirror:** `./.trace` của workspace hiện tại — giữ panel **không bị trống** kể cả khi mở Claude Code bên trong một service submodule đơn lẻ.
98
-
99
- ```bash
100
- # Chạy sau mỗi codegen session — hoặc khi cần refresh trạng thái coverage
101
- /sync # hoặc /validate-traces
102
-
103
- # → Đọc TSVs từ MỘT chỗ: {spec_source}/.trace/ (mỗi scenario mang @trace.service)
104
- # → Ghi canonical: {spec_source}/.living-docs/trace-report.json (+ TSV mirror)
105
- # → Ghi panel mirror: ./.trace (workspace hiện tại — panel luôn có data)
106
- # → Panel cập nhật ngay sau khi lệnh hoàn tất
107
- ```
108
-
109
- Panel hiển thị trạng thái cross-service:
110
-
111
- | Cột | Ý nghĩa |
112
- |-----|---------|
113
- | PRDs | Số PRD đã approve / tổng |
114
- | UCs | Số Use Cases đã implement |
115
- | Code Cov. | % scenarios có code |
116
- | Test Cov. | % scenarios có test |
117
- | DRIFT | Spec thay đổi sau khi gen code |
118
- | GAP | Code có nhưng chưa có test |
119
- | dev_selftest | Dev đã chạy self-check: `pass` / `fail` / `not_run` |
120
- | qc_status | Kết quả QC chính thức: `pass` / `fail` / `skip` / `not_run` |
121
-
122
- > **`dev_selftest`:** tín hiệu cho QC thấy dev đã tự chạy self-check. **Không phải** coverage chính thức — đó là `qc_status`.
123
- >
124
- > **`qc_status`:** kết quả pipeline QC chính thức (`/qc-run-test`). Dashboard hiển thị hai cột cạnh nhau để phân biệt rõ hai luồng.
125
-
126
- > **Prerequisite:** umbrella cần `setup.spec_source` trỏ đúng spec submodule → trace TSV authoritative dồn về `{spec_source}/.trace/`. Nếu thiếu → panel trống → báo Dev team. (Chỉ chế độ không có `spec_source` mới cần `paths.trace_dir` per-service.)
127
-
128
- ---
129
-
130
- ← [Tester Guide](README.md) · Tiếp theo: [Workflow](workflow.md)
@@ -1,31 +0,0 @@
1
- [📚 Docs](../../README.md) › [Guides](../README.md) › [Tester](README.md) › Checklist Test Pass
2
-
3
- # Checklist Trước Khi Báo "test pass"
4
-
5
- **Spec & coverage:**
6
- - [ ] Tất cả BDD scenarios đã được cover (happy path + edge + error)
7
- - [ ] Mọi AC trong PRD đã được verify
8
- - [ ] Manifest version khớp với PRD version đang deploy
9
- - [ ] Không có scenarios bị skip mà không có lý do ghi chú
10
-
11
- **Môi trường:**
12
- - [ ] Test đã chạy trên đúng môi trường (staging, không phải local dev)
13
- - [ ] Cross-service flows đã được verify (nếu feature span nhiều service)
14
-
15
- **TSV & Living Docs:**
16
- - [ ] `/qc-run-test` đã chạy → `qc_status` đã ghi vào `{spec_source}/.trace/{UC-ID}-{platform}.tsv` (spec repo — một chỗ)
17
- - [ ] TSV đã được commit vào **spec repo** (1 tầng, giống `feedback/`) + push — KHÔNG commit vào service submodule
18
- - [ ] `/validate-traces` (hoặc `/sync`) đã chạy → Living Docs panel hiển thị `qc_status: pass`
19
- - [ ] Không còn scenario nào `qc_status: not_run` trong UC đang test
20
- - [ ] Nếu có `qc_status: fail` → đã `/report-bug` kèm path evidence (`reports/<feature>/report.html`)
21
-
22
- ## Xem Thêm
23
-
24
- - [Guide › QC Automation](qc-automation.md) — pipeline `/qc-*` chi tiết, `qc_status`, stack `qc-playwright`
25
- - [Operations › Bug Flow](../../04-operations/bug-flow.md) — flow phối hợp Tester ↔ Dev ↔ PO
26
- - [Concepts › Traceability](../../03-concepts/traceability.md) — trace TSV, dev_selftest vs qc_status
27
- - [Reference › Commands](../../05-reference/commands.md) — danh mục đầy đủ mọi command
28
-
29
- ---
30
-
31
- ← [Báo cáo bug](bug-reporting.md)
@@ -1,77 +0,0 @@
1
- [📚 Docs](../../README.md) › [Guides](../README.md) › [Tester](README.md) › Workflow
2
-
3
- # Workflow Cơ Bản
4
-
5
- ```
6
- Nhận task: "Test FT-042 — Checkout flow"
7
-
8
-
9
- git pull && git submodule update --remote --recursive
10
-
11
-
12
- /generate-spec-manifest
13
- → spec-manifest.yaml được refresh
14
-
15
-
16
- Lookup FT-042 trong spec-manifest.yaml
17
- → status: approved? ✅ (nếu draft → dừng, báo PO)
18
- → ghi lại paths (tất cả đều nằm trong submodule):
19
- prd: {spec_source}/specs/{domain}/{prd-slug}/{TICKET-ID}-{prd-slug}.md
20
- bdd.system: {spec_source}/specs/{domain}/{prd-slug}/bdd/system/FT-042-*.feature
21
- bdd.web: {spec_source}/specs/{domain}/{prd-slug}/bdd/web/FT-042-*.feature
22
- tech_docs.be: {spec_source}/specs/{domain}/{prd-slug}/tech-docs/FT-042-*.md
23
- tech_docs.fe: {spec_source}/specs/{domain}/{prd-slug}/tech-docs/FT-042-*-tech-design-web.md
24
-
25
-
26
- Đọc PRD tại path manifest.prd
27
- → file nằm trong SPEC submodule (shared — PO viết)
28
- → hiểu AC, UC, BR — đây là "ground truth"
29
-
30
-
31
- Đọc BDD tại path manifest.bdd.be / bdd.web
32
- → file nằm trong SPEC submodule (PO gen từ PRD — tất cả BDD web/app/system ở spec repo)
33
- → mỗi Scenario = 1 test case cần cover
34
- → BE có BDD riêng (system/), Web có BDD riêng (web/), App có BDD riêng (app/)
35
-
36
-
37
- Đọc Tech Docs tại path manifest.tech_docs.be / tech_docs.web
38
- → file nằm trong SPEC submodule (shared — Dev gen, SA sign-off)
39
- → BE: API endpoints, request/response schema, error codes
40
- → Web: screen flow, component states
41
-
42
-
43
- Chạy QC automation pipeline (6 bước — ghi kết quả chính thức vào TSV)
44
-
45
- ├─ /qc-analyze {UC-ID} → 2 file: REQUIREMENT_ANALYSIS.md + DOC_GAPS.md
46
- ├─ /qc-plan {UC-ID} → TEST_PLAN.md (risk + plan + questions-for-dev)
47
- ├─ /qc-design-test {UC-ID} → test-cases/*.Test.md
48
- │ ⌙ artifact phân tích/thiết kế → {qc_dir}/{UC-ID}/ (mặc định docs/, VISIBLE)
49
- ├─ /qc-review {UC-ID} → review test design trước khi chạy
50
- ├─ /qc-run-test {UC-ID} → sinh + chạy pytest-playwright
51
- │ → ghi qc_status (pass/fail/skip) per scenario
52
- │ → vào {spec_source}/.trace/{domain}/{prd-slug}/{UC-ID}-{platform}.tsv ← AUTHORITATIVE (spec repo)
53
- └─ /qc-report {UC-ID} → report pytest-html + Playwright trace evidence
54
- → reports/<feature>/report.html ← LOCAL, gitignored
55
-
56
-
57
- Commit TSV vào spec repo (1 tầng — trace dồn về specs, giống feedback/)
58
- cd {spec_source}
59
- git add .trace/{domain}/{prd-slug}/{UC-ID}-{platform}.tsv
60
- git commit -m "qc: record qc_status for {UC-ID} — pass/fail"
61
- git push
62
-
63
-
64
- /validate-traces (hoặc /sync)
65
- → đọc {spec_source}/.trace/ (một chỗ) → Living Docs cập nhật cột qc_status
66
-
67
-
68
- Kết quả:
69
- qc_status: pass → done, Living Docs phản ánh coverage chính thức
70
- qc_status: fail → /report-bug với BDD scenario + AC bị vi phạm
71
- đính kèm path evidence: reports/<feature>/report.html
72
- (evidence local — share file hoặc upload riêng nếu cần)
73
- ```
74
-
75
- ---
76
-
77
- ← [Spec Manifest & Setup](spec-manifest.md) · Tiếp theo: [Đọc Spec Chain](reading-specs.md)
@@ -1,20 +0,0 @@
1
- [📚 Docs](../README.md) › Concepts
2
-
3
- # Concepts
4
-
5
- Hiểu **cách framework được xây dựng và vận hành** — kiến trúc nhiều lớp, pipeline các phase, và hệ thống traceability. Đọc section này khi bạn muốn biết *vì sao* mọi thứ hoạt động như vậy, không chỉ *cách dùng* lệnh.
6
-
7
- ## Mục lục (this section)
8
-
9
- - [architecture.md](architecture.md) — 6 lớp (Protection → Output), module plug-in system, build pipeline (`*.tmpl` → `*.md` → `core/`), directory map, sub-agent orchestration, hook data-protection.
10
- - [pipeline.md](pipeline.md) — các phase Discovery → PRD → Design-Spec → BDD → Tech-Docs → Code → Dev self-check → QC automation → Tester feedback; review gates; và step-architecture model (gate / context-loader / spawn-agent / report-footer) đằng sau mỗi command.
11
- - [traceability.md](traceability.md) — `@trace.*` tags, trace TSV, hai tín hiệu `dev_selftest` vs `qc_status`, Living Docs (canonical trong spec-module + panel mirror), và `/validate-traces`.
12
- - [mechanisms-explained.md](mechanisms-explained.md) — giải thích các **cơ chế** framework bằng **ngôn ngữ dễ hiểu** + ví von đời thường (bổ sung cho các trang trên; ưu tiên trực giác).
13
-
14
- ## Đọc gì trước?
15
-
16
- 1. Muốn cái nhìn tổng thể? → [architecture.md](architecture.md) — file "đọc trước khi đọc bất kỳ file chi tiết nào".
17
- 2. Muốn hiểu luồng làm việc end-to-end? → [pipeline.md](pipeline.md).
18
- 3. Muốn hiểu coverage / drift / Living Docs? → [traceability.md](traceability.md).
19
-
20
- > Tra cứu chi tiết schema và module thì sang [05 · Reference](../05-reference/) — [trace-schema.md](../05-reference/trace-schema.md) và [modules.md](../05-reference/modules.md).