@educa-corp/sdd-framework 0.7.5 → 0.8.1

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 (62) 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 +260 -22
  6. package/core/commands/qc-design-test.md +1 -1
  7. package/core/commands/qc-plan.md +7 -4
  8. package/core/commands/qc-run-test.md +1 -1
  9. package/core/commands/refine-prd.md +47 -20
  10. package/core/commands/report-bug.md +1 -1
  11. package/core/commands/review-context.md +27 -1
  12. package/core/skills/qc/qa-analyst/DOC_GAP.template.md +117 -0
  13. package/core/skills/qc/qa-analyst/acceptance-criteria.md +4 -2
  14. package/core/skills/qc/qa-analyst/business-rules.md +38 -4
  15. package/core/skills/qc/qa-analyst/data-flow.md +5 -3
  16. package/core/skills/qc/qa-analyst/exhaustive-gap-scanner.md +174 -0
  17. package/core/skills/qc/qa-analyst/spec-breakdown.md +9 -7
  18. package/core/skills/qc/qa-analyst/spec-issue-reporter.md +100 -0
  19. package/core/skills/qc/qa-designer/e2e/journey.md +2 -2
  20. package/core/skills/qc/qa-designer/exploratory/charter.md +1 -1
  21. package/core/skills/qc/qa-designer/exploratory/explore-to-functional.md +1 -1
  22. package/core/skills/qc/qa-designer/functional/api.md +2 -2
  23. package/core/skills/qc/qa-designer/functional/gui-feature.md +2 -2
  24. package/core/skills/qc/qa-designer/functional/gui-screen.md +2 -2
  25. package/core/skills/qc/qa-designer/integration/api.md +2 -2
  26. package/core/skills/qc/qa-designer/integration/db.md +2 -2
  27. package/core/skills/qc/qa-designer/integration/gui.md +2 -2
  28. package/core/skills/qc/qa-designer/integration/kafka.md +2 -2
  29. package/core/skills/qc/qa-designer/non-functional.md +2 -2
  30. package/core/skills/qc/qa-planner/risk-model.md +106 -0
  31. package/core/skills/qc/qa-planner/test-plan.md +13 -10
  32. package/core/skills/qc/qa-reviewer/script/e2e.md +1 -1
  33. package/core/skills/qc/qa-reviewer/script/exploratory.md +1 -1
  34. package/core/skills/qc/qa-reviewer/script/functional.md +1 -1
  35. package/core/skills/qc/qa-reviewer/script/integration.md +1 -1
  36. package/core/skills/qc/qa-reviewer/script/non-functional.md +1 -1
  37. package/core/skills/qc/qa-reviewer/test-case/e2e.md +1 -1
  38. package/core/skills/qc/qa-reviewer/test-case/exploratory.md +1 -1
  39. package/core/skills/qc/qa-reviewer/test-case/functional.md +1 -1
  40. package/core/skills/qc/qa-reviewer/test-case/integration.md +2 -2
  41. package/core/skills/qc/qa-reviewer/test-case/non-functional.md +1 -1
  42. package/core/skills/qc/qa-runner/e2e.md +1 -1
  43. package/core/skills/qc/qa-runner/exploratory/session.md +1 -1
  44. package/core/skills/qc/qa-runner/functional/api.md +1 -1
  45. package/core/skills/qc/qa-runner/functional/gui-feature.md +1 -1
  46. package/core/skills/qc/qa-runner/functional/gui-screen.md +1 -1
  47. package/core/skills/qc/qa-runner/integration.md +1 -1
  48. package/core/skills/qc/qa-runner/non-functional.md +1 -1
  49. package/core/skills/qc/qa-runner/report/report.md +1 -1
  50. package/core/steps/gap-verify.md +231 -0
  51. package/core/steps/review-fanout.md +27 -1
  52. package/core/templates/project-context.yaml +2 -2
  53. package/docs/02-concepts/pipeline-steps/08-qc-automation.md +2 -2
  54. package/docs/04-reference/commands.md +1 -1
  55. package/docs/explain/03-refine-prd.md +88 -86
  56. package/docs/explain/15-qc-analyze.md +10 -7
  57. package/docs/explain/16-qc-plan.md +2 -2
  58. package/docs/plans/qc-implementation-log.md +1446 -0
  59. package/docs/plans/qc-merge-plan.md +502 -0
  60. package/docs/plans/qc-sync-command.md +358 -0
  61. package/package.json +1 -1
  62. package/core/skills/qc/qa-analyst/DOC_GAPS.template.md +0 -63
@@ -2,7 +2,7 @@
2
2
 
3
3
  # 15 · `/qc-analyze` — Trạm 1: Phân rã yêu cầu + gap tài liệu
4
4
 
5
- > **Một câu.** Trạm đầu của dây chuyền QC: phân rã yêu cầu từ spec, map trace, và ghi **DOC_GAPS** (chỗ tài liệu thiếu để test được). Markdown-first, chưa có script.
5
+ > **Một câu.** Trạm đầu của dây chuyền QC: phân rã yêu cầu từ spec, map trace, và ghi **DOC_GAP** (chỗ tài liệu thiếu để test được). Markdown-first, chưa có script.
6
6
 
7
7
  > 🏭 **Dây chuyền QC 6 trạm** dùng module `qc-playwright` và **QC skill** nạp từ `paths.qc_skills_dir` — mặc định bundled `.agent/skills/qc`, **override sang repo riêng của team QC** để nâng cấp framework không ghi đè (QC skill tiến hoá độc lập).
