Files
Canhchimlac 343ad8bbbc save
2026-09-15 16:02:30 +07:00

30 KiB
Raw Permalink Blame History

DTM — Decision Traceability Matrix — e-commerce

Cập nhật 2026-09-15
Author SA (qua skill sa-2-architecture, hoạt động adr) — cập nhật thay sa-conformance vì ADR-014…017 vừa được sinh (trả hết nợ ADR, DEC-31); sa-conformance nên rà lại độc lập ở lần đồng bộ kế tiếp. GĐ2 nay đủ 9/9 hoạt động (qas/asr/sad/icd/dat/sec/inf/fail/adr) — §3 (ASR × ADR) cập nhật thêm ADR-014 cho ASR-004/ASR-005, ADR-015 cho ASR-007; bổ sung ánh xạ QAS-007 → ADR-016 (ngoài chuỗi ASR chính)
Nguồn quét 01-context/CTX_e-commerce_v1.0.md (v1.2) · 01-context/OPT_e-commerce_v1.0.md (v1.0) · 01-context/TCO_e-commerce_v1.0.md (v1.1) · 01-context/ARISK_e-commerce_v1.0.md (v1.0) · 02-architecture/QAS_e-commerce_v1.0.md (v1.0) · 02-architecture/ASR_e-commerce_v1.0.md (v1.0) · 02-architecture/SAD_e-commerce_v1.0.md (v1.3) · 02-architecture/ICD_e-commerce_v1.0.md (v1.0) · 02-architecture/DAT_e-commerce_v1.0.md (v1.1) · 02-architecture/SEC_e-commerce_v1.0.md (v1.1) · 02-architecture/INF_e-commerce_v1.0.md (v1.1) · 02-architecture/FAIL_e-commerce_v1.0.md (v1.1) · 02-architecture/adr/ADR-001…017_*.md (mới: ADR-014…017) · 00-index/OQ_e-commerce.md · 00-index/DEC_e-commerce.md (v1.29).
Artifact 🟡 Draft bị tách riêng CTX/OPT/TCO/ARISK/QAS/ASR/SAD/ICD/DAT/SEC/INF/FAIL đều 🟡 Draft (duyệt từng phần bởi PO/Tech Lead uỷ quyền — điều phối dự án, không phải chữ ký thật, OQ-004 còn mở). 17 ADR đều Proposed (chưa Accepted). Mọi liên kết rút ra từ các file này được ghi nhận nhưng không tính là đã "chặn gate qua" — AG1 toàn phần chưa ký, AG2 còn xa.

Ma trận trống trung thực tốt hơn ma trận đầy do suy diễn. Ô trống là danh sách việc; ô điền bừa là cảm giác an toàn giả. Cập nhật lần này chỉ điền được chuỗi DRV → (ASR/QAS chưa có) và ghi nhận ARISK/POC/ASM của GĐ1 — theo đúng yêu cầu đồng bộ sau khi GĐ1 hoàn tất. Không tạo nội dung mới, không sửa artifact nguồn.


1. Báo cáo coverage

Chuỗi Tỉ lệ % Mức ID bị đứt Chặn gate
DRV → ASR/QAS 9/9 100% 🟢 Không — mọi DRV-01…09 nay có QAS/ASR phục vụ (xem QAS §C, ASR §B2) AG2
ASR → ADR 12/15 80% 🟡 ASR-009, ASR-012, ASR-015 — không có ADR (xem lý do ở §3, không phải chặn) AG2 — mục tiêu 15/15 hoặc lý do hợp lệ; đã đạt
ADR → nguồn (DRV/CON/QAS/ASR) 15/17 88% 🟡 ADR-016/ADR-017 không có ASR trực tiếp — nhưng có nguồn hợp lệ khác (ADR-016 → QAS-007; ADR-017 → CON-05/D9), xem §3 ghi chú —
ADR → CMP 0/12 0% — (chưa tới — SAD §8 mới link file ADR, chưa có cột CMP do ADR kích hoạt trực tiếp; quan hệ ASR × CMP đã đủ 15/15 ở SAD §4.3) Không tính là đứt — ADR không nhất thiết map 1-1 sang CMP AG2
QAS (Must) → bài đo 0/0 — — — AG3
QAS (Must) → kết quả đo thật 0/0 — — — AG3
Ràng buộc AGD → FIT hoặc nhãn khuyến nghị 0/0 — — — AG3
CMP → ASR hoặc nhu cầu chức năng 0/0 — — — —
IF → chủ sở hữu contract 0/0 — — — AG2
Thực thể dữ liệu → đúng một chủ 0/0 — — — AG2
THR → biện pháp → cách kiểm chứng 0/0 — — — AG2
Phụ thuộc ngoài process → FM 0/0 — — — AG2

