@educa-corp/sdd-framework 0.9.1 → 0.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.
Files changed (69) hide show
  1. package/bin/qc-base-map.json +595 -0
  2. package/bin/self-check.js +146 -0
  3. package/core/FRAMEWORK_VERSION +1 -1
  4. package/core/commands/propose-scenario.md +1 -1
  5. package/core/commands/qc-analyze.md +398 -37
  6. package/core/commands/qc-design-test.md +141 -2
  7. package/core/commands/qc-plan.md +159 -10
  8. package/core/commands/qc-review.md +134 -1
  9. package/core/commands/qc-run-test.md +135 -2
  10. package/core/commands/refine-prd.md +47 -20
  11. package/core/commands/report-bug.md +1 -1
  12. package/core/commands/review-context.md +27 -1
  13. package/core/modules/qc-playwright/stack-profile.yaml +3 -3
  14. package/core/skills/qc/qa-analyst/DOC_GAP.template.md +147 -0
  15. package/core/skills/qc/qa-analyst/acceptance-criteria.md +5 -3
  16. package/core/skills/qc/qa-analyst/business-rules.md +39 -5
  17. package/core/skills/qc/qa-analyst/data-flow.md +6 -4
  18. package/core/skills/qc/qa-analyst/exhaustive-gap-scanner.md +174 -0
  19. package/core/skills/qc/qa-analyst/spec-breakdown.md +10 -8
  20. package/core/skills/qc/qa-analyst/spec-issue-reporter.md +112 -0
  21. package/core/skills/qc/qa-designer/e2e/journey.md +3 -3
  22. package/core/skills/qc/qa-designer/exploratory/charter.md +1 -1
  23. package/core/skills/qc/qa-designer/exploratory/explore-to-functional.md +2 -2
  24. package/core/skills/qc/qa-designer/functional/api.md +3 -3
  25. package/core/skills/qc/qa-designer/functional/gui-feature.md +3 -3
  26. package/core/skills/qc/qa-designer/functional/gui-screen.md +3 -3
  27. package/core/skills/qc/qa-designer/integration/api.md +3 -3
  28. package/core/skills/qc/qa-designer/integration/db.md +3 -3
  29. package/core/skills/qc/qa-designer/integration/gui.md +3 -3
  30. package/core/skills/qc/qa-designer/integration/kafka.md +3 -3
  31. package/core/skills/qc/qa-designer/non-functional.md +3 -3
  32. package/core/skills/qc/qa-planner/risk-model.md +106 -0
  33. package/core/skills/qc/qa-planner/test-plan.md +35 -21
  34. package/core/skills/qc/qa-reviewer/script/e2e.md +1 -1
  35. package/core/skills/qc/qa-reviewer/script/exploratory.md +1 -1
  36. package/core/skills/qc/qa-reviewer/script/functional.md +1 -1
  37. package/core/skills/qc/qa-reviewer/script/integration.md +1 -1
  38. package/core/skills/qc/qa-reviewer/script/non-functional.md +1 -1
  39. package/core/skills/qc/qa-reviewer/test-case/e2e.md +1 -1
  40. package/core/skills/qc/qa-reviewer/test-case/exploratory.md +1 -1
  41. package/core/skills/qc/qa-reviewer/test-case/functional.md +1 -1
  42. package/core/skills/qc/qa-reviewer/test-case/integration.md +2 -2
  43. package/core/skills/qc/qa-reviewer/test-case/non-functional.md +1 -1
  44. package/core/skills/qc/qa-runner/e2e.md +1 -1
  45. package/core/skills/qc/qa-runner/exploratory/session.md +2 -2
  46. package/core/skills/qc/qa-runner/functional/api.md +1 -1
  47. package/core/skills/qc/qa-runner/functional/gui-feature.md +1 -1
  48. package/core/skills/qc/qa-runner/functional/gui-screen.md +1 -1
  49. package/core/skills/qc/qa-runner/integration.md +1 -1
  50. package/core/skills/qc/qa-runner/non-functional.md +1 -1
  51. package/core/skills/qc/qa-runner/report/report.md +1 -1
  52. package/core/steps/context-loader.md +1 -1
  53. package/core/steps/gap-verify.md +231 -0
  54. package/core/steps/qc-scope.md +119 -0
  55. package/core/steps/review-fanout.md +27 -1
  56. package/core/templates/project-context.yaml +5 -3
  57. package/docs/02-concepts/pipeline-steps/08-qc-automation.md +2 -2
  58. package/docs/04-reference/commands.md +1 -1
  59. package/docs/04-reference/configuration.md +146 -146
  60. package/docs/explain/03-refine-prd.md +8 -6
  61. package/docs/explain/15-qc-analyze.md +10 -7
  62. package/docs/explain/16-qc-plan.md +3 -3
  63. package/docs/explain/17-qc-design-test.md +1 -1
  64. package/docs/plans/qc-implementation-log.md +1587 -0
  65. package/docs/plans/qc-merge-plan.md +502 -0
  66. package/docs/plans/qc-sync-command.md +359 -0
  67. package/package.json +1 -1
  68. package/scripts/migrate-qc-docs.js +261 -0
  69. package/core/skills/qc/qa-analyst/DOC_GAPS.template.md +0 -63
