@educa-corp/sdd-framework 0.4.2 → 0.6.0
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/bin/build.js +113 -19
- package/bin/gate-trace.js +464 -0
- package/bin/index.js +418 -146
- package/bin/lint-trace.js +602 -0
- package/bin/self-check.js +499 -6
- package/bin/trace-schema.json +1449 -692
- package/commands/debug.md +123 -510
- package/commands/debug.tmpl +3 -0
- package/commands/define-product.md +86 -509
- package/commands/dev-gen-test.md +120 -516
- package/commands/dev-run-test.md +120 -516
- package/commands/dev-smoke-test.md +86 -509
- package/commands/extend-prd.md +486 -0
- package/commands/extend-prd.tmpl +273 -0
- package/commands/fix-bug.md +152 -515
- package/commands/generate-architecture.md +94 -514
- package/commands/generate-architecture.tmpl +3 -0
- package/commands/generate-bdd.md +138 -519
- package/commands/generate-bdd.tmpl +18 -3
- package/commands/generate-code.md +156 -523
- package/commands/generate-code.tmpl +36 -7
- package/commands/generate-design-spec.md +86 -509
- package/commands/generate-prd.md +114 -509
- package/commands/generate-prd.tmpl +28 -0
- package/commands/generate-spec-manifest.md +86 -509
- package/commands/generate-tech-docs.md +86 -509
- package/commands/learn.md +172 -495
- package/commands/learn.tmpl +70 -3
- package/commands/map-testids.md +86 -509
- package/commands/propose-scenario.md +136 -508
- package/commands/propose-scenario.tmpl +52 -1
- package/commands/qc-analyze.md +86 -509
- package/commands/qc-design-test.md +87 -509
- package/commands/qc-design-test.tmpl +1 -0
- package/commands/qc-plan.md +86 -509
- package/commands/qc-report.md +86 -509
- package/commands/qc-review.md +86 -509
- package/commands/qc-run-test.md +133 -517
- package/commands/qc-run-test.tmpl +13 -1
- package/commands/refine-prd.md +99 -519
- package/commands/refine-prd.tmpl +3 -0
- package/commands/report-bug.md +86 -509
- package/commands/review-code.md +127 -513
- package/commands/review-code.tmpl +7 -3
- package/commands/review-context.md +96 -515
- package/commands/review-context.tmpl +6 -2
- package/commands/review-tech-docs.md +90 -510
- package/commands/review-tech-docs.tmpl +3 -0
- package/commands/setup-ai-first.md +166 -137
- package/commands/setup-ai-first.tmpl +72 -0
- package/commands/sync.md +86 -118
- package/commands/sync.tmpl +84 -16
- package/commands/update-framework.md +16 -102
- package/commands/update-framework.tmpl +14 -0
- package/commands/validate-traces.md +458 -531
- package/commands/validate-traces.tmpl +381 -31
- package/core/FRAMEWORK_VERSION +1 -1
- package/core/README.md +20 -0
- package/core/commands/debug.md +123 -510
- package/core/commands/define-product.md +86 -509
- package/core/commands/dev-gen-test.md +120 -516
- package/core/commands/dev-run-test.md +120 -516
- package/core/commands/dev-smoke-test.md +86 -509
- package/core/commands/extend-prd.md +486 -0
- package/core/commands/fix-bug.md +152 -515
- package/core/commands/generate-architecture.md +94 -514
- package/core/commands/generate-bdd.md +138 -519
- package/core/commands/generate-code.md +156 -523
- package/core/commands/generate-design-spec.md +86 -509
- package/core/commands/generate-prd.md +114 -509
- package/core/commands/generate-spec-manifest.md +86 -509
- package/core/commands/generate-tech-docs.md +86 -509
- package/core/commands/learn.md +172 -495
- package/core/commands/map-testids.md +86 -509
- package/core/commands/propose-scenario.md +136 -508
- package/core/commands/qc-analyze.md +86 -509
- package/core/commands/qc-design-test.md +87 -509
- package/core/commands/qc-plan.md +86 -509
- package/core/commands/qc-report.md +86 -509
- package/core/commands/qc-review.md +86 -509
- package/core/commands/qc-run-test.md +133 -517
- package/core/commands/refine-prd.md +99 -519
- package/core/commands/report-bug.md +86 -509
- package/core/commands/review-code.md +127 -513
- package/core/commands/review-context.md +96 -515
- package/core/commands/review-tech-docs.md +90 -510
- package/core/commands/setup-ai-first.md +166 -137
- package/core/commands/sync.md +86 -118
- package/core/commands/update-framework.md +16 -102
- package/core/commands/validate-traces.md +458 -531
- package/core/hooks/data-guard.js +174 -83
- package/core/hooks/settings.json +2 -1
- package/core/rules/workflow.md +48 -4
- package/core/steps/capture-lesson.md +34 -1
- package/core/steps/context-loader.md +24 -3
- package/core/steps/gate.md +92 -35
- package/core/steps/report-footer.md +26 -2
- package/core/steps/trace-mirror.md +34 -7
- package/core/templates/README.md +24 -1
- package/core/templates/ci/trace-gate.yml +146 -0
- package/core/templates/feature.template +1 -1
- package/core/templates/hooks/pre-push +61 -0
- package/docs/01-getting-started/installation.md +18 -1
- package/docs/01-getting-started/what-is-sdd.md +4 -2
- package/docs/02-concepts/architecture.md +48 -5
- package/docs/02-concepts/pipeline-steps/02-specification.md +39 -3
- package/docs/02-concepts/pipeline-steps/04-bdd.md +24 -2
- package/docs/02-concepts/pipeline-steps/05-tech-docs.md +18 -1
- package/docs/02-concepts/pipeline-steps/06-code.md +35 -4
- package/docs/02-concepts/pipeline-steps/09-validate-traces.md +137 -12
- package/docs/02-concepts/pipeline-steps/10-feedback-loop.md +59 -3
- package/docs/02-concepts/roles-and-hitl.md +1 -1
- package/docs/02-concepts/traceability.md +183 -117
- package/docs/03-guides/architect.md +63 -0
- package/docs/03-guides/developer.md +20 -4
- package/docs/03-guides/product-owner.md +72 -68
- package/docs/03-guides/tester-qa.md +81 -70
- package/docs/04-reference/commands.md +134 -105
- package/docs/04-reference/configuration.md +146 -94
- package/docs/04-reference/model-selection.md +32 -19
- package/docs/04-reference/trace-schema.md +26 -9
- package/docs/explain/02-generate-prd.md +80 -78
- package/docs/explain/02b-extend-prd.md +125 -0
- package/docs/explain/03-refine-prd.md +86 -86
- package/docs/explain/04-review-context.md +18 -1
- package/docs/explain/06-generate-bdd.md +23 -0
- package/docs/explain/08-review-tech-docs.md +20 -5
- package/docs/explain/10-review-code.md +36 -2
- package/docs/explain/19-qc-run-test.md +87 -67
- package/docs/explain/21-validate-traces.md +75 -68
- package/docs/explain/23-fix-bug.md +19 -3
- package/docs/explain/26-propose-scenario.md +70 -63
- package/docs/explain/27-learn.md +5 -3
- package/docs/explain/README.md +135 -134
- package/hooks/data-guard.js +174 -83
- package/hooks/settings.json +2 -1
- package/package.json +53 -50
- package/rules/workflow.md +48 -4
- package/steps/capture-lesson.md +34 -1
- package/steps/context-loader.md +24 -3
- package/steps/gate.md +92 -35
- package/steps/report-footer.md +26 -2
- package/steps/trace-mirror.md +34 -7
- package/templates/README.md +24 -1
- package/templates/ci/trace-gate.yml +146 -0
- package/templates/feature.template +1 -1
- package/templates/hooks/pre-push +61 -0
- package/scripts/init.sh +0 -49
- package/scripts/upgrade.sh +0 -94
|
@@ -54,7 +54,16 @@ Ghi vào `{paths.prd_change_requests_dir}/{UC-ID}-{slug}.md` (phân giải về
|
|
|
54
54
|
|
|
55
55
|
**Requested behavior:** {description}
|
|
56
56
|
**Suggested AC (draft cho PO):** "{draft AC text}"
|
|
57
|
-
**Route to PO:**
|
|
57
|
+
**Route to PO:**
|
|
58
|
+
1. Đặt `Status: accepted` trong file này nếu nhận yêu cầu.
|
|
59
|
+
2. Chạy **`/extend-prd {prd_path}`** — nó tự nhặt request `accepted`, hỏi PO chốt AC/BR đúng
|
|
60
|
+
tầng, đánh số **nối tiếp** (không đụng ID cũ), bump version + ghi changelog nêu rõ scope,
|
|
61
|
+
rồi đóng dấu `incorporated` + chuyển file này sang `archived/`.
|
|
62
|
+
3. `/refine-prd` → `/review-context` → PO đặt `approved` → `/generate-bdd` **chỉ cho UC MỚI**.
|
|
63
|
+
|
|
64
|
+
⚠️ **KHÔNG dùng `/refine-prd` để thêm AC mới.** Nó chỉ áp findings từ review và có luật cấm
|
|
65
|
+
đụng section nào không được finding tham chiếu. **KHÔNG dùng `/generate-prd`** — nó từ chối
|
|
66
|
+
chạy trên PRD đã có (ghi đè sẽ mất changelog + đánh số lại BR).
|
|
58
67
|
```
|
|
59
68
|
Rồi sang Step 5 (handoff áp dụng cho file này luôn). Skip Step 3–4 (không có BDD scenario cho Case B).
|
|
60
69
|
|
|
@@ -117,6 +126,14 @@ git push # → PO/Dev thấy nó ở lần /sync tiếp the
|
|
|
117
126
|
|
|
118
127
|
{{include:steps/report-footer.md}}
|
|
119
128
|
|
|
129
|
+
> **Hai khối report — chọn theo case đã chốt ở Step 2. In ĐÚNG MỘT khối.**
|
|
130
|
+
> Case A và Case B tạo ra hai loại artifact khác nhau, ở hai thư mục khác nhau, và đi hai
|
|
131
|
+
> đường xử lý khác nhau. In khối Case A cho một request Case B là báo cáo sai việc vừa làm:
|
|
132
|
+
> nó chỉ sai thư mục, in một scenario không tồn tại, và bảo người dùng chờ `/generate-bdd`
|
|
133
|
+
> nhặt — trong khi lệnh đó **không bao giờ** đọc `prd-change-requests/`.
|
|
134
|
+
|
|
135
|
+
### Khối Case A — scenario proposal *(behavior nằm trong một AC có sẵn)*
|
|
136
|
+
|
|
120
137
|
```
|
|
121
138
|
📝 Scenario proposal → {paths.bdd_proposals_dir}/{UC-ID}-{slug}.md
|
|
122
139
|
|
|
@@ -149,3 +166,37 @@ Status : ✅ Complete (read-only trên BDD canonical — chỉ proposal)
|
|
|
149
166
|
Output Artifacts: created {paths.bdd_proposals_dir}/{UC-ID}-{slug}.md (pushed to shared spec repo)
|
|
150
167
|
Next : PO/Dev thấy nó ở lần /sync tiếp theo → review & promote
|
|
151
168
|
```
|
|
169
|
+
|
|
170
|
+
### Khối Case B — PRD change request *(requirement mới, không AC nào phủ)*
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
📋 PRD change request → {paths.prd_change_requests_dir}/{UC-ID}-{slug}.md
|
|
174
|
+
|
|
175
|
+
UC : {UC-ID} ({active_platform})
|
|
176
|
+
Loại : requirement MỚI — không AC nào phủ (KHÔNG phải coverage gap)
|
|
177
|
+
PRD : {prd_path} (v{prd_version})
|
|
178
|
+
Source : {BUG-ID nếu có | quan sát tester/QC}
|
|
179
|
+
Behavior : {description}
|
|
180
|
+
Draft AC : "{draft AC text}" ← đề xuất cho PO cân nhắc, PO chốt lại
|
|
181
|
+
|
|
182
|
+
⚠️ Lệnh này KHÔNG sinh BDD scenario nào — scenario chưa có AC để trace tới.
|
|
183
|
+
Nó chỉ xuất hiện SAU KHI PO đưa requirement vào PRD rồi chạy lại /generate-bdd.
|
|
184
|
+
Và vì chưa có AC, KHÔNG cờ trace nào bắt được thiếu sót này: theo mọi thước đo
|
|
185
|
+
coverage hiện tại thì hành vi bạn vừa phát hiện không tồn tại.
|
|
186
|
+
|
|
187
|
+
Để PO xử lý:
|
|
188
|
+
[ ] Đọc request, quyết định nhận hay không
|
|
189
|
+
[ ] Nhận → đặt Status: accepted trong file request
|
|
190
|
+
[ ] /extend-prd {prd-file} ← nhặt request, chốt AC/BR với PO, đánh số nối tiếp,
|
|
191
|
+
bump version + changelog, tự đóng dấu incorporated
|
|
192
|
+
[ ] /refine-prd → /review-context {prd-file} ← soi + kiểm phần vừa thêm
|
|
193
|
+
[ ] PO đặt Status: approved → /generate-bdd {prd-file} (CHỈ UC mới) → /generate-code
|
|
194
|
+
|
|
195
|
+
Handoff : {✅ committed + pushed to spec repo | ⚠️ chạy git command ở trên / mở PR}
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
Status : ✅ Complete (không đụng BDD — đây là yêu cầu đổi tài liệu, không phải scenario)
|
|
199
|
+
Output Artifacts: created {paths.prd_change_requests_dir}/{UC-ID}-{slug}.md (pushed to shared spec repo)
|
|
200
|
+
Next : PO thấy nó ở lần /sync tiếp theo. Nếu chưa xử, /validate-traces sẽ nhắc lại
|
|
201
|
+
(kèm số ngày chờ) mỗi lần chạy, chừng nào Status còn Open.
|
|
202
|
+
```
|