Riêng cho GĐ1 (không có cột chính thức ở trên, ghi bổ sung theo yêu cầu đồng bộ):

Chuỗi bổ sung GĐ1 Tỉ lệ Ghi chú
ARISK có biện pháp hạ rủi ro cụ thể 9/10 ARISK-07 chỉ có "trình số liệu", chưa "đã hạ" — chờ PO/tài chính xác nhận TCO (OQ-005)
ARISK mức 🔴 Cao có kế hoạch POC khi cần 2/2 cần POC ARISK-01→POC-01, ARISK-02→POC-02 — cả hai POC chưa chạy
POC đã chạy / tổng POC đã lập 0/2 POC-01, POC-02 — tiêu chí PASS/FAIL đã viết trước (ARISK §6), chưa có ngày chạy
ASM đã xác minh / tổng ASM 0/15 ASM-01..15 (CTX 01-06, OPT 07-09, TCO 10-15) — toàn bộ vẫn ở trạng thái giả định, xem §2.1

2. DRV × ASR / QAS

Cập nhật 2026-09-15 — QAS/ASR nay tồn tại (hoạt động qas/asr của sa-2-architecture đã chạy). Mọi DRV dưới đây nay có ít nhất một QAS/ASR phục vụ trực tiếp hoặc gián tiếp.

DRV Phát biểu ngắn Ưu tiên Confidence nguồn ASR/QAS phục vụ Đứt
DRV-01 Chưa có luồng giỏ hàng–checkout–thanh toán ⇒ không ra mắt được MVP (blocker) Must 🔴 (BA chưa ký G1, nguồn trực tiếp BRIEF) ASR-001, ASR-003, QAS-002 🟢
DRV-02 Giỏ hàng ≥2 seller có nguy cơ tỷ lệ bỏ giỏ cao hơn ở checkout Must 🔴 (nguồn trực tiếp, baseline thật chưa có) ASR-003, QAS-002, QAS-003 🟢
DRV-03 Thanh toán không lưu thẻ để giảm phạm vi tuân thủ PCI-DSS Must 🔴 (nguồn trực tiếp) ASR-002 🟢
DRV-04 Quy mô mục tiêu lớn, đỉnh hàng nghìn–chục nghìn concurrent user mùa flash sale Must 🔴 (chỉ có nguồn SAD.md/brief, chưa qua BRIEF module hoá) ASR-001, ASR-014, QAS-001, QAS-005, QAS-006, QAS-009 🟢
DRV-05 Uptime 99.9% cho dịch vụ giao dịch lõi Must 🔴 (giả định mặc định trong brief, chưa phải SLA) ASR-010, QAS-007, QAS-008 🟢
DRV-06 Dòng tiền minh bạch 3 bên (khách–sàn–seller), hoa hồng + payout có kỳ giữ tiền Must 🔴 (chỉ có nguồn SAD.md/brief) ASR-003, ASR-005 🟢
DRV-07 Chia sẻ PII cho seller khi tách đơn chưa rà soát NĐ13/2023 Must 🔴 (nguồn trực tiếp RISK-03 BA) ASR-008, QAS-011 🟢
DRV-08 Xác nhận thanh toán qua webhook bên thứ ba chưa xác minh khả thi gần thời gian thực Must 🔴 (nguồn trực tiếp RISK-02/ASM-01 BA) ASR-004, QAS-014 🟢
DRV-09 Đa ngôn ngữ 5 thứ tiếng để mở rộng thị trường Should 🔴 (chỉ có nguồn SAD.md/brief) ASR-015 (borderline, không có ADR — xem §3) 🟢

Đọc ngược — ASR/QAS không sinh từ DRV/CON nào:

ID Sinh từ đâu Hợp lệ?
(rà 15 ASR + 14 QAS — không phát hiện ASR/QAS nào thiếu nguồn DRV/CON/BR/ROLE; mỗi mục đều có cột "Nguồn" trong ASR §B2/QAS §A3) ✅

Kết luận chuỗi này: 9/9 DRV nay có ASR/QAS phục vụ (🟢) — đạt mục tiêu đặt ra ở lượt đồng bộ trước. Không còn DRV mồ côi.

