# INDEX — e-commerce (kiến trúc) | | | |---|---| | **Cập nhật** | 2026-09-15 | | **Giai đoạn hiện tại** | GĐ2 · `sa-2-architecture` — **đủ 9/9 hoạt động** (`qas`/`asr`/`sad`/`icd`/`dat`/`sec`/`inf`/`fail`/`adr`). Đủ **8/8 loại artifact GĐ2** (`QAS` v1.0, `ASR` v1.0, `SAD` v1.3, `ICD` v1.0, `DAT` v1.1, `SEC` v1.1, `INF` v1.1, `FAIL` v1.1) + **17 `ADR`** (`ADR-001…017`). Mọi artifact 🟡 Draft đã được duyệt **từng phần** bởi "Điều phối dự án (thay mặt Tech Lead)" theo ngoại lệ gate `DEC-01` (dự án chạy thử, xem `DEC_e-commerce.md`) — **không phải chữ ký Tech Lead thật**. **Security và Ops/SRE chưa ký bất kỳ artifact nào** ở GĐ1 lẫn GĐ2 (`OQ-007` — chưa có người Pháp chế/Bảo mật; `OQ-004` — tính hợp lệ ký thay còn mở). GĐ1 (`sa-1-context`) đủ 4 artifact (`CTX` v1.2, `OPT` v1.0, `TCO` v1.1, `ARISK` v1.0), mỗi file duyệt từng phần bởi PO uỷ quyền. `OPT` chọn **P2** (modular monolith + managed AWS, tách riêng Payment) làm hướng đi cho GĐ2, điều kiện `OQ-010`/`OQ-012` (`DEC-06`) — đã được trả nợ ADR bằng `ADR-001`. | | **Gate gần nhất đã qua** | **Chưa có.** AG1 — 4/4 artifact GĐ1 tồn tại, mỗi file tự chấm đủ tiêu chí cấu trúc nhưng nội dung còn `OQ-004` (tính hợp lệ ký thay), `OQ-005/006/007/008/013…017` (số thật ngân sách/deadline/vận hành/nhà cung cấp) mở, và `POC-01`/`POC-02` chưa chạy — PO/Tech Lead thật chưa ký. AG2 — 9/9 hoạt động và 8/8 artifact + 17 ADR đã có về **nội dung**, coverage `ASR→ADR` đạt 12/15 + 3 lý do hợp lệ (xem `DTM §3`), nhưng thiếu: chữ ký thật Tech Lead + Security + Ops/SRE (mới có Tech Lead ký thay có điều kiện trên từng file); `POC-01`/`POC-02`/diễn tập DR/diễn tập inject lỗi chưa chạy (chặn `ADR-005`/`ADR-006`/`ADR-009` `Accepted`, đồng thời diễn tập DR là điều kiện tiên quyết ký AG2 theo `DEC-12`); Security chưa có người (`OQ-007` — chặn `ADR-008` hoàn toàn, chặn cứng `ADR-015`, `SEC` chưa có hiệu lực phủ quyết AG2). | | **ADR đang Proposed** | **17** (`ADR-001…017`) — tất cả `Proposed`, **không cái nào `Accepted`**. 3 ADR radar ≥8 (`ADR-005` SQS FIFO+EventBridge, `ADR-006` RDS gộp schema-per-module, `ADR-009` HA/DR nhóm giao dịch lõi) bắt buộc `POC-01`/`POC-02`/diễn tập DR PASS trước khi `Accepted` (`decision-radar.md §2/§6`). `ADR-008` (vùng lưu trữ PII) chặn hoàn toàn tới khi có đại diện Pháp chế/Bảo mật (`OQ-007`). `ADR-015` (Service JWT service-to-service) **chặn cứng** bởi cùng lý do — quyết định bảo mật không ai có thẩm quyền ký. 4 ADR mới nhất (`DEC-31`, 2026-09-15): `ADR-014` (Transactional Outbox cho publish sự kiện, radar 6), `ADR-015` (Service JWT ngắn hạn, radar 5), `ADR-016` (Blue-green qua AWS CodeDeploy, radar 6), `ADR-017` (IaC Terraform, radar 7). Xem `ADL_e-commerce.md` để biết mục lục đầy đủ, nguồn, và điều kiện `Accepted` riêng từng ADR. | ## Artifact | Loại | File mới nhất | Version | Status | Confidence | Cập nhật | |---|---|---|---|---|---| | CTX | `01-context/CTX_e-commerce_v1.0.md` | 1.2 | 🟡 Draft (duyệt từng phần §2/§3/§5 — §4 chờ AG1 toàn phần cùng đợt) | 🔴 | 2026-09-12 | | OPT | `01-context/OPT_e-commerce_v1.0.md` | 1.0 | 🟡 Draft (duyệt từng phần — chọn P2 có điều kiện `OQ-010`/`OQ-012`, Tech Lead chưa ký thật) | 🔴 | 2026-09-12 | | TCO | `01-context/TCO_e-commerce_v1.0.md` | 1.1 | 🟡 Draft (duyệt từng phần — cấu trúc 4 nhóm chi phí + kết luận "P2 rẻ hơn P1"; đơn giá AWS/tỷ giá/FTE Ops chưa xác nhận) | 🔴 | 2026-09-12 | | ARISK | `01-context/ARISK_e-commerce_v1.0.md` | 1.0 | 🟡 Draft (duyệt từng phần — 10 rủi ro + kế hoạch `POC-01`/`POC-02`; POC chưa chạy) | 🔴 | 2026-09-12 | | QAS | `02-architecture/QAS_e-commerce_v1.0.md` | 1.0 | 🟡 Draft (duyệt từng phần — Tech Lead ký thay có điều kiện; 14 `QAS`; diễn tập DR chốt là điều kiện tiên quyết AG2; Security/Ops chưa ký) | 🔴 | 2026-09-14 | | ASR | `02-architecture/ASR_e-commerce_v1.0.md` | 1.0 | 🟡 Draft (duyệt từng phần — 15 `ASR` + 12 `ADR` ứng viên chấp nhận; `ADR-005/006/009` chờ POC/diễn tập DR; Security/Ops chưa ký) | 🔴 | 2026-09-15 | | SAD | `02-architecture/SAD_e-commerce_v1.0.md` | 1.3 | 🟡 Draft (duyệt từng phần bản v1.0; v1.1 link 12 ADR; v1.2 sửa lỗi đếm `IF-nn` 22→17 — đóng `OQ-029`; v1.3 sửa nhất quán §6.1/§8 theo `ADR-013`; C4 Context/Container/Component + deployment view + 15 `CMP` (ma trận `ASR→CMP` 15/15); Security/Ops chưa ký) | 🔴 | 2026-09-15 | | ICD | `02-architecture/ICD_e-commerce_v1.0.md` | 1.0 | 🟡 Draft (duyệt từng phần — catalog 17 `IF-nn` + chi tiết `IF-002` (Cart&Checkout); xác nhận/điều chỉnh `API_US002-003` của BA; đối tác ngoài/Email-SMS chưa có contract thật; Security/Ops chưa ký) | 🔴 | 2026-09-15 | | DAT | `02-architecture/DAT_e-commerce_v1.0.md` | 1.1 | 🟡 Draft (duyệt từng phần bản v1.0 — ownership 15 `CMP`, mô hình `Order`/`OrderSeller`/`Payment`, idempotency, PITR; v1.1 chỉ link `ADR-014` (Outbox), không đổi nội dung khác; **§5 PII/retention/whitelist CHƯA CÓ HIỆU LỰC** — chờ `OQ-007`; Security/Ops chưa ký) | 🔴 | 2026-09-15 | | SEC | `02-architecture/SEC_e-commerce_v1.0.md` | 1.1 | 🟡 Draft (duyệt từng phần bản v1.0 — 31 `THR` STRIDE, map `ROLE-01/02`, mô hình authn/authz, SAQ A, rate limit đề xuất 30/10/10 req/phút; v1.1 chỉ link `ADR-015` (Service JWT); **§5/§8.2 CHƯA CÓ HIỆU LỰC** — Security chưa có người (`OQ-007`), `SEC` chưa có hiệu lực phủ quyết AG2; Ops/SRE chưa ký) | 🔴 | 2026-09-15 | | INF | `02-architecture/INF_e-commerce_v1.0.md` | 1.1 | 🟡 Draft (duyệt từng phần bản v1.0 — topology AWS `ap-southeast-1`, HA/auto-scaling, kế hoạch diễn tập DR 3 kịch bản, CI/CD blue-green; v1.1 chỉ link `ADR-016`/`ADR-017`; Security/Ops/SRE chưa ký) | 🔴 | 2026-09-15 | | FAIL | `02-architecture/FAIL_e-commerce_v1.0.md` | 1.1 | 🟡 Draft (duyệt từng phần bản v1.0 — 13 phụ thuộc `FM-01…13`, bảng mã lỗi §5, `FIT-16…22`; **`OQ-034` chọn Lựa chọn B** (bất đồng bộ hoá khởi tạo thanh toán) → `ADR-013`; v1.1 sửa nhất quán §1.2 theo `ADR-013`; Security/Ops chưa ký) | 🔴 | 2026-09-15 | | ADR-001…017 | `02-architecture/adr/ADR-001…017_*.md` | — | 17× `Proposed` — không ADR nào `Accepted` (thiếu chữ ký thật Tech Lead/Security/Ops; `ADR-005/006/009` radar ≥8 chờ `POC-01`/`POC-02`/diễn tập DR; `ADR-008`/`ADR-015` chặn cứng bởi `OQ-007`) | 🔴 | 2026-09-15 | ## Open Question đang mở *(Sổ đầy đủ tại `00-index/OQ_e-commerce.md` v1.25. Bảng dưới liệt kê **toàn bộ 59 OQ đang mở** — `OQ-001..063` trừ 4 câu đã đóng: `OQ-002`, `OQ-009`, `OQ-011`, `OQ-029`, xem "Open Question đã đóng" trong sổ gốc để biết nội dung/người trả lời.)* | ID | Nội dung ngắn | Hỏi ai | Chặn gì | |---|---|---|---| | OQ-001 | BA chưa ký G1 chính thức cho `BRIEF_CartCheckout` — chấp nhận `DRV` giữ Confidence 🔴 tiếp tục hay dừng? | PO sàn + BA | Nâng Confidence `CTX`; ký AG1 | | OQ-003 | Giữ phạm vi Toàn sàn hay thu hẹp về Giỏ hàng & Checkout? | PO sàn + Tech Lead | Khối lượng/độ tin cậy `OPT`/`TCO`/`ARISK` | | OQ-004 | Ngoại lệ gate `DEC-01` có cần PO sàn thật xác nhận lại bằng văn bản riêng? | PO sàn (người thật) | Tính hợp lệ mọi phê duyệt GĐ1/GĐ2 khi trình AG1/AG2 | | OQ-005 | Ngân sách hạ tầng/tháng + chi phí một lần đã duyệt là bao nhiêu? | PO/tài chính | `CON-01`; `TCO`; loại phương án `OPT` | | OQ-006 | Deadline dự án chính thức? (brief "~9-12 tháng" vs hồ sơ thầu "7 tháng" không khớp) | PO/PM | `CON-02`; kịch bản `OPT` | | OQ-007 | Ai là đại diện Pháp chế/Bảo mật xác nhận residency NĐ13/2023? `DAT §5`/`SEC §5,§8.2` là đề xuất CHƯA CÓ HIỆU LỰC tới khi có người | PO sàn (chỉ định người) | `CON-06`; `DAT`/`INF`; hiệu lực phủ quyết `SEC`; `ADR-008`/`ADR-015` `Accepted` | | OQ-008 | Đội vận hành sau go-live nội bộ hay thuê ngoài, quy mô? | PM/SRE | `CON-05`/`08`; `INF` | | OQ-010 | Tech Lead xác nhận đội thi công thật có kinh nghiệm production Kafka/MSK/OpenSearch/EKS? | Tech Lead | Rủi ro kỹ thuật `OPT`; `ARISK-05`; `ADR-001`/`ADR-005` `Accepted` | | OQ-012 | Chạy POC throughput SQS/EventBridge trước khi chốt P2, hay chấp nhận rủi ro tạm? | Tech Lead | `ADR` message backbone; `ARISK-01`/`POC-01` | | OQ-013 | Xác nhận đơn giá AWS `ap-southeast-1` thật (Pricing Calculator/báo giá) | Tech Lead/DevOps + tài chính | Độ tin cậy `TCO`; ngân sách `INF` | | OQ-014 | Biểu phí giao dịch VNPay/Momo thật + GMV dự kiến năm 1? | PO/tài chính | `TCO` (`NL-03`) | | OQ-015 | Biểu phí API GHN/GHTK theo hợp đồng thật? | PM | `TCO` (`NL-05`); `ARISK-04` | | OQ-016 | Nhà cung cấp Email/SMS cụ thể + biểu phí? | PM/Tech Lead | `TCO` (`NL-04`); `ARISK-10`; `ICD` | | OQ-017 | Báo giá pentest hàng năm + ASV scan hàng quý (SAQ A) thật? | PO/Security | `TCO` (`NL-07`) | | OQ-018 | Ngưỡng p95 `GET /v1/cart` — SA đề xuất ≤500ms | PO + Tech Lead | `QAS-003` baseline; `FIT` GĐ3 | | OQ-019 | Ngưỡng p95 `PATCH`/`DELETE /v1/cart/items` — SA đề xuất ≤300ms | PO + Tech Lead | `QAS-004` baseline; `FIT` GĐ3 | | OQ-020 | Cửa sổ bảo trì loại trừ ngân sách lỗi — SA đề xuất ≤2 giờ/tháng | PO | `QAS-007`; chính sách release `INF` | | OQ-021 | Tần suất job đối soát thanh toán — SA đề xuất ≤15 phút/lần | Tech Lead | `QAS-014`; `DAT`/`INF` | | OQ-022 | Lịch diễn tập DR đầu tiên — **điều kiện tiên quyết ký AG2** đã chốt (`DEC-12`), ngày thật chờ Ops/SRE (nối `OQ-056`) | Ops/SRE | `QAS-008`; điều kiện AG2 | | OQ-023 | Ngưỡng rate limit Guest cart — SEC đề xuất 30 req/phút theo `session_id` + 60 req/phút theo IP, không tự quyết thay Security | Tech Lead + Security | Hoạt động `sec`/`icd`; `NFR-SEC-03` (BA) | | OQ-024 | Phương thức MFA Admin — chốt TẠM TOTP app (`ASM-20`), chưa xác nhận thật | Tech Lead + Security | `ASR-009`; `SEC` | | OQ-025 | Dịch nội dung seller sang 5 ngôn ngữ ở MVP? — chốt TẠM không dịch (`ASM-21`) | PO + Tech Lead | `ASR-015`; `DAT` | | OQ-026 | Số ECS service thật cho 2 nhóm triển khai — chốt TẠM 2 service riêng (`ASM-23`, nối `OQ-055`) | Tech Lead + Ops/SRE | `SAD §7`; `ADR-012` | | OQ-027 | Identity & Access thuộc nhóm nào — chốt TẠM Nhóm Giao dịch (`ASM-22`) | Tech Lead | `CMP-02`; `ADR-012` | | OQ-028 | `IF-021` in-process hay cross-network? — chốt TẠM cross-network (`ASM-24`) | Tech Lead | `ICD §3.6`; `FAIL`; `QAS-002` | | OQ-030 | Xác nhận schema sự kiện `OrderPlaced`/`PaymentConfirmed` + `IF-006` nhận `sellerId` — chốt TẠM chấp nhận (`ASM-26`) | Tech Lead | Thi công Cart&Order/Payment; `DAT` | | OQ-031 | Tên header correlation id — đề xuất `X-Request-Id` | Tech Lead | Chuẩn hoá observability | | OQ-032 (SA) | Chiều gọi `IF-022` — chốt TẠM Cart&Order → Seller Mgmt (`ASM-25`) | Tech Lead | `ICD §3.7`; denormalize `sellerName` | | OQ-033 (SA) | Denormalize `sellerName` vào `CartItem`? — chốt TẠM chấp nhận | Tech Lead + DBA | `DAT`; `QAS-003` | | OQ-034 | Ngân sách timeout checkout vượt `QAS-002` — **đã chọn Lựa chọn B** (bất đồng bộ hoá khởi tạo thanh toán), đã viết `ADR-013`, chờ Tech Lead + PO **thật** xác nhận | Tech Lead + PO | `ADR-013` `Accepted`; `SRS`/`AC` US-004 (BA); `ICD` polling | | OQ-035 | Ngưỡng circuit breaker `FM-01/02/03/04/12/13` — chốt TẠM đề xuất SA | Tech Lead + SRE | Cấu hình thi công; `FIT-19/20/21` | | OQ-036 | DLQ retention 14 ngày + cảnh báo lag >5 phút — chốt TẠM | Tech Lead + SRE | `INF` retention/alerting | | OQ-037 | Kích thước bulkhead (connection pool) — chờ `POC-02` (nối `OQ-061`) | DBA + Tech Lead | Cấu hình pool thi công | | OQ-038 | Giữ transaction DB mở xuyên `IF-006`/`007/008`? + 3 mã lỗi mới US-004 chưa có trong `SRS` | Tech Lead + BA | `SAD §6.1`; `SRS`/`AC` US-004 | | OQ-039 | SLA xử lý thủ công khi GHN+GHTK cùng lỗi? | PO + Ops | Runbook vận hành GĐ3 | | OQ-040 | Cache nội dung `Cart` cho fallback RDS chậm? — SA nghiêng Phương án B (cache-aside); mã lỗi `E-CART-0007` | Tech Lead | `DAT`/`INF` cache strategy; mã lỗi `SRS` | | OQ-041 | Cơ chế FE lấy `redirectUrl` — chốt TẠM polling, hay SSE/WebSocket? | Tech Lead (+ FE) | Contract endpoint `ICD` lượt sau; thiết kế FE US-004 | | OQ-042 | Ngưỡng job dọn `Order` kẹt `PENDING_PAYMENT_INIT` — chốt TẠM 5 phút | Tech Lead | Thiết kế job quét `dat`/`inf` | | OQ-043 | 1 `Order` = 1 `Payment` hay tách theo `OrderSeller`? | Tech Lead + PO | Mô hình `payment.order_id`; `IF-006` | | OQ-044 | Transactional Outbox (chốt TẠM, đã viết `ADR-014`) hay job quét đơn giản? | Tech Lead | `ADR-014` `Accepted`; thiết kế relay `INF` | | OQ-045 | Công cụ migration schema — Flyway hay Liquibase? | Tech Lead | CI/CD; rollback schema | | OQ-046 | Đọc `Cart`/`Order` route sang read replica hay luôn primary? — SA đề xuất chỉ Catalog dùng replica | Tech Lead | Cấu hình routing `INF`; độ tươi dữ liệu | | OQ-047 | Kiến trúc audit trail — chốt TẠM (a) mỗi module tự ghi, không thêm `CMP-16` | Tech Lead + Security | Danh sách `CMP`; `ADR-001` nếu đổi hướng | | OQ-048 | VNPay/Momo hỗ trợ redirect thuần (giữ phạm vi SAQ A)? | Tech Lead + Security | `SEC §8.1`; `ADR-002` | | OQ-049 | Cơ chế chữ ký/HMAC webhook cụ thể của 4 đối tác? | Tech Lead | `THR-17`/`22`; kiểm chứng `ADR-004` | | OQ-050 | PA-3 service JWT (chốt TẠM, đã viết `ADR-015`) hay PA-2 mTLS? | Tech Lead + Security + Ops/SRE | `ADR-015` `Accepted`; `INF` TB3/TB4; `THR-09`/`13` | | OQ-051 | Số cụ thể Customer JWT TTL/refresh/thu hồi/rotation | Tech Lead | Thiết kế `CMP-02` | | OQ-052 | Ngưỡng account lockout theo vai trò + rate-limit login | Tech Lead + Security | `THR-28`/`31`; `CMP-02` | | OQ-053 | 3 trường whitelist chia sẻ seller hiển thị đầy đủ hay che một phần? | Security/Legal + PO | `DAT §5.2`; UI đơn hàng Seller | | OQ-054 | Cross-region snapshot Payment (`TCO`) mâu thuẫn `ADR-009` (không multi-region)? | Tech Lead + Ops/SRE + PO | `INF §5.2` đối chiếu `TCO`; `ADR-009` | | OQ-055 | Split ECS task GD/HT (A 2/2, B 6/4) + ngưỡng auto-scaling — nối `OQ-026` | Tech Lead + Ops/SRE | `INF §4.2`; Terraform GĐ3 | | OQ-056 | Lịch diễn tập DR thật (3 kịch bản) — nối `OQ-022` | Ops/SRE | Điều kiện tiên quyết ký AG2 | | OQ-057 | IP allowlist đối tác ngoài? | Tech Lead | `INF §8.3`; phối hợp đối tác | | OQ-058 | ElastiCache SPOF kịch bản A — chốt TẠM giữ nguyên (không thêm replica), đánh đổi thuộc PO | PO + Ops/SRE | `INF §4.3`; cấu hình GĐ3 | | OQ-059 | Retention log/backup + tỉ lệ sample X-Ray | Tech Lead + Ops/SRE | `INF §5.2`/`§6.1`; chi phí lưu trữ | | OQ-060 | Công cụ IaC (chốt TẠM Terraform, đã viết `ADR-017`) + ngưỡng coverage test | Tech Lead | `ADR-017` `Accepted`; `INF §7.1` | | OQ-061 | Kích thước connection pool RDS/HTTP — chờ `POC-02` — nối `OQ-037` | DBA + Tech Lead | Cấu hình RDS thật GĐ3 | | OQ-062 | Non-prod tách VPC riêng hay account riêng? | Tech Lead + Ops/SRE | `INF §2`/`§3` | | OQ-063 | Đội Ops/SRE thật (nội bộ/thuê ngoài, quy mô) — nối `OQ-008` | PM/SRE | `INF §5.4`/`§6.5`; on-call; tần suất diễn tập DR | ## Sổ quyết định (`DEC`) — tóm tắt DEC-01..31 *(Nội dung đầy đủ tại `00-index/DEC_e-commerce.md` v1.29. Toàn bộ 31 `DEC` đều gắn ngoại lệ gate `DEC-01` (dự án chạy thử, Điều phối dự án ký thay PO/Tech Lead) — không phải chữ ký thật.)* | ID | Việc chính | Ngày | |---|---|---| | DEC-01 | Ngoại lệ gate — chạy `sa-1-context` khi BA chưa qua G1 | 2026-09-12 | | DEC-02 | Giả định tạm "team MVP chuẩn" cho `CON` nhóm Con người | 2026-09-12 | | DEC-03 | Tiếp tục ngoại lệ gate sang Bước 2 (Ràng buộc) | 2026-09-12 | | DEC-04 | Đóng `OQ-009` — `SAD.md`/hồ sơ thầu làm điểm khởi đầu tham khảo cho `OPT`, có điều kiện | 2026-09-12 | | DEC-05 | Tiếp tục ngoại lệ gate sang Bước 4 (Phương án) | 2026-09-12 | | DEC-06 | Chọn **P2** làm hướng đi tạm cho GĐ2, điều kiện `OQ-010`/`OQ-012` — đã trả nợ bằng `ADR-001` | 2026-09-12 | | DEC-07 | Tiếp tục ngoại lệ gate sang Bước 5, phần `TCO` | 2026-09-12 | | DEC-08 | Tiếp tục ngoại lệ gate sang Bước 5, phần `ARISK` | 2026-09-12 | | DEC-09 | Duyệt từng phần `TCO` v1.1 | 2026-09-12 | | DEC-10 | Duyệt từng phần `ARISK` v1.0 | 2026-09-12 | | DEC-11 | Bắt đầu hoạt động `QAS` (GĐ2) dù AG1 chưa ký thật | 2026-09-14 | | DEC-12 | Duyệt từng phần `QAS` v1.0 — chốt diễn tập DR là điều kiện tiên quyết AG2 | 2026-09-14 | | DEC-13 | Bắt đầu hoạt động `ASR` | 2026-09-14 | | DEC-14 | Duyệt từng phần `ASR` v1.0 (15 `ASR` + 12 `ADR` ứng viên) | 2026-09-15 | | DEC-15 | Bắt đầu hoạt động `SAD` | 2026-09-15 | | DEC-16 | Duyệt từng phần `SAD` v1.0 | 2026-09-15 | | DEC-17 | Bắt đầu hoạt động `adr` — viết đủ `ADR-001…012` | 2026-09-15 | | DEC-18 | Bắt đầu hoạt động `ICD` | 2026-09-15 | | DEC-19 | Duyệt từng phần `ICD` v1.0 (17 `IF-nn`) | 2026-09-15 | | DEC-20 | Sửa lỗi nhất quán `SAD` (đếm `IF-nn` 22→17, đóng `OQ-029`) lên v1.2 | 2026-09-15 | | DEC-21 | Bắt đầu hoạt động `FAIL` | 2026-09-15 | | DEC-22 | Duyệt từng phần `FAIL` v1.0 — chọn Lựa chọn B cho `OQ-034` | 2026-09-15 | | DEC-23 | Viết `ADR-013` (bất đồng bộ hoá khởi tạo thanh toán) + sửa `SAD` lên v1.3, `FAIL` lên v1.1 | 2026-09-15 | | DEC-24 | Bắt đầu hoạt động `DAT` | 2026-09-15 | | DEC-25 | Duyệt từng phần `DAT` v1.0 — chốt TẠM Outbox/audit (a)/5 phút/polling | 2026-09-15 | | DEC-26 | Review nội dung `ADR-013` — giữ `Proposed` | 2026-09-15 | | DEC-27 | Bắt đầu hoạt động `SEC` | 2026-09-15 | | DEC-28 | Duyệt từng phần `SEC` v1.0 — chốt TẠM PA-3 cho `OQ-050` | 2026-09-15 | | DEC-29 | Bắt đầu hoạt động `INF` | 2026-09-15 | | DEC-30 | Duyệt từng phần `INF` v1.0 — chốt TẠM giữ nguyên `TCO` (không thêm replica) cho `OQ-058` | 2026-09-15 | | DEC-31 | Viết `ADR-014`/`015`/`016`/`017`, link vào `DAT`/`SEC`/`INF` (mỗi file `+0.1`, chỉ link) | 2026-09-15 | ## Rủi ro kiến trúc mức cao đang mở *(6/10 rủi ro mức 🔴 Cao trong sổ `01-context/ARISK_e-commerce_v1.0.md` §1/§3; 3 mức 🟠 Trung bình + 1 mức 🟡 Thấp không liệt kê ở đây, xem sổ đầy đủ.)* | ID | Rủi ro | Chủ | Cách hạ | Hạn | |---|---|---|---|---| | ARISK-01 | SQS/EventBridge chưa đo throughput thật cho `OrderPlaced`/`PaymentConfirmed` ở tải đỉnh flash sale | Tech Lead | `POC-01` (chưa chạy) — throughput ≥100 msg/s, p99 ≤2s, 0 mất message | Trước `ADR-005` chuyển `Accepted` (`OQ-012`) | | ARISK-02 | 1 cụm RDS chính chưa đo tải ghi/đọc gộp cho toàn bộ module ngoài Payment | Tech Lead/DBA | `POC-02` (chưa chạy) — p95 write ≤300ms, p95 read ≤200ms, CPU <75% | Trước `ADR-006` chuyển `Accepted` | | ARISK-03 | VNPay/Momo chưa sandbox/hợp đồng thật; webhook xác nhận thanh toán chưa xác minh gần thời gian thực | Tech Lead + PO | Đàm phán sandbox sớm; job đối soát bù (`FAIL`/`DAT`, cần xác minh lại) | Trước GĐ2 kết thúc (`ICD`) | | ARISK-05 | Đội thi công thật chưa xác nhận kinh nghiệm production Kafka/MSK/OpenSearch/EKS (`OQ-010`) | Tech Lead | Xác nhận năng lực đội thật; thuê chuyên gia tư vấn nếu `POC-01` fail | Trước khi chốt `ADR-001`/`ADR-005` `Accepted` | | ARISK-06 | Chia sẻ PII cho seller khi tách đơn chưa rà soát theo NĐ13/2023; residency chưa xác nhận | PO (chỉ định người) → Legal/Security | PO chỉ định đại diện Pháp chế (`OQ-007`); `DAT §5`/`SEC §5,§8.2` đã chuẩn bị đề xuất — **CHƯA CÓ HIỆU LỰC**, chờ Legal/Security phủ quyết | Trước `ADR-008`/`ADR-015` `Accepted`, chậm nhất trước go-live | | ARISK-07 | Ngân sách vận hành 3 năm thật (11,2–19,1 tỷ VND tuỳ phương án) chưa được PO/tài chính xác nhận khả năng chi trả | PO/tài chính | Trình `TCO` đầy đủ (đã lập); nếu ngân sách thấp hơn — dùng P2 làm phương án cắt giảm | Trước khi ký AG1 | ## Ghi chú khởi tạo - Cây thư mục `01-context/`, `02-architecture/adr/`, `03-enablement/`, `04-evolution/` được tạo bởi skill giai đoạn tương ứng khi có artifact đầu tiên. `03-enablement/` và `04-evolution/` **chưa được tạo** — GĐ3/GĐ4 chưa bắt đầu. - Dự án e-commerce là "dự án chạy thử": gate SA/BA đang chạy bằng các ngoại lệ `DEC-01..31` (SA) và `DEC-02..07` (BA), không có Designer, PO ký thay. Mọi phê duyệt hiện tại là "PO/Tech Lead uỷ quyền — Điều phối dự án", **không phải chữ ký PO/Tech Lead/Security/Ops-SRE thật** (`OQ-004`). - `sa-conformance` nên rà lại độc lập ở lần đồng bộ kế tiếp — `ADL`/`DTM` đã được cập nhật bởi `sa-2-architecture` (hoạt động `adr`, `DEC-31`) khi ghi 4 ADR cuối, chưa qua `sa-conformance` độc lập xác nhận coverage. - Trạng thái đồng bộ với bộ BA: `ba-output/e-commerce/00-index/INDEX_e-commerce.md` — đối chiếu `NFR↔QAS`, `API↔ICD`, `RBAC↔SEC`, `BR↔ADR` xem `DTM §8` (Đối chiếu chéo với bộ BA).