@@ -1,63 +0,0 @@
1
- ---
2
- version: 1.1
3
- updated: 2026-06-11
4
- ported_from: ai-automation-qc-base
5
- ---
6
-
7
- # Gap Analysis – <FEATURE>
8
-
9
- > File ghi lại các **khoảng trống của tài liệu** mà `qa-analyst` phát hiện sau khi
10
- > phân tích. Là đầu vào để hỏi dev/BA và cho `qa-planner`. Mỗi gap có ID `GAP-xx`
11
- > để business rule (BR-xx), acceptance criteria (AC-xx) và test case trace ngược về.
12
-
13
- | Trường | Giá trị |
14
- |---|---|
15
- | Feature | `<FEATURE>` |
16
- | Project / Service | `<project or service name / domain>` |
17
- | Tài liệu nguồn | `<đường dẫn / link PRD / user story>` |
18
- | Người phân tích | qa-analyst |
19
- | Ngày phân tích | `<YYYY-MM-DD>` |
20
- | Tổng số gap | `<N>` (Blocker: x · High: y · Medium: z · Low: w) |
21
- | Trạng thái chung | 🔴 Blocked / 🟡 Cần làm rõ / 🟢 Đủ rõ để thiết kế TC |
22
-
23
- ---
24
-
25
- ## Bảng Gap
26
-
27
- | ID | Loại | Mô tả gap | Vị trí (mục/nguồn) | Ảnh hưởng (chức năng / BR / AC) | Mức độ | Người trả lời | Trạng thái | Câu trả lời |
28
- |---|---|---|---|---|---|---|---|---|
29
- | GAP-01 | MISSING | … | spec §x | chức năng A / BR-02 | 🔴 Blocker | Dev/BA | Open | — |
30
- | GAP-02 | AMBIGUOUS | … | mockup màn hình Y | AC-03 | 🟠 High | BA | Open | — |
31
- | GAP-03 | CONTRADICTORY | … | §2 vs §5 | BR-04 | 🟠 High | BA | Open | — |
32
- | GAP-04 | ASSUMPTION | … (giả định AI tự đưa, cần xác nhận) | — | chức năng B | 🟡 Medium | Dev | Open | — |
33
-
34
- ### Loại gap
35
- - **MISSING** – thông tin/chức năng/field/rule chưa được mô tả.
36
- - **AMBIGUOUS** – mô tả mơ hồ, có ≥ 2 cách hiểu.
37
- - **CONTRADICTORY** – các phần tài liệu mâu thuẫn nhau.
38
- - **ASSUMPTION** – giả định do qa-analyst tự suy ra, cần dev/BA xác nhận.
39
- - **OPEN QUESTION** – câu hỏi mở cần trả lời trước khi thiết kế/triển khai.
40
-
41
- ### Mức độ
42
- 🔴 Blocker (chặn thiết kế TC) · 🟠 High · 🟡 Medium · 🟢 Low
43
-
44
- ---
45
-
46
- ## Quy ước cập nhật
47
- - `qa-analyst` tạo & điền gap khi phân tích; **không tự bịa câu trả lời** cho gap Blocker.
48
- - Khi có phản hồi dev/BA: điền cột *Câu trả lời*, đổi *Trạng thái* → `Answered`.
49
- - Còn gap 🔴 Blocker `Open` ⇒ **chưa** chuyển sang `qa-designer`; đẩy sang `qa-planner`
50
- (skill `questions-for-dev`) để chốt câu hỏi.
51
-
52
- ---
53
-
54
- ## ⚠️ Checklist bắt buộc trước khi lưu file
55
-
56
- Trước khi lưu `DOC_GAPS.md`, kiểm tra **từng hàng** trong bảng gap:
57
-
58
- - [ ] **9 cột đủ** – đúng thứ tự: `ID | Loại | Mô tả gap | Vị trí (mục/nguồn) | Ảnh hưởng (chức năng / BR / AC) | Mức độ | Người trả lời | Trạng thái | Câu trả lời`
59
- - [ ] **Cột Vị trí không rỗng** – phải có tham chiếu cụ thể đến mục trong tài liệu nguồn (vd `§3 UC4 BR25`, `Appendix B loại 7`, `§4.b Screen 3`). Đây là cột hay bị bỏ thiếu nhất → gây lệch toàn bộ cột sau.
60
- - [ ] **Cột Ảnh hưởng = BR/AC references** – KHÔNG phải mức độ severity. Ví dụ đúng: `BR25, BR26 / AC-F01-33`. Nếu thấy "Blocker" / "High" ở đây → đang bị lệch cột.
61
- - [ ] **Cột Mức độ có emoji** – bắt buộc dùng: `🔴 Blocker` / `🟠 High` / `🟡 Medium` / `🟢 Low`. Không được ghi text thuần.
62
- - [ ] **Cột Người trả lời = vai trò** (PO / BA / Dev / Design / Content / DPO / QC Lead). Nếu thấy "Open" ở đây → đang bị lệch cột.
63
- - [ ] **Cột Trạng thái = Open / Answered**. Nếu thấy "—" ở đây → đang bị lệch cột.