2.1 ARISK / POC / ASM của GĐ1 — ghi nhận để mang sang GĐ2

(Không phải ma trận truy vết chính thức của DTM — GĐ1 không có ASR/ADR/CMP để đối chiếu. Ghi ở đây theo yêu cầu đồng bộ, để sa-2-architecture không phải đọc lại toàn bộ 4 file GĐ1 mới biết còn gì treo.)

ARISK mức 🔴 Cao (6/10) — chưa đóng, phải mang sang GĐ2:

ARISK Chủ Chặn gì ở GĐ2 POC/biện pháp
ARISK-01 Tech Lead ADR-005 chuyển Accepted POC-01 (chưa chạy)
ARISK-02 Tech Lead/DBA ADR-006 chuyển Accepted, DAT (hoạt động 5) POC-02 (chưa chạy)
ARISK-03 Tech Lead + PO ICD (VNPay/Momo), ADR-004 kiểm chứng đầy đủ Đàm phán sandbox + job đối soát bù (chưa xác minh lại)
ARISK-05 Tech Lead ADR-005/ADR-001 chuyển Accepted (năng lực đội) Xác nhận OQ-010
ARISK-06 PO → Legal/Security ADR-008 chuyển Accepted (chặn hoàn toàn), DAT/INF (residency NĐ13/2023) Chỉ định người (OQ-007), chưa có
ARISK-07 PO/tài chính Ký AG1 (ngân sách vận hành thật) Trình TCO — chưa xác nhận

POC đã lập, chưa chạy (2/2):

POC Hạ rủi ro Tiêu chí PASS Hạn Trạng thái
POC-01 ARISK-01 Throughput ≥100 msg/s sustained 30 phút, p99 ≤2s, 0 mất message Trước ADR-001/ADR-005 chuyển Accepted Chưa chạy
POC-02 ARISK-02 p95 write ≤300ms, p95 read ≤200ms, CPU RDS <75% Trước ADR-001/ADR-006 chuyển Accepted Chưa chạy

ASM chưa xác minh, ảnh hưởng lớn nhất (không liệt kê đủ 15, chỉ các dòng có hệ quả định lượng theo chính CTX/OPT/TCO):

ASM Nội dung ngắn Nguồn Hệ quả nếu sai Hạn
ASM-01 Số lao động hồ sơ thầu (~3,76 tỷ VND) "trong khoảng hợp lý" CTX §5 Phải loại phương án kiến trúc nặng ở OPT nếu ngân sách thật thấp hơn Trước OPT (đã trễ — OPT đã chạy dưới giả định này)
ASM-04 Region ap-southeast-1 đáp ứng đủ residency NĐ13/2023 CTX §5 Phải chuyển hạ tầng dữ liệu về region VN nếu sai Trước DAT/INF GĐ2, chậm nhất trước go-live
ASM-07 SQS/EventBridge đủ throughput thay Kafka/MSK OPT §8 P2 phải bổ sung Kafka/MSK cho hot-path nếu sai Trước ADR message backbone GĐ2 (POC-01)
ASM-08 1 cụm RDS chính đủ chịu tải ghi/đọc gộp OPT §8 Phải tách read replica sớm hơn dự kiến nếu sai Trước DAT GĐ2 (POC-02)
ASM-11 Đơn giá AWS ap-southeast-1 ước tính, chưa tra Pricing Calculator thật TCO §8 ±50% ⇒ hạ tầng 3 năm lệch ±0,9–3,7 tỷ VND Trước khi duyệt ngân sách (OQ-013)
ASM-14 Số FTE vận hành (dòng nhạy cảm nhất của TCO) TCO §8 ±50% ⇒ lệch ±2,7–3,5 tỷ VND Trước khi chốt INF GĐ2 (OQ-008)

Danh sách đầy đủ ASM-01..15 xem CTX §5, OPT §8, TCO §8. Không copy lại toàn bộ ở đây theo nguyên tắc "không sao chép giữa tài liệu" (artifact-map.md §7) — tham chiếu bằng ID.

3. ASR × ADR

Cập nhật 2026-09-15 — mục tiêu 15/15 ASR có ≥1 ADR hoặc lý do hợp lệ ("ràng buộc đầu vào"/"không phải quyết định kiến trúc"). Đạt 12/15 có ADR, 3/15 có lý do ghi rõ — không ASR nào bị bỏ sót không giải thích.