8
8
 
@@ -26,7 +26,7 @@ QC chính thức cần hiểu yêu cầu **testable** trước khi viết test.
26
26
 
27
27
  **Input:** UC-ID + spec (PRD/BDD từ spec repo) + skill `qa-analyst`.
28
28
 
29
- **Output (per UC):** `{qc_dir}/{UC-ID}/{platform}/REQUIREMENT_ANALYSIS.md` + `DOC_GAPS.md`.
29
+ **Output (per UC):** `{qc_dir}/{UC-ID}/{platform}/REQUIREMENT_ANALYSIS.md` + `DOC_GAP.md`.
30
30
 
31
31
  ---
32
32
 
@@ -36,14 +36,17 @@ QC chính thức cần hiểu yêu cầu **testable** trước khi viết test.
36
36
  2. **Platform Resolution** — chốt 1 platform cho toàn QC pass (sổ trace ghi `qc_status` sẽ là `{UC-ID}-{platform}.tsv`).
37
37
  3. **Role qa-analyst** — nạp skill `{qc_skills_dir}/qa-analyst/`.
38
38
  4. **Trace mapping (bắt buộc)** — map yêu cầu ↔ scenario ↔ SC.
39
- 5. **DOC_GAPS (bắt buộc)** — ghi chỗ tài liệu thiếu/mơ hồ chặn test (blocker 🔴 xử trước ở `/qc-plan`).
40
- 6. **Output** REQUIREMENT_ANALYSIS.md + DOC_GAPS.md.
39
+ 5. **DOC_GAP (bắt buộc)** — ghi chỗ tài liệu thiếu/mơ hồ chặn test (blocker 🔴 xử trước ở `/qc-plan`).
40
+ 6. **Output** REQUIREMENT_ANALYSIS.md + DOC_GAP.md.
41
41
 
42
42
  ---
43
43
 
44
44
  ## Checkpoint & Gate
45
45
 
46
- - Guard mềm (BDD approved). Không gate chặn.
46
+ - **CHECKPOINT: chặn thường** — lệnh ghi 2 file artifact. `--yes` bỏ qua được.
47
+ - Guard mềm (BDD approved) — cảnh báo, không chặn cứng; `--yes` coi như Y nhưng **vẫn in cảnh báo**.
48
+ - **Platform Resolution chạy TRƯỚC Guard** (sửa 2026-08-25): UC đa nền có nhiều `.feature`, mỗi bản
49
+ mang `@trace.status` riêng — kiểm duyệt trước khi biết platform là kiểm nhầm bản.
47
50
 
48
51
  ---
49
52
 
@@ -51,13 +54,13 @@ QC chính thức cần hiểu yêu cầu **testable** trước khi viết test.
51
54
 
52
55
  - **QC skill từ repo riêng** (`qc_skills_dir`) — QC team sở hữu, không bị framework upgrade ghi đè.
53
56
  - **Platform khoá một lần** cho cả pass → nhất quán sổ trace.
54
- - **DOC_GAPS** — kênh QC phản hồi ngược chất lượng tài liệu (song song `/report-bug`).
57
+ - **DOC_GAP** — kênh QC phản hồi ngược chất lượng tài liệu (song song `/report-bug`).
55
58
 
56
59
  ---
57
60
 
58
61
  ## 👓 Góc nhìn tối ưu
59
62
 
60
- - **DOC_GAPS trùng vai với review-context B-check?** — cả hai bắt gap tài liệu, nhưng QC nhìn từ góc "test được không". Đáng xem có nối được feedback này về spec.
63
+ - **DOC_GAP trùng vai với review-context B-check?** — cả hai bắt gap tài liệu, nhưng QC nhìn từ góc "test được không". Đáng xem có nối được feedback này về spec.
61
64
  - **Platform một pass** — feature multi-platform phải chạy QC pass nhiều lần. Chi phí lặp phân tích.
62
65
  - **Phụ thuộc QC skill ngoài** — nếu `qc_skills_dir` trỏ sai/thiếu, trạm hụt logic.
63
66
 
@@ -15,7 +15,7 @@ Không phải mọi scenario rủi ro ngang nhau. Trạm này xếp ưu tiên te
15
15
  ## Vị trí & tiền đề
16
16
 
17
17
  - **Vị trí:** Phase QC (trạm 2), sau `/qc-analyze`.
18
- - **Tiền đề:** REQUIREMENT_ANALYSIS.md + DOC_GAPS.md; nên xử blocker 🔴 trước.
18
+ - **Tiền đề:** REQUIREMENT_ANALYSIS.md + DOC_GAP.md; nên xử blocker 🔴 trước.
19
19
 
20
20
  ---
21
21
 
@@ -52,7 +52,7 @@ Không phải mọi scenario rủi ro ngang nhau. Trạm này xếp ưu tiên te
52
52
  ## 👓 Góc nhìn tối ưu
53
53
 
54
54
  - **Trạm mỏng nhất** (~thin orchestrator + skill). Giá trị phụ thuộc chất lượng skill qa-planner.
55
- - **Câu hỏi cho dev** không có cơ chế theo dõi trả lời — dễ rơi. Cân nhắc gắn vào DOC_GAPS/feedback.
55
+ - **Câu hỏi cho dev** không có cơ chế theo dõi trả lời — dễ rơi. Cân nhắc gắn vào DOC_GAP/feedback.
56
56
 
57
57
  ---
58
58