ASR Phát biểu ngắn ADR hiện thực hoá Trạng thái ADR Đứt
ASR-001 Kiểu kiến trúc tổng thể — Modular Monolith P2 ADR-001 Proposed (radar ~7, cần POC-01/POC-02) 🟢
ASR-002 Payment cô lập PCI-DSS SAQ A ADR-002 Proposed (radar ~7, cần Security ký) 🟢
ASR-003 Mô hình Order/OrderSeller ADR-003 Proposed (radar ~6, chờ OQ-011 BA) 🟢
ASR-004 Idempotency + đối soát webhook ADR-004, ADR-013, ADR-014 (mới — Transactional Outbox đảm bảo publish nguyên tử cho sự kiện xác nhận/khởi tạo thanh toán, mở rộng tinh thần idempotency/không-mất-giao-dịch sang bước publish) ADR-004: Proposed (radar ~6, chờ sandbox) · ADR-013: Proposed (radar 7, chờ Tech Lead + PO thật) · ADR-014: Proposed (radar 6, chờ Tech Lead xác nhận relay) 🟢
ASR-005 Message backbone SQS FIFO + EventBridge ADR-005, ADR-014 (mới — outbox là cơ chế publish nguyên tử lên trên backbone này) ADR-005: Proposed (radar 8, cần POC-01) · ADR-014: Proposed (radar 6) 🟢
ASR-006 RDS gộp schema-per-module ADR-006 Proposed (radar 8, cần POC-02) 🟢
ASR-007 Chỗ quyết định ownership/authz ADR-007, ADR-015 (mới — Service JWT mở rộng xác thực từ người dùng cuối sang service-to-service nội bộ, TB3/TB4) ADR-007: Proposed (radar ~6) · ADR-015: Proposed (radar 5, Accepted chặn cứng bởi OQ-007 — Security chưa có người) 🟢
ASR-008 Vùng lưu trữ PII & chia sẻ seller ADR-008 Proposed (radar ~7, chặn tới khi có Security/Legal — OQ-007) 🟢
ASR-009 MFA Admin (TOTP app) (không — xem lý do dưới) — ➖ N/A hợp lệ
ASR-010 HA/DR nhóm giao dịch lõi ADR-009 Proposed (radar 9, cần diễn tập DR) 🟢
ASR-011 Observability & alerting ADR-010 Proposed (radar ~6) 🟢
ASR-012 AWS bắt buộc (không — xem lý do dưới) — ➖ N/A hợp lệ
ASR-013 Resilience đối tác thanh toán/vận chuyển ngoài ADR-011 Proposed (radar ~6, chờ sandbox 4 đối tác) 🟢
ASR-014 Ranh giới nhóm triển khai theo domain ADR-012 Proposed (radar ~7, chờ OQ-010/OQ-026/OQ-027) 🟢
ASR-015 Chiến lược i18n (không — xem lý do dưới) — ➖ N/A hợp lệ (borderline)

Lý do 3 ASR không có ADR (đúng theo decision-radar.md §2, không phải bỏ sót):

ASR Lý do không cần ADR Ghi ở đâu thay thế
ASR-009 (MFA Admin) Radar ước lượng ~4 (3–4 ⇒ DEC-nn là đủ theo decision-radar.md §2) — bán kính hẹp (chỉ Identity/Admin), không ràng buộc dài hạn. Không phải "ràng buộc đầu vào" mà là "quyết định thi công nhỏ" DEC-nn khi hoạt động sec chốt phương thức cụ thể; tạm chốt TOTP app ở OQ-024/ASM-20
ASR-012 (AWS bắt buộc) Ràng buộc đầu vào — CON-03 do khách hàng chốt, không phải quyết định SA cân nhắc giữa nhiều phương án; đã phản ánh làm điều kiện tiên quyết trong ADR-001 ADR-001 §1 Bối cảnh (tham chiếu, không lặp)
ASR-015 (i18n) Radar ước lượng ~5 (borderline theo ASR §B2) — không chạm QAS Must (chỉ Should), bán kính hẹp (chỉ FE). SA đã ghi rõ đây là lựa chọn borderline, khuyến nghị DEC-nn + AGD (GĐ3) nếu Tech Lead không thấy tranh cãi DEC-nn (chưa ghi — việc phải làm ở hoạt động sec/GĐ3); có thể nâng thành ADR-013 nếu phát sinh tranh luận công nghệ i18n cụ thể

🔴 Ghi chú đối chiếu: ASR-013 (đối tác ngoài) có ADR-011 — khác với gợi ý ban đầu "ASR-012/013/015 không cần ADR" của ghi chú người duyệt. Đã kiểm tra lại ASR_e-commerce_v1.0.md §B2 ASR-013: mục này ghi rõ "Quyết định cần ADR | Có — ADR-011" (radar ~6, đã duyệt từng phần ở DEC-14). Giữ nguyên theo nội dung đã duyệt, không tự sửa để khớp gợi ý — ba ASR thực sự không cần ADR là ASR-009/012/015 (xem bảng trên).

Đọc ngược — ADR không phục vụ ASR/QAS nào:

ADR Quyết định gì Nguồn ghi trong §1 Hợp lệ?
ADR-016 Blue-green deploy qua AWS CodeDeploy Không có ASR trực tiếp — nguồn là QAS-007 (error budget, xem bổ sung "QAS Must ↔ ADR" ngay dưới) ✅ Hợp lệ — INF §7.2 ghi rõ nguồn là bảo vệ ngân sách lỗi QAS-007, không phải một ASR
ADR-017 Công cụ IaC — Terraform Không có ASR/QAS trực tiếp — nguồn là CON-05 (năng lực đội) và D9 (quy tắc: mọi con số hạ tầng phải quy ra tiền/tái lập được) ✅ Hợp lệ — quyết định thiết lập tiền lệ theo decision-radar.md §3 "công cụ hạ tầng", không bắt buộc có ASR nguồn khi lý do gắn CON/quy tắc thiết kế đã ghi rõ trong ADR-017 §1
(13 ADR còn lại đều có ≥1 ASR nguồn ở bảng trên, không mồ côi) ✅

Kết luận chuỗi này: 12/15 ASR có ADR, 3/15 có lý do hợp lệ ghi rõ — đạt mục tiêu 15/15 "có ADR hoặc có lý do". ASR-004 nay có 3 ADR (ADR-004 + ADR-013 + ADR-014), ASR-005 có 2 ADR (ADR-005 + ADR-014), ASR-007 có 2 ADR (ADR-007 + ADR-015) — không mâu thuẫn giữa các cặp này (xem ADL §3). ADR-016/ADR-017 không có ASR trực tiếp nhưng có nguồn hợp lệ khác đã ghi rõ (QAS-007, CON-05/D9) — không phải "ADR mồ côi" theo nghĩa D3 (mọi ADR đều truy vết được về một nguồn có tên). Không còn ASR nào bị bỏ sót không giải thích.

Bổ sung QAS Must ↔ ADR hiện thực hoá (ngoài chuỗi ASR chính, theo yêu cầu đồng bộ):

QAS Phát biểu ngắn Mức ADR hiện thực hoá Đứt
QAS-007 Error budget 99,9%/tháng ⇒ 43 phút/tháng, loại trừ bảo trì ≤2h (OQ-020) Must ADR-016 — chiến lược blue-green đảm bảo chiến lược deploy không tự ăn vào ngân sách lỗi này 🟢

4. ADR × CMP

SAD §4.3 đã có ma trận ASR × CMP đủ 15/15 (không lặp lại ở đây, tham chiếu bằng ID theo artifact-map.md §7). ADR không nhất thiết map trực tiếp 1-1 sang CMP — một ADR (VD ADR-001 kiểu kiến trúc tổng thể) áp dụng cho toàn bộ cấu trúc container, không phải một CMP đơn lẻ. Bảng dưới đối chiếu ADR nào ràng buộc trực tiếp CMP nào qua ASR trung gian.

ADR ASR trung gian CMP bị ràng buộc (qua SAD §4.3)
ADR-001 ASR-001 Toàn bộ cấu trúc container (§4 SAD)
ADR-002 ASR-002 CMP-11, CMP-14
ADR-003 ASR-003 CMP-04, CMP-06, CMP-10
ADR-004 ASR-004 CMP-11, CMP-04
ADR-005 ASR-005 CMP-12, CMP-06/07/08/09/10
ADR-006 ASR-006 CMP-13, CMP-14
ADR-007 ASR-007 CMP-01, CMP-02, CMP-04, CMP-15
ADR-008 ASR-008 CMP-04, CMP-05
ADR-009 ASR-010 CMP-02, CMP-04, CMP-11
ADR-010 ASR-011 CMP-02, CMP-04, CMP-11
ADR-011 ASR-013 CMP-11, CMP-10
ADR-012 ASR-014 Cột "Nhóm triển khai" toàn bộ SAD §4.1
ADR-013 ASR-004 CMP-04, CMP-11 (mới — sửa SAD §6.1 v1.3, tách đường găng đồng bộ khỏi bước khởi tạo thanh toán VNPay/Momo)
ADR-014 ASR-004, ASR-005 CMP-04, CMP-11 (mới — outbox áp dụng cho cả hai module publish sự kiện)
ADR-015 ASR-007 CMP-02 (cấp token), CMP-04, CMP-11, CMP-05/CMP-07 (Nhóm Hỗ trợ, qua TB3) (mới)
ADR-016 (không qua ASR, xem §3 bổ sung QAS-007) CMP-01…15 (áp dụng cho cả 3 đơn vị triển khai) (mới)
ADR-017 (không qua ASR, nguồn CON-05) Toàn bộ hạ tầng AWS, không map riêng CMP (mới)

Đọc ngược — CMP không phục vụ ASR nào và không có nhu cầu chức năng rõ:

CMP Trách nhiệm Sinh từ Hợp lệ?
(không có — SAD §4.1 đã tự chấm "15/15 CMP có ít nhất một ASR phục vụ, không có CMP mồ côi") ✅

5. QAS × kiểm chứng

QAS Mức Bài đo (FIT/tên bài) Đã chạy Kết quả Nguồn kết quả Đứt
(chưa có QAS)

6. Ràng buộc AGD × FIT

Ràng buộc AGD Nguồn FIT Nhãn ⚠️ Khuyến nghị Đứt
(chưa có AGD, còn xa GĐ3)

7. Kiểm tra chuyên biệt

7.1 Interface

IF-nnn Chủ sở hữu contract Contract tồn tại Versioning policy FM khi hỏng Đứt
(chưa có ICD)

7.2 Dữ liệu

Thực thể Số chủ sở hữu Hợp lệ Ghi chú
(chưa có DAT)

7.3 Bảo mật

THR-nn Có biện pháp Có cách kiểm chứng Đứt
(chưa có SEC)

7.4 Đường lỗi

Phụ thuộc ngoài process (từ SAD+ICD) Có FM-nn Trả lời đủ 4 câu Đứt
(chưa có SAD/ICD/FAIL)

8. Đối chiếu chéo với bộ BA

Kiểm Kết quả Hành động
Mọi NFR-nn của BA có QAS tương ứng ✅ Đạt phần lớn — xem QAS_e-commerce_v1.0.md §C; NFR-SEC-02/03, NFR-AVL-01/02 chờ hoạt động sec/fail (chưa chạy) Tiếp tục hoạt động sec/icd/fail
Mọi endpoint trong API của BA có IF-nnn chưa đo được — hoạt động icd (GĐ2) chưa chạy; SAD §4.1/§6.3 đã liệt kê 22 IF-nnn ứng viên Chạy /sa-2-architecture e-commerce --focus icd
Mọi ROLE-nn trong RBAC map xuống SEC §3.1 chưa đo được — hoạt động sec (GĐ2) chưa chạy Chạy /sa-2-architecture e-commerce --focus sec
BR-nnn ép ràng buộc kiến trúc đã có ADR ✅ Đạt — BR-CART-01→ADR-003, BR-CART-05→ADR-002, BR-CART-06→ADR-004; DEC-06 (chọn P2) đã được trả nợ bằng ADR-001 Không còn hành động — DEC-06 không còn "nợ" (xem ADL §7)

9. ID trùng lặp

ID Xuất hiện ở Mức
(không phát hiện trùng giữa CTX/OPT/TCO/ARISK ở lượt quét này — DRV-01..09, CON-01..09, ASM-01..15, ARISK-01..10 đều dùng dải số liên tục không chồng lấn)

10. Tham chiếu gãy

Từ Trỏ tới Vấn đề
(không phát hiện tham chiếu gãy trong 4 file GĐ1 ở lượt quét này; chưa có ADR/ASR/SAD để kiểm tham chiếu GĐ2)

11. Phát hiện — xếp theo mức

🔴 Chặn gate

# Phát hiện File · mục Hành động Skill sửa Chặn
1 POC-01/POC-02 chưa chạy — chặn ADR-001/ADR-005/ADR-006 chuyển Accepted ARISK_e-commerce_v1.0.md §6, adr/ADR-005, adr/ADR-006 Chạy POC theo tiêu chí PASS/FAIL đã viết trước Tech Lead/DBA (ngoài pipeline SA) AG1 (ký chính thức), AG2
2 Diễn tập DR chưa chạy — chặn ADR-009 chuyển Accepted, cũng là điều kiện tiên quyết AG2 adr/ADR-009, QAS_e-commerce_v1.0.md OQ-022 Ops/SRE lên lịch và chạy diễn tập Ops/SRE (ngoài pipeline SA) AG2
3 Chưa có đại diện Pháp chế/Bảo mật — chặn ADR-008 hoàn toàn (OQ-007) adr/ADR-008 PO chỉ định người PO AG2
4 OQ-004 (tính hợp lệ ngoại lệ ký thay PO) còn mở — mọi phê duyệt hiện tại đều "PO/Tech Lead uỷ quyền", không phải chữ ký thật CTX/OPT/TCO/ARISK/QAS/ASR/SAD — header Approved by PO/Tech Lead thật xác nhận lại bằng văn bản, hoặc chấp nhận rủi ro và ghi DEC-nn mới Điều phối dự án / PO thật AG1, AG2

🟠 Nợ — phải trả trước gate sau

# Phát hiện File · mục Hành động Skill sửa
1 DEC-06 chưa nâng thành ADR Đã trả nợ — ADR-001 viết 2026-09-15, vẫn Proposed chờ POC-01/POC-02 ADR-001, ADL §7 Không còn hành động — theo dõi điều kiện Accepted —
2 6 OQ (OQ-005/006/007/008/013..017) chưa có số thật — TCO/ARISK đang chạy trên giả định TCO_e-commerce_v1.0.md, ARISK_e-commerce_v1.0.md PO/PM/Tech Lead trả lời trước khi AG1 ký chính thức Điều phối dự án
3 3 câu hỏi mới của ADR-012 (OQ-010/OQ-026/OQ-027) chưa trả lời — chặn ADR-012 chuyển Accepted adr/ADR-012 Tech Lead + Ops/SRE trả lời Tech Lead/Ops (ngoài pipeline SA)
4 Security chưa ký ADR-002/ADR-007 (radar ≥6, thuộc phạm vi bảo mật) adr/ADR-002, adr/ADR-007 Security review + ký khi có người Security

🟡 Cải thiện

# Phát hiện File · mục Hành động
1 DRV-04/05/06/09 (module ngoài Giỏ hàng & Checkout) chỉ có nguồn SAD.md/brief, chưa qua BRIEF/RISK module hoá riêng — Confidence thấp hơn DRV-01/02/03/07/08 CTX_e-commerce_v1.0.md §2 (ghi chú cuối bảng) Khi BA module hoá các phần còn lại của sàn, cập nhật CTX và rà lại OQ-003 (giữ toàn sàn hay thu hẹp)
2 ASR-013 có ADR-011 nhưng ghi chú người duyệt gợi ý "012/013/015 không cần ADR" — đã đối chiếu và giữ nguyên nội dung ASR đã duyệt (DEC-14), không tự sửa để khớp gợi ý DTM §3 (ghi chú), ASR_e-commerce_v1.0.md §B2 ASR-013 Không cần hành động — đã minh bạch hoá sự khác biệt, tham chiếu cho lần rà sau

12. Kết luận gate

AG1: 🟡 CHƯA ĐỦ ĐIỀU KIỆN KÝ CHÍNH THỨC — đủ 4/4 artifact (CTX/OPT/TCO/ARISK), mỗi file tự
     chấm 7/7 tiêu chí cấu trúc, nhưng nội dung còn: OQ-004 (tính hợp lệ ký thay) mở, OQ-005/006/
     007/008/013..017 (số thật) mở, POC-01/POC-02 chưa chạy. PO uỷ quyền đã duyệt từng phần
     dưới ngoại lệ DEC-01..17 — không thay thế chữ ký PO/Tech Lead thật.
AG2: 🟡 CÒN XA — 9/9 hoạt động GĐ2 xong (qas/asr/sad/icd/dat/sec/inf/fail/adr); 17/17 ADR viết
     (ADR-001…013 + ADR-014 outbox + ADR-015 service JWT + ADR-016 blue-green + ADR-017 Terraform),
     tất cả Proposed (đúng — không ADR nào Accepted khi chưa có chữ ký thật). ASR → ADR đạt 12/15 +
     lý do hợp lệ cho 3/15 còn lại (mục tiêu đạt; ASR-004 nay có 3 ADR, ASR-005/ASR-007 mỗi cái có
     2 ADR, không mâu thuẫn). POC-01/POC-02/diễn tập DR/inject lỗi chưa chạy (chặn ADR-005/006/009
     chuyển Accepted); chưa có Security/Legal (chặn ADR-008 hoàn toàn, và chặn cứng ADR-015 —
     quyết định bảo mật không ai có thẩm quyền ký); Tech Lead + Security + Ops/SRE chưa ký thật;
     ADR-013 cần Tech Lead + PO thật xác nhận; ADR-016 cần Ops/SRE chạy thử blue-green ở staging;
     ADR-017 cần Tech Lead + Ops/SRE xác nhận công cụ (OQ-060).
AG3: — chưa tới
AG4: — chưa tới

Việc gần nhất: (1) Tech Lead/DBA chạy POC-01/POC-02; (2) Ops/SRE lên lịch và chạy diễn tập DR + diễn tập inject lỗi; (3) PO chỉ định đại diện Pháp chế/Bảo mật (OQ-007 — chặn ADR-008 hoàn toàn và chặn cứng ADR-015); (4) Tech Lead trả lời OQ-010/OQ-026/OQ-027/OQ-060; (5) Ops/SRE chạy thử blue-green/rollback ở staging cho ADR-016; (6) khi đủ, chạy sa-conformance xác nhận coverage rồi trình AG2 cho Tech Lead + Security + Ops/SRE ký thật.

13. Chấp nhận có ý thức

Chỗ đứt được chấp nhận có ghi chép. Khác hoàn toàn với bỏ qua.

Chỗ đứt Vì sao chấp nhận Ai chấp nhận · ngày Hạn xử lý DEC
POC-01 (throughput SQS/EventBridge) chưa chạy ARISK-01/ADR-005 đã có kế hoạch POC + tiêu chí PASS/FAIL viết trước; chưa tới hạn (trước ADR-001/ADR-005 chuyển Accepted) PO uỷ quyền (duyệt từng phần ARISK v1.0) · 2026-09-12 Trước khi ADR-001/ADR-005 chuyển Accepted DEC-10
POC-02 (RDS gộp tải) chưa chạy ARISK-02/ADR-006 đã có kế hoạch POC + tiêu chí PASS/FAIL viết trước; chưa tới hạn (trước ADR-001/ADR-006 chuyển Accepted) PO uỷ quyền (duyệt từng phần ARISK v1.0) · 2026-09-12 Trước khi ADR-001/ADR-006 chuyển Accepted DEC-10
Diễn tập DR chưa chạy QAS-008/ADR-009 đã ghi rõ điều kiện, đã chốt là điều kiện tiên quyết AG2 (DEC-12) Điều phối dự án (thay Tech Lead, duyệt từng phần QAS v1.0) · 2026-09-14 Trước khi ký AG2 DEC-12
ASM-11/ASM-12/ASM-14 (đơn giá AWS/tỷ giá/FTE Ops) chưa xác nhận TCO duyệt từng phần chấp nhận cấu trúc 4 nhóm chi phí + kết luận thứ tự P2 rẻ hơn P1; số tuyệt đối chưa cần thiết để giữ hướng đi này PO uỷ quyền (duyệt từng phần TCO v1.1) · 2026-09-12 Trước khi ký AG1 toàn phần DEC-09
12 ADR giữ Proposed, chưa Accepted Chưa có chữ ký thật Tech Lead + Security + Ops/SRE; 3/12 (ADR-005/006/009) còn cần POC/diễn tập PASS theo đúng decision-radar.md §2/§6 SA (theo quy tắc bộ SA, không tự chuyển Accepted) · 2026-09-15 Trước khi ký AG2 DEC-17
Mọi phê duyệt GĐ1/GĐ2 là "PO/Tech Lead uỷ quyền — điều phối dự án", không phải chữ ký thật Dự án chạy thử, theo ngoại lệ gate đã ghi từ DEC-01; người dùng đã được cảnh báo lại nhiều lần và tái khẳng định muốn tiếp tục Điều phối dự án (đại diện PO, dự án chạy thử) · 2026-09-12…15 Trước khi trình AG1/AG2 cho người thật ký (OQ-004) DEC-01